NickSpirit Опубликовано 9 октября, 2016 Автор Поделиться Опубликовано 9 октября, 2016 (изменено) Вообщем еще раз проверил скрипт там где он работал - не работает. Игра тож виснет и вылетает. Отработал верно скрипт только один раз. Щас еще гляну с одним ли адресом работает данная инструкция. Есть мысль что если включать скрипт в определенный момент то он работает верно. Изменено 9 октября, 2016 пользователем NickSpirit Ссылка на комментарий Поделиться на другие сайты Поделиться
NickSpirit Опубликовано 9 октября, 2016 Автор Поделиться Опубликовано 9 октября, 2016 (изменено) Вообщем глянул - инструкция работает с одним адресом, а скрипт больше так и не заработал. как бы я его не включал. Записал видео - как и чего. Видно что скрипт выдает не тот адрес. Кстати когда записывал видео - скрипт не вызвал закрытие игры. https://yadi.sk/i/_5efwqMlwXRXS Кстати, щас глянул по инструкциям как отрабатывает наш код - в регистре EBX действительно находится наш адрес - но вот в Pointer он не попадает судя по всему. Сорри!) Кажись я разобрался - сделал представление HEX) Изменено 9 октября, 2016 пользователем NickSpirit Ссылка на комментарий Поделиться на другие сайты Поделиться
keng Опубликовано 9 октября, 2016 Поделиться Опубликовано 9 октября, 2016 @NickSpirit, попробуй таблицу, которая приложена к этому сообщению. Версия игры - последняя. Скрипт прокомментирован. Включи скрипт и сделай нужное действие, чтобы вызвалась игровая инструкция, я использовал твою же. FClient.zip Ссылка на комментарий Поделиться на другие сайты Поделиться
NickSpirit Опубликовано 9 октября, 2016 Автор Поделиться Опубликовано 9 октября, 2016 5 минут назад, keng сказал: Автор, попробуй таблицу, которая приложена к этому сообщению. Версия игры - последняя. Скрипт прокомментирован. Включи скрипт и сделай нужное действие, чтобы вызвалась игровая инструкция, я использовал твою же. FClient.zip Сделал. Все также - игра зависла и потом вылетела. Ссылка на комментарий Поделиться на другие сайты Поделиться
keng Опубликовано 9 октября, 2016 Поделиться Опубликовано 9 октября, 2016 Это любопытно, потому что в скрипте ошибки нет. Можешь сказать, какое действие в игре нужно сделать? Ссылка на комментарий Поделиться на другие сайты Поделиться
NickSpirit Опубликовано 9 октября, 2016 Автор Поделиться Опубликовано 9 октября, 2016 (изменено) 7 минут назад, keng сказал: Это любопытно, потому что в скрипте ошибки нет. Можешь сказать, какое действие в игре нужно сделать? Конечно могу. Достаточно всего лишь подсечь рыбу нажав пробел когда рыба клюнет. Делаю на доночной снасти. (хотя это думаю роли не играет). Вот когда я жму пробел - то игра вылетает. (инструкция как раз и происходит в этот момент) Причем Ваш вариант не работает на обеих машинах. Тогда как вариант от Garik66 более или менее работает на одном компе у меня. Я когда тестил вариант от Garik66 нашел адрес нужный мне руками (при этом выловил порядка 20-40 рыб). и потом включил скрипт - он отрабатывал норм. если же я сразу пытаюсь использовать скрипт - игра вылетает. Изменено 9 октября, 2016 пользователем NickSpirit Ссылка на комментарий Поделиться на другие сайты Поделиться
keng Опубликовано 9 октября, 2016 Поделиться Опубликовано 9 октября, 2016 В общем, нашел указатель на текущее значение опыта, его адрес прекрасно читается. Вот скрипт: Spoiler [ENABLE] registersymbol(addr) alloc(newmem,2048) alloc(addr,4) label(returnhere) newmem: mov ecx,[eax+60] push ecx lea ecx,[eax+60] mov [addr],ecx pop ecx fild dword ptr [eax+60] jmp returnhere "FClient.exe"+68946: jmp newmem nop returnhere: [DISABLE] "FClient.exe"+68946: db 8B 48 60 DB 40 60 dealloc(newmem) unregistersymbol(addr) dealloc(addr) Выводов два - или игра пытается защититься, или же в инструкцию попадает всякий мусор, при чтении которого происходит что-нибудь непоправимое. Ссылка на комментарий Поделиться на другие сайты Поделиться
NickSpirit Опубликовано 9 октября, 2016 Автор Поделиться Опубликовано 9 октября, 2016 (изменено) Инструкция работает только с одним адресом. Это точно. я в видео это проверял. А вот по поводу опыта - не знаю. опыт как то не так важен для меня)) А вот про защиту я уже задумываюсь. Изменено 9 октября, 2016 пользователем NickSpirit Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 9 октября, 2016 Поделиться Опубликовано 9 октября, 2016 1 час назад, NickSpirit сказал: кстати, щас глянул по инструкциям как отрабатывает наш код - в регистре EBX действительно находится наш адрес - но вот в Pointer он не попадает судя по всему. А как же dec 12614260 - это hex C07A74 Ссылка на комментарий Поделиться на другие сайты Поделиться
NickSpirit Опубликовано 9 октября, 2016 Автор Поделиться Опубликовано 9 октября, 2016 (изменено) 2 минуты назад, Garik66 сказал: А как же dec 12614260 - это hex C07A74 Я потом написал что с этим разобрался)))) Но суть та же - раза с 10 скрипту удается срабатывать нормально. Не знаю..щас попробую ради интереса снова найти руками адрес..посчитать сколько я поймаю рыбы..и включить скрипт снова. Надо же найти причину вылета игры. Скрипты такие полезные ведь! Изменено 9 октября, 2016 пользователем NickSpirit Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 9 октября, 2016 Поделиться Опубликовано 9 октября, 2016 (изменено) Попробуйте ещё такой скрипт (но учтите я пишу скрипты исходя из Ваших видео и первого скрипта - игры у меня нет, чтобы потестить): Скрытый текст { Game : FClient.exe Version: Date : 2016-10-09 Author : NickGrava This script does blah blah blah } [ENABLE] aobscanmodule(Adress,FClient.exe,D9 5F 6C 5E 5B) // should be unique alloc(newmem,$1000) label(code) label(return) registersymbol(Adress) newmem: code: fstp dword ptr [edi+6C] mov [edi+6C],41B80000 pop esi pop ebx jmp return Adress: jmp newmem return: [DISABLE] Adress: db D9 5F 6C 5E 5B unregistersymbol(Adress) dealloc(newmem) Только это скрипт не на адрес, а сразу на значение (значение, которое увидел у Вас на видео). Изменено 9 октября, 2016 пользователем Garik66 Ссылка на комментарий Поделиться на другие сайты Поделиться
NickSpirit Опубликовано 9 октября, 2016 Автор Поделиться Опубликовано 9 октября, 2016 Не понял...а что в этом скрипте происходит? на метке newmem ничего нет... Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 9 октября, 2016 Поделиться Опубликовано 9 октября, 2016 Только что, NickSpirit сказал: Не понял...а что в этом скрипте происходит? на метке newmem ничего нет... Подключитесь к игре, закиньте удочку и активируйте скрипт - посмотрим что будет. а значение ниже: fstp dword ptr [edi+6C] mov [edi+6C],41B80000 Ссылка на комментарий Поделиться на другие сайты Поделиться
NickSpirit Опубликовано 9 октября, 2016 Автор Поделиться Опубликовано 9 октября, 2016 Он мне выдает что инструкция mov [edi+6C],41B80000 не может быть откомпилирована. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 9 октября, 2016 Поделиться Опубликовано 9 октября, 2016 Ну что клюёт? Или - вылетает? Ссылка на комментарий Поделиться на другие сайты Поделиться
NickSpirit Опубликовано 9 октября, 2016 Автор Поделиться Опубликовано 9 октября, 2016 Только что, Garik66 сказал: Ну что клюёт? Или - вылетает? Скрипт не активируется. по причине указанной мной выше) Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 9 октября, 2016 Поделиться Опубликовано 9 октября, 2016 (изменено) 4 минуты назад, NickSpirit сказал: Он мне выдает что инструкция mov [edi+6C],41B80000 не может быть откомпилирована. Странно. 2 минуты назад, NickSpirit сказал: Скрипт не активируется. по причине указанной мной выше) Ладно. Тогда выложите сюда стандартный СЕ-ный скрипт с аобсканом из инструкции, которая не много выше Вашей, вот из этой: "FClient.exe"+151F32: D9 45 F4 - fld dword ptr [ebp-0C] Кстати видно, где проверка значения идёт. Если сработает скрипт, который я напишу, то объясню где она. Изменено 9 октября, 2016 пользователем Garik66 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 9 октября, 2016 Поделиться Опубликовано 9 октября, 2016 (изменено) 43 минуты назад, NickSpirit сказал: Он мне выдает что инструкция mov [edi+6C],41B80000 не может быть откомпилирована. Ещё раз говорю - странно. Добавил сейчас скрипт в таблицу, которую раньше выкладывал: Таблицу выложил в этом сообщении. Изменено 9 октября, 2016 пользователем Garik66 Ссылка на комментарий Поделиться на другие сайты Поделиться
NickSpirit Опубликовано 9 октября, 2016 Автор Поделиться Опубликовано 9 октября, 2016 (изменено) Щас попробую таблицу добавить. Что касаемо скрипта с AOBScan - щас адрес руками найду - выложу. Добавил - скрипт активировался. Игра не вылетела. Изменено 9 октября, 2016 пользователем NickSpirit Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 9 октября, 2016 Поделиться Опубликовано 9 октября, 2016 Только что, NickSpirit сказал: Щас попробую таблицу добавить. Что касаемо скрипта с AOBScan - щас адрес руками найду - выложу. Зачем руками то, я же дал инструкцию и её адрес: "FClient.exe"+151F32: D9 45 F4 - fld dword ptr [ebp-0C] Ссылка на комментарий Поделиться на другие сайты Поделиться
NickSpirit Опубликовано 9 октября, 2016 Автор Поделиться Опубликовано 9 октября, 2016 1 минуту назад, Garik66 сказал: Зачем руками то, я же дал инструкцию и её адрес: "FClient.exe"+151F32: D9 45 F4 - fld dword ptr [ebp-0C] Эммм...если б уметь по другому..))) я ж новичок в этом. я знаю что можно как то найти инструкцию где-то..а как и где - уже не знаю. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 9 октября, 2016 Поделиться Опубликовано 9 октября, 2016 Только что, NickSpirit сказал: .а как и где - уже не знаю. 1. Перейдите в отладчик. 2. ПКМ (правая кнопка мыши) по окну. 3. Перейти по адресу (верхняя строчка) 4. Замените адрес на адрес инструкции - в нашем случае "FClient.exe"+151F32 5. Нажмите "Подтвердить". Ссылка на комментарий Поделиться на другие сайты Поделиться
NickSpirit Опубликовано 9 октября, 2016 Автор Поделиться Опубликовано 9 октября, 2016 Скрытый текст { Game : FClient.exe Version: Date : 2016-10-09 Author : GravaPC This script does blah blah blah } [ENABLE] //code from here to '[DISABLE]' will be used to enable the cheat aobscanmodule(Garik66,FClient.exe,D9 45 F4 D9 57 70) // should be unique alloc(newmem,$1000) label(code) label(return) newmem: code: fld dword ptr [ebp-0C] fst dword ptr [edi+70] jmp return Garik66: jmp code nop return: registersymbol(Garik66) [DISABLE] //code from here till the end of the code will be used to disable the cheat Garik66: db D9 45 F4 D9 57 70 unregistersymbol(Garik66) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: "FClient.exe"+151F32 "FClient.exe"+151F0A: 83 C1 10 - add ecx,10 "FClient.exe"+151F0D: 89 8F A0 00 00 00 - mov [edi+000000A0],ecx "FClient.exe"+151F13: 8B 8F 88 00 00 00 - mov ecx,[edi+00000088] "FClient.exe"+151F19: 89 5F 64 - mov [edi+64],ebx "FClient.exe"+151F1C: 8B 49 04 - mov ecx,[ecx+04] "FClient.exe"+151F1F: B8 06 00 00 00 - mov eax,00000006 "FClient.exe"+151F24: E8 97 40 ED FF - call FClient.exe+25FC0 "FClient.exe"+151F29: 89 45 F4 - mov [ebp-0C],eax "FClient.exe"+151F2C: DB 45 F4 - fild dword ptr [ebp-0C] "FClient.exe"+151F2F: D9 5D F4 - fstp dword ptr [ebp-0C] // ---------- INJECTING HERE ---------- "FClient.exe"+151F32: D9 45 F4 - fld dword ptr [ebp-0C] "FClient.exe"+151F35: D9 57 70 - fst dword ptr [edi+70] // ---------- DONE INJECTING ---------- "FClient.exe"+151F38: D9 5F 6C - fstp dword ptr [edi+6C] "FClient.exe"+151F3B: 5E - pop esi "FClient.exe"+151F3C: 5B - pop ebx "FClient.exe"+151F3D: 8B E5 - mov esp,ebp "FClient.exe"+151F3F: 5D - pop ebp "FClient.exe"+151F40: C3 - ret "FClient.exe"+151F41: CC - int 3 "FClient.exe"+151F42: CC - int 3 "FClient.exe"+151F43: CC - int 3 "FClient.exe"+151F44: CC - int 3 } Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 9 октября, 2016 Поделиться Опубликовано 9 октября, 2016 (изменено) 1 час назад, NickSpirit сказал: Garik66,FClient.exe,D9 45 F4 D9 57 70) В честь меня адрес назвали - круто!!! 1. Используйте тег "Кода" внутри спойлера. 2. Скрипт 3 (сразу в таблице) проверьте, но ощущение, что нужен фильтр. Инструкции работают (я уверен) не с одним адресом, как у Вас на видео, та опция СЕ, которую Вы использовали для проверки со сколькими адресами работает инструкция - работает недостаточно хорошо. Всё таже таблица: // Выложил в этом сообщении. Изменено 9 октября, 2016 пользователем Garik66 Ссылка на комментарий Поделиться на другие сайты Поделиться
NickSpirit Опубликовано 9 октября, 2016 Автор Поделиться Опубликовано 9 октября, 2016 Все отработало. Игра не вылетела. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения