Перейти к содержанию

Train ME by Coder, для очень продвинутых гейм хакеров


Coder

Рекомендуемые сообщения

как я понял нужно сделать так, чтобы набралось определенное число объектов, а потом, при снятии скрипта, все должно адекватно уменьшаться с чередованием звуков... или я не так думаю :-D

Ссылка на комментарий
Поделиться на другие сайты

Пропатченный вариант. :)

PS: Мне сейчас лень делать скрипт. :D

Программа вылетела после 1-го же нажатия.

Статичный адрес, замораживаем или пишем скрипт вот и всЁ :)


TrainME.exe+4110

Что-то непонятное сделал, но всё же взломал, причём без всяких там сложностей :)

За такое обходное решение даю оценку взлому: 4 из 5 баллов.

Что ж буду фиксить "лёгкий" путь.

как я понял нужно сделать так, чтобы набралось определенное число объектов, а потом, при снятии скрипта, все должно адекватно уменьшаться с чередованием звуков... или я не так думаю :-D

Нет чередования звкуков :) Я просто сделал экземпляры класса чередованием звуков.

Про объекты ты абсолютно прав.

P.S. у меня одного вылетает патченная прога от армандо?

Ссылка на комментарий
Поделиться на другие сайты

Как я понял, это из за винды 7/8, так как на ХР все нормально.

Ладно, тем не менее Perfect Hack для версии 1.3 всё ещё не появился.

Вся надежда на снэда.

Патч 1.4 будет скоро, однако должен подметить что от версии 1.3 отличаться мало чем будет.

Ссылка на комментарий
Поделиться на другие сайты

Ладно, тем не менее Perfect Hack для версии 1.3 всё ещё не появился.

Вся надежда на снэда.

Патч 1.4 будет скоро, однако должен подметить что от версии 1.3 отличаться мало чем будет.

Нужен Perfect Hack, будет перфект хак 8-)

мда, SnedS91 скромничает.

Ссылка на комментарий
Поделиться на другие сайты

Нужен Perfect Hack, будет перфект хак 8-)

мда, SnedS91 скромничает.

Вышла 1.4, теперь вроде бы того косяка нет, пробуй ломать тем же алгоритмом, что и 1.3

Ссылка на комментарий
Поделиться на другие сайты

Пока скрипт

Для версии 1.3


[ENABLE]
alloc(newmem,2048) //2kb should be enough
label(returnhere)
label(originalcode)
label(exit)
newmem:
push [TrainME.exe+410c]
pop [TrainME.exe+4110]
originalcode:
mov eax,[TrainME.exe+4110]
exit:
jmp returnhere
"TrainME.exe"+1557:
jmp newmem
returnhere:
[DISABLE]
"TrainME.exe"+1557:
mov eax,[TrainME.exe+4110]
dealloc(newmem)
//Alt: db A1 10 41 21 01

v1.4

В общем адрес тот же TrainME.exe+4110 делаем значение 999, работает но тока без звука :)

Ссылка на комментарий
Поделиться на другие сайты

Почему то ни чё не видать

Думаю проблема в ОС, ты запускаешь на WinXP, Автор программирует и публикует на Win8 (Скрин на 1_посту) выдать есть какая то ошибка в коде.

Ссылка на комментарий
Поделиться на другие сайты

Думаю проблема в ОС, ты запускаешь на WinXP, Автор программирует и публикует на Win8 (Скрин на 1_посту) выдать есть какая то ошибка в коде.

Да там шаблон создания окна с MSDN, ошибка в коде исключена.

Ссылка на комментарий
Поделиться на другие сайты

Чисто так проверил :)

В общем запустил на ХР, ошибка.

post-1568-0-53262600-1349971668_thumb.jp

Ребят.

Выход есть :) в свойствах трейнми меняем совместимость на любой ОС и всё будет работать. (Я поставил на Win95) :lol::D

post-1568-0-72793700-1349972802_thumb.jp

coder респект.

Ссылка на комментарий
Поделиться на другие сайты

Вот, что нарыл по версии 1.4:

1) Тут стоит какая то защита на количество объектов: можно создать не более 24 объектов, исправляется скриптом:


[ENABLE]
TrainME.exe+147C:
mov eax,[TrainME.exe+4110]
nop
nop

TrainME.exe+14C9:
mov edx,[TrainME.exe+4110]
nop

TrainME.exe+1502:
mov edx,[TrainME.exe+4110]
nop

[DISABLE]
TrainME.exe+147C:
db 8B C2 C1 E8 1F 03 C2

TrainME.exe+14C9:
db C1 E9 1F 8D 54 11 FF

TrainME.exe+1502:
db C1 E9 1F 8D 54 11 FF

2) Сам скрипт, создающий 100 объектов:


