Гость ZeRo Опубликовано 6 октября, 2015 Поделиться Опубликовано 6 октября, 2015 Нужна помощь, я только учусь взламывать мал-помалу... написал скрипт, а из-за него вылетает игра... help plz... NullAlex: Большой код принято обрамлять тегом спойлера. Читай правила. Первое устное предупреждение.[ENABLE]//code from here to '[DISABLE]' will be used to enable the cheatalloc(addresmem,2048)alloc(subresmem,2048)label(returnhere)label(addRes)label(exit1)label(exit)label(aRes)label(mRes)label(tRes)label(totalRes)addresmem: //this is allocated memory, you have read,write,execute access//place your code here\aRes:cmp [ecx+edx*4+00000FDC],#100000jge addResmov [ecx+edx*4+00000FDC],#100000addRes:add [esi+eax*4+00000FDC],ecxexit1:jmp returnheresubresmem: //this is allocated memory, you have read,write,execute access//place your code heremRes:cmp [ecx+edx*4+00000FDC],#100000jge totalRestRes:mov [ecx+edx*4+00000FDC],#100000jmp returnheretotalRes:sub [ecx+edx*4+00000FDC],esicmp [ecx+edx*4+00000FDC],#100000jl tResexit:jmp returnhere"RiseAndFall.exe"+3AE683:jmp addresmemnopnop"RiseAndFall.exe"+3AC183:jmp subresmemnopnopreturnhere:[DISABLE]//code from here till the end of the code will be used to disable the cheatdealloc(addresmem)dealloc(subresmem)"RiseAndFall.exe"+3AE683:add [esi+eax*4+00000FDC],ecx"RiseAndFall.exe"+3AC183:sub [ecx+edx*4+00000FDC],esi//Alt: db 01 8C 86 DC 0F 00 00 Ссылка на комментарий Поделиться на другие сайты Поделиться
krocki Опубликовано 6 октября, 2015 Поделиться Опубликовано 6 октября, 2015 (изменено) Ошибка:Использовал фильтр и запись одинаково...как так!.cmp [ecx+edx*4+00000FDC],#100000 //Фильтр ID.mov [ecx+edx*4+00000FDC],#100000 //Записываем значение.и использовал прыжок jge, может надо jne. Так же метка returnhere у тебя одна. И желательно делать прыжки вниз, а не вверх. Что бы меньше ошибок было в скрипте, делай скрипт для каждой инструкции кода отдельно...так будет более понятней, чем сразу всё в одной куче. Когда до ума доведёшь скрипты, тогда и можно будет объединить в один скрипт. Изменено 6 октября, 2015 пользователем krocki Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 6 октября, 2015 Поделиться Опубликовано 6 октября, 2015 учусь взламывать мал-помалу. Используй пошаговую отладку и найдешь все свои ошибки. Пару бряков на выполнение кода (кнопкой F5) до "RiseAndFall.exe"+3AE683 и до "RiseAndFall.exe"+3AC183. Затем F7 по шагам до инъекции кода и обратно. Узнаешь почему вылет. Скорее всего, из-за прыжка на returnhere под "RiseAndFall.exe"+3AC183, когда надо прыгнуть ниже "RiseAndFall.exe"+3AE683 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 6 октября, 2015 Поделиться Опубликовано 6 октября, 2015 (изменено) ... написал скриптНу что можно сказать из той информации, которую ты предоставил:1. Ты выбрал инструкции "На запись".2. У тебя две инструкции: одна срабатывает, когда ты подбираешь ресурс - add [esi+eax*4+00000FDC],ecx, вторая, когда ты его тратишь - sub [ecx+edx*4+00000FDC],esi.3. Так как инструкции срабатывают только при подборе или трате ресурса, фильтр не нужен, поэтому скрипт, например на постоянное значение ресурса (ну например - 1000 ед.), будет выглядеть так: Если тебе нужно добавлять конкретный ресурс то отфильтровать его можно в случае добавления по регистру eax, а в случае расхода - по регистру edx.[ENABLE]alloc(addresmem,2048)label(subresmem)label(returnhere)label(returnhere1)addresmem:add [esi+eax*4+00000FDC],ecx mov [esi+eax*4+00000FDC],#1000jmp returnheresubresmem: sub [ecx+edx*4+00000FDC],esimov [ecx+edx*4+00000FDC],#1000jmp returnhere1"RiseAndFall.exe"+3AE683:jmp addresmemnopnopreturnhere"RiseAndFall.exe"+3AC183:jmp subresmemnopnopreturnhere1:[DISABLE]"RiseAndFall.exe"+3AE683:add [esi+eax*4+00000FDC],ecx"RiseAndFall.exe"+3AC183:sub [ecx+edx*4+00000FDC],esidealloc(addresmem) Изменено 6 октября, 2015 пользователем Garik66 Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость ZeRo Опубликовано 6 октября, 2015 Поделиться Опубликовано 6 октября, 2015 Ошибка:Использовал фильтр и запись одинаково...как так!.cmp [ecx+edx*4+00000FDC],#100000 //Фильтр ID.mov [ecx+edx*4+00000FDC],#100000 //Записываем значение.и использовал прыжок jge, может надо jne. Так же метка returnhere у тебя одна. И желательно делать прыжки вниз, а не вверх. Что бы меньше ошибок было в скрипте, делай скрипт для каждой инструкции кода отдельно...так будет более понятней, чем сразу всё в одной куче. Кода до ума доведёшь скрипты, тогда и можно будет объединить в один скрипт.Спасибо, даже не заметил, что регестры не те, поменял, сделал ещё 1 returnhere и теперь всё работает... Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения