Pitronic Опубликовано 25 апреля, 2021 Поделиться Опубликовано 25 апреля, 2021 (изменено) Начал ломать игру Saints Row 2 на коды разработчиков. Выяснялось что все чит коды находятся в одном адресе, их 32, при включении разных чит кодов, разное значение в адресе, включение нескольких суммирует значение в адресе, в одном скрипте муторное дело скрипт писать на 32 чита, решил сделать эксперемент, черех инструмент code saves сохранил в блокноте 32 адреса в которых потом для каждого чита сделать отдельный скрипт, вопрос возможно ли сделать клоны инструкций по сохранённым адресам, чтоб они работали так же как в оригиннальной инструкции, и второй вопрос как записать этот скрип в луа чтоб он автоматически применился при запуске трейнера. Скрипт под спойлером. достаточно для примера с одним адресом. остальное сам доклепаю. Спойлер { Game : SR2_pc.exe Version: Date : 2021-04-25 Author : Pitronic This script does blah blah blah } [ENABLE] aobscan(_save_,8B * * * * * 8B * * * * * 75 * 85 * 74 * 32) alloc(newmem_save_,$1000) label(code_save_) label(return_save_) registersymbol(_save_) registersymbol(code_save_) newmem_save_: push eax // [00010278] адрес в который надо скопировать инструкцию code_save_: // mov ebx,[SR2_pc.exe+2126E14] readmem(_save_,6) pop eax jmp return_save_ _save_: jmp newmem_save_ db 90 return_save_: [DISABLE] _save_: // db 8B 1D 14 6E 52 02 readmem(code_save_,6) unregistersymbol(_save_) unregistersymbol(code_save_) dealloc(newmem_save_) { // ORIGINAL CODE - INJECTION POINT: SR2_pc.exe.text+DCD68 SR2_pc.exe.text+DCD4F: CC - int 3 SR2_pc.exe.text+DCD50: 83 EC 0C - sub esp,0C SR2_pc.exe.text+DCD53: 53 - push ebx SR2_pc.exe.text+DCD54: 8B 1D 10 6E 52 02 - mov ebx,[SR2_pc.exe+2126E10] SR2_pc.exe.text+DCD5A: 85 DB - test ebx,ebx SR2_pc.exe.text+DCD5C: 55 - push ebp SR2_pc.exe.text+DCD5D: 56 - push esi SR2_pc.exe.text+DCD5E: 57 - push edi SR2_pc.exe.text+DCD5F: 75 39 - jne SR2_pc.exe.text+DCD9A SR2_pc.exe.text+DCD61: 80 3D 6F 43 F8 00 00 - cmp byte ptr [SR2_pc.exe+B8436F],00 // ---------- INJECTING HERE ---------- SR2_pc.exe.text+DCD68: 8B 1D 14 6E 52 02 - mov ebx,[SR2_pc.exe+2126E14] // ---------- DONE INJECTING ---------- SR2_pc.exe.text+DCD6E: 8B 3D E4 6D 52 02 - mov edi,[SR2_pc.exe+2126DE4] SR2_pc.exe.text+DCD74: 75 08 - jne SR2_pc.exe.text+DCD7E SR2_pc.exe.text+DCD76: 85 FF - test edi,edi SR2_pc.exe.text+DCD78: 74 04 - je SR2_pc.exe.text+DCD7E SR2_pc.exe.text+DCD7A: 32 C0 - xor al,al SR2_pc.exe.text+DCD7C: EB 02 - jmp SR2_pc.exe.text+DCD80 SR2_pc.exe.text+DCD7E: B0 01 - mov al,01 SR2_pc.exe.text+DCD80: 85 DB - test ebx,ebx SR2_pc.exe.text+DCD82: 75 0E - jne SR2_pc.exe.text+DCD92 SR2_pc.exe.text+DCD84: 8B 1D 18 6E 52 02 - mov ebx,[SR2_pc.exe+2126E18] } Изменено 25 апреля, 2021 пользователем Pitronic Дополнение Ссылка на комментарий Поделиться на другие сайты Поделиться
Pitronic Опубликовано 1 мая, 2021 Автор Поделиться Опубликовано 1 мая, 2021 Не понадобилось, нашёл другой выход. Тему можно закрыть. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения