Pitronic Опубликовано 27 апреля, 2020 Поделиться Опубликовано 27 апреля, 2020 (изменено) Доброго времени суток форумчане, нужна помощь с этим скриптом, скидываю с коментарием и логами, у меня получилось не красиво, то есть транпорт игрока, неуязвим, а вот с остальным транортом беспредел, всё вокруг взрывается, хотя воздействия не какого нет, хотя я ставил не mov а sub. Спойлер { Game : saintsrowthethird_dx11.exe Version: Date : 2020-04-27 Author : Pitronic This script does blah blah blah } [ENABLE] aobscanmodule(HealthCar,saintsrowthethird_dx11.exe,F3 0F 2A 43 0C F3 0F 2A) // should be unique alloc(newmem,$1000) label(code) label(return) label(return) label(return) registersymbol(HealthCar) registersymbol(CarPayarGang) registersymbol(CarEnemiesGang) newmem: code: cvtsi2ss xmm0,[ebx+0C] // то всем понятно адрес всего транспорта // [ebx+04] это адрес максимального здоровья транспорта // cmp [ebx+E4],1 это фильтр значение 1 соответствует фильтру игрока jmp return CarPayarGang: dd 0 CarEnemiesGang dd 0 HealthCar: jmp newmem return: [DISABLE] HealthCar: db F3 0F 2A 43 0C unregistersymbol(HealthCar) unregistersymbol(CarPayarGang) unregistersymbol(CarEnemiesGang) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: "saintsrowthethird_dx11.exe"+69DF58 "saintsrowthethird_dx11.exe"+69DF3C: E8 2D 88 40 00 - call saintsrowthethird_dx11.exe+AA676E "saintsrowthethird_dx11.exe"+69DF41: 8B E5 - mov esp,ebp "saintsrowthethird_dx11.exe"+69DF43: 5D - pop ebp "saintsrowthethird_dx11.exe"+69DF44: C3 - ret "saintsrowthethird_dx11.exe"+69DF45: 80 7D 1C 00 - cmp byte ptr [ebp+1C],00 "saintsrowthethird_dx11.exe"+69DF49: 74 0D - je saintsrowthethird_dx11.exe+69DF58 "saintsrowthethird_dx11.exe"+69DF4B: F3 0F 2A 45 18 - cvtsi2ss xmm0,[ebp+18] "saintsrowthethird_dx11.exe"+69DF50: 0F 57 C9 - xorps xmm1,xmm1 "saintsrowthethird_dx11.exe"+69DF53: 0F 2F C8 - comiss xmm1,xmm0 "saintsrowthethird_dx11.exe"+69DF56: 76 D6 - jna saintsrowthethird_dx11.exe+69DF2E // ---------- INJECTING HERE ---------- "saintsrowthethird_dx11.exe"+69DF58: F3 0F 2A 43 0C - cvtsi2ss xmm0,[ebx+0C] // ---------- DONE INJECTING ---------- "saintsrowthethird_dx11.exe"+69DF5D: F3 0F 2A 4B 04 - cvtsi2ss xmm1,[ebx+04] "saintsrowthethird_dx11.exe"+69DF62: 8B 55 18 - mov edx,[ebp+18] "saintsrowthethird_dx11.exe"+69DF65: 33 C9 - xor ecx,ecx "saintsrowthethird_dx11.exe"+69DF67: 80 BE D0 0B 00 00 01 - cmp byte ptr [esi+00000BD0],01 "saintsrowthethird_dx11.exe"+69DF6E: 8D 86 88 06 00 00 - lea eax,[esi+00000688] "saintsrowthethird_dx11.exe"+69DF74: 0F 95 C1 - setne cl "saintsrowthethird_dx11.exe"+69DF77: F3 0F 5A C0 - cvtss2sd xmm0,xmm0 "saintsrowthethird_dx11.exe"+69DF7B: F3 0F 5A C9 - cvtss2sd xmm1,xmm1 "saintsrowthethird_dx11.exe"+69DF7F: F2 0F 5E C1 - divsd xmm0,xmm1 "saintsrowthethird_dx11.exe"+69DF83: F2 0F 5A C0 - cvtsd2ss xmm0,xmm0 } Нужны такие функции, cmp [CarPayarGang],0 если не равно то сначала cmp [ebx+E4],1 если равно то адрес [ebx+04] записать в адрес [ebx+0С] далее снова сравнение но с другим флагом cmp, [CarEnemiesGang],0 если не равно то опять таки сравнение фильтра cmp [ebx+E4],1 если не равно, то здесь тоже сравнить адрес [ebx+04] с адресом [ebx+0С] если не равно то mov [ebx+0С],0. заранее благодарю всех кто подскажет. Изменено 27 апреля, 2020 пользователем Pitronic Исправление грамматических ошибок Ссылка на комментарий Поделиться на другие сайты Поделиться
Pitronic Опубликовано 27 апреля, 2020 Автор Поделиться Опубликовано 27 апреля, 2020 Забыл добавить игра Saints Row: The Third репак by xatab Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 27 апреля, 2020 Поделиться Опубликовано 27 апреля, 2020 6 часов назад, Pitronic сказал: а вот с остальным транортом беспредел Делаются потому что такие вещи не на тех функциях. И делаются такие вещи в разных вариантах. Самый простенький, мне кажется такой. Спойлер newmem: cmp [ebx+E4],1 je Player cmp [ebx+E4],0 // или сколько там ? je Enemy jmp code Player: cmp [CarPayaGang],0 jz code cvtsi2ss xmm1,[ebx+04] movss [ebx+0C],xmm1 jmp code Enemy: cmp [CarEnemiesGang],0 jz code xorps xmm1,xmm1 movss [ebx+0C],xmm1 jmp code code: cvtsi2ss xmm0,[ebx+0C] jmp return У мня же такого нет беспредела Хотя я не так сделал функции. Я реализовал быстрый подрыв не через обнуление жизни машин..а через урон самого оружия. Спойлер 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Pitronic Опубликовано 27 апреля, 2020 Автор Поделиться Опубликовано 27 апреля, 2020 (изменено) 14 часов назад, LIRW сказал: через урон самого оружия. Если не жалко поделись пожалуйста 14 часов назад, LIRW сказал: или сколько там ? вообще то единица, но это не важно, главное что пример правильный. 14 часов назад, LIRW сказал: // или сколько там ? а вот тут я внимательно посмотрел промах, у банды игрока еденица, а у астольных разные сравнение с нулём для врагов не коректно, а вовсёй структуре нет не одного смещения чтоб были одинаковы в одном и вдругом, если в одной группе есть одинаковые, в другой все разные, этот вариант не подходит. Подправил твой скрипт, спасибо за помощь, без тебя бы не справился, всё работает вот твой скрипт, с комментариями на поправку. Спойлер [ENABLE] aobscanmodule(HealthCar,saintsrowthethird_dx11.exe,F3 0F 2A 43 0C F3 0F 2A) // should be unique alloc(newmem1,$1000) label(code1) label(return1) label(CarPayarGang) label(CarEnemiesGang) label(PlayerCar) label(EnemyCar) registersymbol(HealthCar) registersymbol(CarPayarGang) registersymbol(CarEnemiesGang) newmem1: cmp [ebx+E4],1 je PlayerCar cmp [ebx+E4],1 // в этом месте тоже еденица но прыжок не через je а jne jne EnemyCar jmp code1 PlayerCar: cmp [CarPayarGang],1 jz code1 cvtsi2ss xmm1,[ebx+04] movss [ebx+0C],xmm1 jmp code1 EnemyCar: cmp [CarEnemiesGang],0 jz code1 xorps xmm1,xmm1 movss [ebx+0C],xmm1 jmp code1 code1: cvtsi2ss xmm0,[ebx+0C] jmp return1 CarPayarGang: dd 0 CarEnemiesGang: dd 0 HealthCar: jmp newmem1 return1: [DISABLE] HealthCar: db F3 0F 2A 43 0C unregistersymbol(HealthCar) unregistersymbol(HealthCar) unregistersymbol(CarPayarGang) unregistersymbol(CarEnemiesGang) dealloc(newmem1) жалко что второй плюс не могу за видос поставить. Изменено 27 апреля, 2020 пользователем Pitronic Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения