Pitronic Опубликовано 26 августа, 2020 Поделиться Опубликовано 26 августа, 2020 (изменено) Доброго времени форумчане,, необходим шаблон для читов которые требуют именно такого подхода, у меня в игре их много, игра Saints Row IV Game of the Century Edition репак by.xatab. скидываю скрипт задачи там прописаны в комментариях Спойлер // это не чит, это для шаблона, в разных читах, в игре много читов который требует именно этот подход [ENABLE] aobscan(_test_,0F 2F 86 20 1E 00 00 0F 82 21) alloc(newmem_test_,$1000) label(code_test_) label(return_test_) label(_flag_test_) registersymbol(_test_) registersymbol(_flag_test_) newmem_test_: push eax cmp [esi+04],0 // это фильтр я написал от балды, потому что в разных читах он тоже разумется разный jne code_test_ // здесь дописать такой скрипт в регистр mov eax,[esi+00001E20] но аднократно (один раз чтоб регистр eax после записи значения адреса не менялся) cmp eax,[esi+00001E20] je code_test_ cmp byte ptr [_flag_test_],0 je code_test_ add [esi+00001E20],0 // этот код тоже от балды и тоже в разных читах он разныйй где то mov, где то sub и т.д pop eax code_test_: comiss xmm0,[esi+00001E20] jmp return_test_ _flag_test_: db 0 // это флаг включеня _test_: jmp newmem_test_ nop 2 return_test_: [DISABLE] _test_: comiss xmm0,[esi+00001E20] unregistersymbol(_test_) unregistersymbol(_flag_test_) dealloc(newmem_test_) { // ORIGINAL CODE - INJECTION POINT: "Saints Row IV.exe"+6B29A2 "Saints Row IV.exe"+6B297F: F3 0F 10 86 68 15 00 00 - movss xmm0,[esi+00001568] "Saints Row IV.exe"+6B2987: 0F 2E 05 78 4A 62 01 - ucomiss xmm0,["Saints Row IV.exe"+1224A78] "Saints Row IV.exe"+6B298E: 9F - lahf "Saints Row IV.exe"+6B298F: F6 C4 44 - test ah,44 "Saints Row IV.exe"+6B2992: 7B 0B - jnp "Saints Row IV.exe"+6B299F "Saints Row IV.exe"+6B2994: 6A 00 - push 00 "Saints Row IV.exe"+6B2996: 56 - push esi "Saints Row IV.exe"+6B2997: E8 04 CD 02 00 - call "Saints Row IV.exe"+6DF6A0 "Saints Row IV.exe"+6B299C: 83 C4 08 - add esp,08 "Saints Row IV.exe"+6B299F: 0F 57 C0 - xorps xmm0,xmm0 // ---------- INJECTING HERE ---------- "Saints Row IV.exe"+6B29A2: 0F 2F 86 20 1E 00 00 - comiss xmm0,[esi+00001E20] // ---------- DONE INJECTING ---------- "Saints Row IV.exe"+6B29A9: 0F 82 21 01 00 00 - jb "Saints Row IV.exe"+6B2AD0 "Saints Row IV.exe"+6B29AF: 56 - push esi "Saints Row IV.exe"+6B29B0: E8 6B 39 03 00 - call "Saints Row IV.exe"+6E6320 "Saints Row IV.exe"+6B29B5: 83 C4 04 - add esp,04 "Saints Row IV.exe"+6B29B8: 84 C0 - test al,al "Saints Row IV.exe"+6B29BA: 0F 85 10 01 00 00 - jne "Saints Row IV.exe"+6B2AD0 "Saints Row IV.exe"+6B29C0: 56 - push esi "Saints Row IV.exe"+6B29C1: E8 2A C8 02 00 - call "Saints Row IV.exe"+6DF1F0 "Saints Row IV.exe"+6B29C6: 83 C4 04 - add esp,04 "Saints Row IV.exe"+6B29C9: 84 C0 - test al,al } Извините что не тот синтаксист но поче муто от се там не было вот скриншёт Спойлер Благодарю заранее всех кто подскажет. Изменено 26 августа, 2020 пользователем Pitronic Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 26 августа, 2020 Поделиться Опубликовано 26 августа, 2020 20 минут назад, Pitronic сказал: pop eax Это отвал игры. Он не зависимо от условий должен быть скинут. 24 минуты назад, Pitronic сказал: // здесь дописать такой скрипт в регистр mov eax,[esi+00001E20] но аднократно (один раз чтоб не менялся) Такой - это какой ? я что то не совсем понимаю вопроса... Тут явно переводчик нужен СЕРВИК. а он пропал! Ссылка на комментарий Поделиться на другие сайты Поделиться
Pitronic Опубликовано 26 августа, 2020 Автор Поделиться Опубликовано 26 августа, 2020 (изменено) 6 минут назад, LIRW сказал: я что то не совсем понимаю вопроса ну я же написал понятно вроде в регистр eax записать адрес ,[esi+00001E20] однократно чтоб то значение больше не менялось потому что ниже идёт сравнение eax с этим же адресом, допустим надо записать максимальное значение адреса а его в структуре нет. а потом сравнить максимальное значение с фактическим. Изменено 26 августа, 2020 пользователем Pitronic Ссылка на комментарий Поделиться на другие сайты Поделиться
Pitronic Опубликовано 26 августа, 2020 Автор Поделиться Опубликовано 26 августа, 2020 (изменено) 15 минут назад, LIRW сказал: Это отвал игры Это почему? выше же есть newmem_test_: push eax и в логах его вроде нет Изменено 26 августа, 2020 пользователем Pitronic Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 26 августа, 2020 Поделиться Опубликовано 26 августа, 2020 Посмотри урок "Флаги и однократное выполнение". Ссылка на комментарий Поделиться на другие сайты Поделиться
Pitronic Опубликовано 26 августа, 2020 Автор Поделиться Опубликовано 26 августа, 2020 (изменено) 59 минут назад, Xipho сказал: Посмотри урок "Флаги и однократное выполнение". я про это тоже думал, только ситуация такая адреса могут обновляться и я не могу знать когда надо использовать этот флаг, значит надо как то сделать чтоб подобное автоматом было. А это урок я смотрел. Изменено 26 августа, 2020 пользователем Pitronic Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения