Ac1d Опубликовано 8 июля, 2011 Поделиться Опубликовано 8 июля, 2011 Игрушка классная, сразу к делу. Нашёл инстр. отвечающую за патроны и энергию всех в тч.меня (других нет)И вот я не могу найти грёбаный указатель на мои жизни и патроны. Ищу 02abc700 в hex и результат 0 . Как мне его найти? Ссылка на комментарий Поделиться на другие сайты Поделиться
JIeXA Опубликовано 8 июля, 2011 Поделиться Опубликовано 8 июля, 2011 Игрушка классная, сразу к делу. Нашёл инстр. отвечающую за патроны и энергию всех в тч.меня (других нет)И вот я не могу найти грёбаный указатель на мои жизни и патроны. Ищу 02abc700 в hex и результат 0 . Как мне его найти?зачем сразу указательпопробуй поискать различия в своей и пары чужих структур Ссылка на комментарий Поделиться на другие сайты Поделиться
Ac1d Опубликовано 8 июля, 2011 Автор Поделиться Опубликовано 8 июля, 2011 Я не умею Ссылка на комментарий Поделиться на другие сайты Поделиться
Ac1d Опубликовано 8 июля, 2011 Автор Поделиться Опубликовано 8 июля, 2011 Если ты про Dissect memory, то знаю как, но как находить различия не умею Ссылка на комментарий Поделиться на другие сайты Поделиться
JIeXA Опубликовано 8 июля, 2011 Поделиться Опубликовано 8 июля, 2011 по итогу тебе надо сравнить [eax+124] c нулёмскрипт выйдет такой[ENABLE]alloc(newmem,2048) //2kb should be enoughlabel(returnhere)label(originalcode)label(exit)newmem:cmp [eax+124],0jne short originalcodemov dword ptr [eax+00000088],#255originalcode:mov ecx,[eax+00000088]exit:jmp returnhere"WormsReloaded.exe"+51820:jmp newmemnopreturnhere:[DISABLE]dealloc(newmem)"WormsReloaded.exe"+51820:mov ecx,[eax+00000088] Ссылка на комментарий Поделиться на другие сайты Поделиться
Ac1d Опубликовано 8 июля, 2011 Автор Поделиться Опубликовано 8 июля, 2011 А если у меня без смещения ([edx]), не писать ничего? 123456-хх? Ссылка на комментарий Поделиться на другие сайты Поделиться
JIeXA Опубликовано 8 июля, 2011 Поделиться Опубликовано 8 июля, 2011 А если у меня без смещения ([edx]), не писать ничего? 123456-хх?если смещения нету то и минусовать ни чего не надоза исключением случаев типа [eax+esi*4] если esi=0 то не надо а если esi=4 то 4 умножить на 4 =16 то и минусовать надо 16 Ссылка на комментарий Поделиться на другие сайты Поделиться
Ac1d Опубликовано 8 июля, 2011 Автор Поделиться Опубликовано 8 июля, 2011 Мне короче надо 99 патронов и жизней. Взять можно мои жизни и 2х врагов. Далее сравнить что с чем? Ссылка на комментарий Поделиться на другие сайты Поделиться
JIeXA Опубликовано 8 июля, 2011 Поделиться Опубликовано 8 июля, 2011 прочитай и посмотри видео вдумчиво раз 100http://translate.google.ru/translate?hl=ru&ie=UTF8&prev=_t&sl=en&tl=ru&u=http://www.szemelyesintegracio.hu/cheats/41-game-hacking-articles/230-dissect-data-structures Ссылка на комментарий Поделиться на другие сайты Поделиться
Ac1d Опубликовано 8 июля, 2011 Автор Поделиться Опубликовано 8 июля, 2011 Хорошо Ссылка на комментарий Поделиться на другие сайты Поделиться
Ac1d Опубликовано 8 июля, 2011 Автор Поделиться Опубликовано 8 июля, 2011 Я совсем уже запутался. Всё сделал но не вылета, не результата Скрипт:[ENABLE]alloc(newmem,2048)label(returnhere)label(originalcode)label(exit)newmem: cmp [edx+00000210],1jne short originalcodemov dword ptr [eax+0000031c],#999originalcode:mov eax,[esi+0000031c]exit:jmp returnhere038B0013:jmp newmemnopreturnhere: [DISABLE]dealloc(newmem)038B0013:mov eax,[esi+0000031c]//Alt: db 8B 86 1C 03 00 00У кого какие соображения? Мне кажется косяк в скрипте Ссылка на комментарий Поделиться на другие сайты Поделиться
Ac1d Опубликовано 9 июля, 2011 Автор Поделиться Опубликовано 9 июля, 2011 Мастер, без тебя никак Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 9 июля, 2011 Поделиться Опубликовано 9 июля, 2011 Izmalkoff, давай я не буду гадать, а просто буду учить как проверять свои скрипты.1) Перед активацией скрипта (игра должна быть в оконном режиме), надо зайти по адресу 038B0013 в дизассемблер.2) Нужно выделить инструкцию левым кликом мышки с которой будет переход на инструкцию по адресу 038B00133) Нажать на F5 чтобы поставить бряк на выполнение (чтобы снять нажать ещё раз)4) Зайти в игру и что-то сделать, чтобы игра прервалась в отладчике5) Затем выполняешь отладку по шагам c заходом в call и смотришь за регистрами (кнопки F7 шаг с заходом в call, F8 - шаг без захода в call), Таким образом ты определишь что в регистрах сранивается, что не сравнивается, почему выполняются или не выполняются прыжки. Ссылка на комментарий Поделиться на другие сайты Поделиться
JIeXA Опубликовано 9 июля, 2011 Поделиться Опубликовано 9 июля, 2011 Я совсем уже запутался. Всё сделал но не вылета, не результата Скрипт:[ENABLE]alloc(newmem,2048)label(returnhere)label(originalcode)label(exit)newmem: cmp [EAX+00000210],1jne short originalcodemov dword ptr [eax+0000031c],#999originalcode:mov eax,[esi+0000031c]exit:jmp returnhere038B0013:jmp newmemnopreturnhere: [DISABLE]dealloc(newmem)038B0013:mov eax,[esi+0000031c]//Alt: db 8B 86 1C 03 00 00У кого какие соображения? Мне кажется косяк в скрипте Ссылка на комментарий Поделиться на другие сайты Поделиться
JIeXA Опубликовано 9 июля, 2011 Поделиться Опубликовано 9 июля, 2011 Удалите это сообщение Ссылка на комментарий Поделиться на другие сайты Поделиться
Ac1d Опубликовано 9 июля, 2011 Автор Поделиться Опубликовано 9 июля, 2011 Увы для меня 5ый шаг сложен Ссылка на комментарий Поделиться на другие сайты Поделиться
Ac1d Опубликовано 9 июля, 2011 Автор Поделиться Опубликовано 9 июля, 2011 Не работает Ссылка на комментарий Поделиться на другие сайты Поделиться
Ac1d Опубликовано 9 июля, 2011 Автор Поделиться Опубликовано 9 июля, 2011 Вот точный скрипт:[ENABLE]alloc(newmem,2048)label(returnhere)label(originalcode)label(exit)newmem:cmp [edx+00000210],1jne short originalcodemov dword ptr eax,#99// Error in line 11, при mov dword ptr [edi],#99 вылетoriginalcode:mov [edi],eaxmov edi,eaxmov eax,[esp+14]exit:jmp returnhere101337F4:jmp newmemnopnopnopreturnhere: [DISABLE]dealloc(newmem)101337F4:mov [edi],eaxmov edi,eaxmov eax,[esp+14]//Alt: db 89 07 8B F8 8B 44 24 14 Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 9 июля, 2011 Поделиться Опубликовано 9 июля, 2011 Увы для меня 5ый шаг сложенНадо учиться, потому что без этого ты вынужден просчитывать в уме все возможные ошибки. Даже больше скажу в сложных ситуациях лучше это делать в OllyDbg, когда отладчик в CE не подключен, но может включать скрипты. Ссылка на комментарий Поделиться на другие сайты Поделиться
Ac1d Опубликовано 9 июля, 2011 Автор Поделиться Опубликовано 9 июля, 2011 Справился:[ENABLE]alloc(newmem,2048)label(returnhere)label(originalcode)label(exit)newmem:cmp [esi+0000038c],0jne short originalcodemov eax,#999originalcode:mov [edi],eaxmov edi,eaxmov eax,[esp+14]exit:jmp returnhere101337F4:jmp newmemnopnopnopreturnhere: [DISABLE]dealloc(newmem)101337F4:mov [edi],eaxmov edi,eaxmov eax,[esp+14]//Alt: db 89 07 8B F8 8B 44 24 14Всем спасибо за помощь 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения