-
Постов
595 -
Зарегистрирован
-
Посещение
-
Победитель дней
20
Тип контента
Профили
Форумы
Загрузки
Блоги
Сообщения, опубликованные Pitronic
-
-
35 минут назад, Garik66 сказал:
fild [edx+00001120]
а понял филд а не флд
Работает!
Тему можно закрыть.
-
Не работает
СпойлерНа скриншоте видно что это максимальное значение в адресе proverka в 4 байтах показывает правилно а во float не правильно. вот мой скрипт
Спойлер{ Game : SR2_pc.exe Version: Date : 2021-05-02 Author : Pitronic This script does blah blah blah } [ENABLE] aobscanmodule(_heallth_deloper_gg_,SR2_pc.exe,D8 9A 24 11 00 00 DF E0 F6 C4 01 75 03) // should be unique alloc(newmem,$1000) label(code) label(return) label(proverka) registersymbol(_heallth_deloper_gg_) registersymbol(proverka) newmem: //cmp [edx+111C],#0 //jne code fld [edx+00001120] fstp [proverka] code: fcomp dword ptr [edx+00001124] jmp return proverka: dd 0 _heallth_deloper_gg_: jmp newmem nop return: [DISABLE] _heallth_deloper_gg_: db D8 9A 24 11 00 00 unregistersymbol(_heallth_deloper_gg_) unregistersymbol(proverka) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: SR2_pc.exe.text+584661 SR2_pc.exe.text+584647: C1 E1 04 - shl ecx,04 SR2_pc.exe.text+58464A: 8B 89 64 9C 14 02 - mov ecx,[ecx+SR2_pc.exe+1D49C64] SR2_pc.exe.text+584650: 85 C9 - test ecx,ecx SR2_pc.exe.text+584652: 74 05 - je SR2_pc.exe.text+584659 SR2_pc.exe.text+584654: 39 41 44 - cmp [ecx+44],eax SR2_pc.exe.text+584657: 74 02 - je SR2_pc.exe.text+58465B SR2_pc.exe.text+584659: 33 C9 - xor ecx,ecx SR2_pc.exe.text+58465B: 3B CA - cmp ecx,edx SR2_pc.exe.text+58465D: 75 0F - jne SR2_pc.exe.text+58466E SR2_pc.exe.text+58465F: D9 EE - fldz // ---------- INJECTING HERE ---------- SR2_pc.exe.text+584661: D8 9A 24 11 00 00 - fcomp dword ptr [edx+00001124] // ---------- DONE INJECTING ---------- SR2_pc.exe.text+584667: DF E0 - fnstsw ax SR2_pc.exe.text+584669: F6 C4 01 - test ah,01 SR2_pc.exe.text+58466C: 75 03 - jne SR2_pc.exe.text+584671 SR2_pc.exe.text+58466E: B0 01 - mov al,01 SR2_pc.exe.text+584670: C3 - ret SR2_pc.exe.text+584671: 83 BA 8C 0F 00 00 00 - cmp dword ptr [edx+00000F8C],00 SR2_pc.exe.text+584678: 0F 9D C0 - setge al SR2_pc.exe.text+58467B: C3 - ret SR2_pc.exe.text+58467C: CC - int 3 SR2_pc.exe.text+58467D: CC - int 3 }
-
9 минут назад, Garik66 сказал:
это все есть на форуме
Может и есть ноя не видел, не где.
-
10 минут назад, Garik66 сказал:
одновременно перевожим во float
Спасибо попробую
-
Вопрос простой но не знаю как это сделать. Под спойлером скрипт. с комментариями. Задача обозначена в скрипте. Игра Saints Row 2.v 1.2 от Буки. Мне это надо не только для этой игры, но и для шаблона если ещё где встретится.
Спойлер{ Game : SR2_pc.exe Version: Date : 2021-05-02 Author : Pitronic This script does blah blah blah } [ENABLE] aobscanmodule(_good_mode_,SR2_pc.exe,D8 * * * * * * * F6 * * 75 * B0 * * 83 * * * * * * 0F 9D) alloc(newmem,$1000) label(code) label(return) newmem: // [edx+00001120] здесь максимальное значение здоровья гг, но тип 4 байта. code: fcomp dword ptr [edx+00001124] // здесь здорове гг, но тип float. jmp return // задача, записать максимальное здоровье гг, в фактический адрес здоровья гг. _good_mode_: jmp newmem db 90 return: registersymbol(_good_mode_) [DISABLE] _good_mode_: fcomp dword ptr [edx+00001124] unregistersymbol(_good_mode_) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: SR2_pc.exe.text+584661 SR2_pc.exe.text+584647: C1 E1 04 - shl ecx,04 SR2_pc.exe.text+58464A: 8B 89 64 9C 14 02 - mov ecx,[ecx+SR2_pc.exe+1D49C64] SR2_pc.exe.text+584650: 85 C9 - test ecx,ecx SR2_pc.exe.text+584652: 74 05 - je SR2_pc.exe.text+584659 SR2_pc.exe.text+584654: 39 41 44 - cmp [ecx+44],eax SR2_pc.exe.text+584657: 74 02 - je SR2_pc.exe.text+58465B SR2_pc.exe.text+584659: 33 C9 - xor ecx,ecx SR2_pc.exe.text+58465B: 3B CA - cmp ecx,edx SR2_pc.exe.text+58465D: 75 0F - jne SR2_pc.exe.text+58466E SR2_pc.exe.text+58465F: D9 EE - fldz // ---------- INJECTING HERE ---------- SR2_pc.exe.text+584661: D8 9A 24 11 00 00 - fcomp dword ptr [edx+00001124] // ---------- DONE INJECTING ---------- SR2_pc.exe.text+584667: DF E0 - fnstsw ax SR2_pc.exe.text+584669: F6 C4 01 - test ah,01 SR2_pc.exe.text+58466C: 75 03 - jne SR2_pc.exe.text+584671 SR2_pc.exe.text+58466E: B0 01 - mov al,01 SR2_pc.exe.text+584670: C3 - ret SR2_pc.exe.text+584671: 83 BA 8C 0F 00 00 00 - cmp dword ptr [edx+00000F8C],00 SR2_pc.exe.text+584678: 0F 9D C0 - setge al SR2_pc.exe.text+58467B: C3 - ret SR2_pc.exe.text+58467C: CC - int 3 SR2_pc.exe.text+58467D: CC - int 3 }
-
Не понадобилось, нашёл другой выход. Тему можно закрыть.
-
1 час назад, Kvazimado сказал:
я бы попробовал поставить ВиртуалБокс
Ксожалению на этой виртуальной машине нет драйверов видеокарты. Игры не играют.
-
В 23.03.2020 в 01:40, imaginary сказал:
Попробуй вот такую вставку
До сих по всё работало, но на флагах не работает не один вариант в этой теме, мне кажется там нужна проверка, стоит крестик или нет, когда таймер обнулился, и если нет снимать.
-
В 12.02.2017 в 13:04, Garik66 сказал:
это уже плагиат.
Если вы про сектор газа, сказка о кащее бессмертном, то не согласен, плагиат это присвоение произведения, сектор газа перечислил всех у кого было что позаимствовано, то есть авторские права не нарушены.
-
В 30.09.2020 в 14:35, RenW сказал:
Из 40 сборок трейнера функция speedhack'a отозвалась лишь 2 раза
Собирать трейнер внимательней надо. Сотри под спойлером
Спойлер -
Начал ломать игру 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] }
-
1 минуту назад, SpiritWithim сказал:
забыл заменить
ну теперь знаешь
-
3 минуты назад, SpiritWithim сказал:
unregistersymbol(return)
В этом месте ошибка
unregistersymbol(return)
там тоже code надо
-
1 минуту назад, SpiritWithim сказал:
вот так значит
Да.
-
45 минут назад, SpiritWithim сказал:
label(return)
в этом месте в место return ,лучше оставить code, ошибки конечно нет, но return это выход из процедуры.
-
8 минут назад, SpiritWithim сказал:
волшебники вы
Я не волшебник я только учусь.
-
Только что, LIRW сказал:
И я если честно
Да если честно то я облажался в трёх местах.
-
Только что, SpiritWithim сказал:
вот так работает), спс
Ну и слава богу
-
Только что, LIRW сказал:
ну... с кем не бывает. Не заметил.
а я не в притензии тоже просто подсказал
-
Только что, LIRW сказал:
readmem(_inject_,5)
там 6 байт
-
Только что, SpiritWithim сказал:
я на мегу заливаю)
Понял жду.
-
Только что, SpiritWithim сказал:
щас закачаю и скину
Так ведь ты же качаешь с какой то ссылки, почему бы тебе её не скинуть?
-
скинь ссылку на игру, хочу разобратся все варианты перебрать.
-
короче накосячил я.
Поиск адресов на ресурсы игры, с помощью инструмента, Анализ данных структур.
in Статьи для новичков
Опубликовано
Добро время суток. Предлагаю видео урок с поиском адресов, которые казалось бы сложно найти.
Следующий урок готовлю, в котором будет тема, как написать скрипт с искусственным фильтром. Прошу не жалеть коментов.