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

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

Игрушка классная, сразу к делу. Нашёл инстр. отвечающую за патроны и энергию всех в тч.меня (других нет)

И вот я не могу найти грёбаный указатель на мои жизни и патроны. Ищу 02abc700 в hex и результат 0 :mad:. Как мне его найти?

post-2842-1310119512,3_thumb.jpg

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

Игрушка классная, сразу к делу. Нашёл инстр. отвечающую за патроны и энергию всех в тч.меня (других нет)

И вот я не могу найти грёбаный указатель на мои жизни и патроны. Ищу 02abc700 в hex и результат 0 :mad:. Как мне его найти?

зачем сразу указатель

попробуй поискать различия в своей и пары чужих структур

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

по итогу тебе надо сравнить [eax+124] c нулём

скрипт выйдет такой

[ENABLE]

alloc(newmem,2048) //2kb should be enough

label(returnhere)

label(originalcode)

label(exit)

newmem:

cmp [eax+124],0

jne short originalcode

mov dword ptr [eax+00000088],#255

originalcode:

mov ecx,[eax+00000088]

exit:

jmp returnhere

"WormsReloaded.exe"+51820:

jmp newmem

nop

returnhere:

[DISABLE]

dealloc(newmem)

"WormsReloaded.exe"+51820:

mov ecx,[eax+00000088]

post-13-1310137301,32_thumb.jpg

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

А если у меня без смещения ([edx]), не писать ничего? 123456-хх?

если смещения нету то и минусовать ни чего не надо

за исключением случаев типа [eax+esi*4] если esi=0 то не надо а если esi=4 то 4 умножить на 4 =16 то и минусовать надо 16

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

Я совсем уже запутался. Всё сделал но не вылета, не результата :ninja::angry:

Скрипт:

[ENABLE]
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)


newmem:
cmp [edx+00000210],1
jne short originalcode
mov dword ptr [eax+0000031c],#999

originalcode:
mov eax,[esi+0000031c]

exit:
jmp returnhere

038B0013:
jmp newmem
nop
returnhere:

[DISABLE]
dealloc(newmem)
038B0013:
mov eax,[esi+0000031c]
//Alt: db 8B 86 1C 03 00 00

У кого какие соображения? Мне кажется косяк в скрипте

post-2842-1310150664,78_thumb.jpg

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

Izmalkoff, давай я не буду гадать, а просто буду учить как проверять свои скрипты.

1) Перед активацией скрипта (игра должна быть в оконном режиме), надо зайти по адресу 038B0013 в дизассемблер.

2) Нужно выделить инструкцию левым кликом мышки с которой будет переход на инструкцию по адресу 038B0013

3) Нажать на F5 чтобы поставить бряк на выполнение (чтобы снять нажать ещё раз)

4) Зайти в игру и что-то сделать, чтобы игра прервалась в отладчике

5) Затем выполняешь отладку по шагам c заходом в call и смотришь за регистрами (кнопки F7 шаг с заходом в call, F8 - шаг без захода в call), Таким образом ты определишь что в регистрах сранивается, что не сравнивается, почему выполняются или не выполняются прыжки.

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

Я совсем уже запутался. Всё сделал но не вылета, не результата :ninja::angry:

Скрипт:

[ENABLE]
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)


newmem:
cmp [EAX+00000210],1
jne short originalcode
mov dword ptr [eax+0000031c],#999

originalcode:
mov eax,[esi+0000031c]

exit:
jmp returnhere

038B0013:
jmp newmem
nop
returnhere:

[DISABLE]
dealloc(newmem)
038B0013:
mov eax,[esi+0000031c]
//Alt: db 8B 86 1C 03 00 00

У кого какие соображения? Мне кажется косяк в скрипте

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

Вот точный скрипт:

[ENABLE]
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)


newmem:
cmp [edx+00000210],1
jne short originalcode
mov dword ptr eax,#99// Error in line 11, при mov dword ptr [edi],#99 вылет
originalcode:
mov [edi],eax
mov edi,eax
mov eax,[esp+14]

exit:
jmp returnhere

101337F4:
jmp newmem
nop
nop
nop
returnhere:

[DISABLE]
dealloc(newmem)
101337F4:
mov [edi],eax
mov edi,eax
mov eax,[esp+14]
//Alt: db 89 07 8B F8 8B 44 24 14

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

Увы для меня 5ый шаг сложен

Надо учиться, потому что без этого ты вынужден просчитывать в уме все возможные ошибки. Даже больше скажу в сложных ситуациях лучше это делать в OllyDbg, когда отладчик в CE не подключен, но может включать скрипты.

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

Справился:

[ENABLE]
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)

newmem:
cmp [esi+0000038c],0
jne short originalcode
mov eax,#999
originalcode:
mov [edi],eax
mov edi,eax
mov eax,[esp+14]
exit:
jmp returnhere

101337F4:
jmp newmem
nop
nop
nop
returnhere:

[DISABLE]
dealloc(newmem)
101337F4:
mov [edi],eax
mov edi,eax
mov eax,[esp+14]
//Alt: db 89 07 8B F8 8B 44 24 14

Всем спасибо за помощь

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

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

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

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