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

Минимальное кол-во ресурсов // Rise and Fall


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

Нужна помощь, я только учусь взламывать мал-помалу... написал скрипт, а из-за него вылетает игра... help plz... :-D

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
Ссылка на комментарий
Поделиться на другие сайты

Ошибка:

Использовал фильтр и запись одинаково...как так!.

cmp [ecx+edx*4+00000FDC],#100000    //Фильтр ID.
mov [ecx+edx*4+00000FDC],#100000    //Записываем значение.

и использовал прыжок jge, может надо jne. Так же метка returnhere у тебя одна. И желательно делать прыжки вниз, а не вверх. Что бы меньше ошибок было в скрипте, делай скрипт для каждой инструкции кода отдельно...так будет более понятней, чем сразу всё в одной куче. Когда до ума доведёшь скрипты, тогда и можно будет объединить в один скрипт.

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

учусь взламывать мал-помалу.

 

Используй пошаговую отладку и найдешь все свои ошибки. Пару бряков на выполнение кода (кнопкой F5) до "RiseAndFall.exe"+3AE683 и до "RiseAndFall.exe"+3AC183. Затем F7 по шагам до инъекции кода и обратно. Узнаешь почему вылет. Скорее всего, из-за прыжка на returnhere под "RiseAndFall.exe"+3AC183, когда надо прыгнуть ниже "RiseAndFall.exe"+3AE683

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

... написал скрипт

Ну что можно сказать из той информации, которую ты предоставил:

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) 
Изменено пользователем Garik66
Ссылка на комментарий
Поделиться на другие сайты

Ошибка:

Использовал фильтр и запись одинаково...как так!.

cmp [ecx+edx*4+00000FDC],#100000    //Фильтр ID.

mov [ecx+edx*4+00000FDC],#100000    //Записываем значение.

и использовал прыжок jge, может надо jne. Так же метка returnhere у тебя одна. И желательно делать прыжки вниз, а не вверх. Что бы меньше ошибок было в скрипте, делай скрипт для каждой инструкции кода отдельно...так будет более понятней, чем сразу всё в одной куче. Кода до ума доведёшь скрипты, тогда и можно будет объединить в один скрипт.

Спасибо, даже не заметил, что регестры не те, поменял, сделал ещё 1 returnhere и теперь всё работает... ;)

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

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

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

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