[ENABLE]
alloc(newMem, 512)
label(exit)
label(skip)
label(createObj)
label(m1)
label(m2)
newMem:
pushfd
pushad
push [ebp+10]
mov eax,[TrainME.exe+4110]
mov ebx,#100
sub ebx,eax
mov eax,ebx
cmp eax,0
jl short skip
call createObj
skip:
pop [ebp+10]
popad
popfd
//-----Original-code------
call TrainME.exe+1730
//------------------------
jmp exit
createObj:
pushad
push 20
call TrainME.exe+16C9
push 14
call TrainME.exe+1730
xor esi,esi
add esp,08
cmp eax,esi
je m1
fld dword ptr [TrainME.exe+3178]
inc byte ptr [eax+04]
fstp dword ptr [eax+0C]
mov [eax+08],edi
mov [eax],TrainME.exe+31A0
mov [eax+10],esi //тип звукового сигнала: esi - дзынь, 10 - ошибка
jmp m2
m1:
xor eax,eax
m2:
lea ecx,[ebp+10]
push ecx
mov ecx,TrainME.exe+410C
mov [ebp+10],eax
call TrainME.exe+1160
popad
dec eax
cmp eax,0
jge createObj
ret

TrainME.exe+1457:
jmp newMem
exit:

[DISABLE]
TrainME.exe+1457:
call TrainME.exe+1730
dealloc(newMem)
unregistersymbol(address)

Ссылка на комментарий
Поделиться на другие сайты

Защита стоит, но внутри памяти можно сделать патроны +999 но не выводит на экран если сделать обычным способом (типа ноп). Но все равно ребята взломали :)

На счет твоего скрипта Молодец. наверное то что хотел coder

Ссылка на комментарий
Поделиться на другие сайты

а на 1.3 выкладывать не стоит наверное - там практически то же самое, отличие только в получении количества объектов

Вот то что нужно! Оценка взлома 5 из 5 баллов.

Но ничего, скоро будет версия 1.5! :)

Ссылка на комментарий
Поделиться на другие сайты

Вдохновился идеей Кодера, накидал легкий трейнми, интересно, как быстро его поломаете )

Задача

Сделать 200 патронов и чтобы они не уменьшались, и чтобы после 10 "выстрелов" не вылетала прога ))

Можно сколько угодно раз делать перезагрузку, кстати, при перезагрузке, количество патронов тоже должно быть равно 200.

Решается за три минуты, если честно ) Плюс в репу тому, кто первым поломает по условиям задачи, гарантирован.

hooktest.rar

Ссылка на комментарий
Поделиться на другие сайты

Пока смог тока +98, не уменьшается и не вылетает прога.

Глаза слезятся. :)


[ENABLE]
aobscan(_faddress,89xxffxxxxxxxxxxffxx33xx83xxxx39xx7exx8dxxxxxxxxxx8bxxxx8b)
alloc(_newmem,2048)
label(_returnhere)
label(_originalcode)
_newmem:
mov eax,#99
mov edi,#99
_originalcode:
mov [ebx],eax
call dword ptr [hooktest.exe+20a4]
jmp _returnhere
_faddress: // 00FE1177 = hooktest.exe+1177
jmp _newmem
nop
nop
nop
_returnhere:

[DISABLE]
aobscan(_faddress,909090ffxx33xx83xxxx39xx7exx8dxxxxxxxxxx8bxxxx8b)
_faddress-5:
mov [ebx],eax
call dword ptr [hooktest.exe+20a4]
dealloc(_newmem)

Ссылка на комментарий
Поделиться на другие сайты

Вдохновился идеей Кодера, накидал легкий трейнми, интересно, как быстро его поломаете )

Задача

Сделать 200 патронов и чтобы они не уменьшались, и чтобы после 10 "выстрелов" не вылетала прога ))

Можно сколько угодно раз делать перезагрузку, кстати, при перезагрузке, количество патронов тоже должно быть равно 200.

Решается за три минуты, если честно ) Плюс в репу тому, кто первым поломает по условиям задачи, гарантирован.

hooktest.rar

вот скрипт ;) (сломал где то за 15 минут):


[ENABLE]
//выделение памяти
hooktest.exe+1045:
push 00000320
hooktest.exe+10F6:
push 00000320
hooktest.exe+11CB:
push 00000320

//нужное число объектов, умноженное на 4
hooktest.exe+1138:
cmp edi,00000320

//убрать ограничение в 100 объектов
hooktest.exe+11F1:
db 90 90

//отключить уменьшение количества предметов
hooktest.exe+11B2:
db 90 90

[DISABLE]
hooktest.exe+1045:
push 00000190
hooktest.exe+10F6:
push 00000190
hooktest.exe+11CB:
push 00000190
hooktest.exe+1138:
cmp edi,0000018C
hooktest.exe+11F1:
jg hooktest.exe+1227
hooktest.exe+11B2:
dec [ebx]

В дополнение к версии 1.4 Coder'а дописал функцию createObj, теперь звуки будут чередоваться :-D

(нужно еще объявить метки z1 и z2)


createObj:
pushad
push 20
call TrainME.exe+16C9
push 14
mov ebx,eax
call TrainME.exe+1730
xor esi,esi
add esp,08
cmp eax,esi
je m1
fld dword ptr [TrainME.exe+3178]
inc byte ptr [eax+04]
fstp dword ptr [eax+0C]
mov [eax+08],edi
mov [eax],TrainME.exe+31A0
mov ebx,[TrainME.exe+4110]
test ebx,1
jpe z1
mov [eax+10],esi
jmp z2
z1:
mov [eax+10],10
z2:
jmp m2
m1:
xor eax,eax
m2:
lea ecx,[ebp+10]
push ecx
mov ecx,TrainME.exe+410C
mov [ebp+10],eax
call TrainME.exe+1160
popad
dec eax
cmp eax,0
jge createObj
ret

  • Плюс 2
Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.