Гость TheEreI Опубликовано 4 октября, 2017 Поделиться Опубликовано 4 октября, 2017 Здравствуйте, недавно наткнулся на такой скрипт для игры Royal Quest: Скрытый текст [ENABLE] aobscanmodule(INJECT,rqmain.exe,D8 0D 34 C0 B5 01) // should be unique alloc(newmem,$1000) label(code) label(return) newmem: code: fmul dword ptr [rqmain.exe+78C044] jmp return INJECT: jmp code nop return: registersymbol(INJECT) [DISABLE] INJECT: db D8 0D 34 C0 B5 01 unregistersymbol(INJECT) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: "rqmain.exe"+26F74 "rqmain.exe"+26F55: DC E9 - fsub st(1),st(0) "rqmain.exe"+26F57: 51 - push ecx "rqmain.exe"+26F58: D9 05 2C C0 B5 01 - fld dword ptr [rqmain.exe+78C02C] "rqmain.exe"+26F5E: D8 C9 - fmul st(0),st(1) "rqmain.exe"+26F60: D9 05 30 C0 B5 01 - fld dword ptr [rqmain.exe+78C030] "rqmain.exe"+26F66: D8 CB - fmul st(0),st(3) "rqmain.exe"+26F68: DE C1 - faddp "rqmain.exe"+26F6A: DD 05 98 6A 99 01 - fld qword ptr [rqmain.exe+5C6A98] "rqmain.exe"+26F70: DC C9 - fmul st(1),st(0) "rqmain.exe"+26F72: D9 CA - fxch st(2) // ---------- INJECTING HERE ---------- "rqmain.exe"+26F74: D8 0D 34 C0 B5 01 - fmul dword ptr [rqmain.exe+78C034] // ---------- DONE INJECTING ---------- "rqmain.exe"+26F7A: D9 05 38 C0 B5 01 - fld dword ptr [rqmain.exe+78C038] "rqmain.exe"+26F80: DE CC - fmulp st(4),st(0) "rqmain.exe"+26F82: DE C3 - faddp st(3),st(0) "rqmain.exe"+26F84: D9 CA - fxch st(2) "rqmain.exe"+26F86: DE C9 - fmulp st(1),st(0) "rqmain.exe"+26F88: D8 C1 - fadd st(0),st(1) "rqmain.exe"+26F8A: D8 0D 94 68 99 01 - fmul dword ptr [rqmain.exe+5C6894] "rqmain.exe"+26F90: D9 54 24 1C - fst dword ptr [esp+1C] "rqmain.exe"+26F94: DE E9 - fsubp st(1),st(0) "rqmain.exe"+26F96: D9 1C 24 - fstp dword ptr [esp] } // Если код 10 строк или больше нужно использовать тег спойлера, тег кода использовать всегда. Garik66 Он, как не удивительно, не работает. Сам я ничего не понимаю в скриптинге, но наткнулся на строку "// should be unique" после адреса (D8 0D 34 C0 B5 01). Я так понимаю, что этот адрес уникален,и именно из-за этого ничего не работает. Соотв. как мне найти мой "адрес", что бы скрипт начал срабатывать? Прошу прощения что пишу настолько глупые вопросы, но я даже не знаю как правильно это прогуглить. Буду благодарен за любую помощь/подсказки. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 4 октября, 2017 Поделиться Опубликовано 4 октября, 2017 7 минут назад, TheEreI сказал: Он, как не удивительно, не работает. Это не скрипт, а просто указана инструкция, скорее всего работающая с нужным адресом. Скрипт нужно ещё написать. Но так как ты не указал для какой опции нужен скрипт, угадать нельзя что нужно делать с инструкцией. Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость TheEreI Опубликовано 4 октября, 2017 Поделиться Опубликовано 4 октября, 2017 26 минут назад, Garik66 сказал: Это не скрипт, а просто указана инструкция, В той сборке несколько таких "инструкций" (Просто прописано value <script>, вот и назвал скриптом, глупый я). 2 из них работают с камерой. Первый работает - позволяет убрать ограничения при опускании камеры до земли, а этот не активируется(по ожиданиям вообще должен откреплят камеру от игрока). И все из-за этого "адреса". Даже если взять более понятный (по назначению) неработающий <script> (Unlimited camera zoom) Скрытый текст [ENABLE] aobscanmodule(INFINITECAMERAZOOM,rqmain.exe,F3 0F 10 05 24 C0 B5 01) // should be unique alloc(newmem,$1000) label(code) label(return) newmem: code: movss xmm1,[rqmain.exe+78C024] jmp return INFINITECAMERAZOOM: jmp code nop nop nop return: registersymbol(INFINITECAMERAZOOM) [DISABLE] INFINITECAMERAZOOM: db F3 0F 10 05 24 C0 B5 01 unregistersymbol(INFINITECAMERAZOOM) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: "rqmain.exe"+26A1B "rqmain.exe"+269F6: 8D 5E 44 - lea ebx,[esi+44] "rqmain.exe"+269F9: F3 0F 11 03 - movss [ebx],xmm0 "rqmain.exe"+269FD: F3 0F 11 4E 3C - movss [esi+3C],xmm1 "rqmain.exe"+26A02: 84 C9 - test cl,cl "rqmain.exe"+26A04: 74 0A - je rqmain.exe+26A10 "rqmain.exe"+26A06: F3 0F 10 44 24 5C - movss xmm0,[esp+5C] "rqmain.exe"+26A0C: F3 0F 11 03 - movss [ebx],xmm0 "rqmain.exe"+26A10: 8B 4E 70 - mov ecx,[esi+70] "rqmain.exe"+26A13: D9 05 28 C0 B5 01 - fld dword ptr [rqmain.exe+78C028] "rqmain.exe"+26A19: 8B 11 - mov edx,[ecx] // ---------- INJECTING HERE ---------- "rqmain.exe"+26A1B: F3 0F 10 05 24 C0 B5 01 - movss xmm0,[rqmain.exe+78C024] // ---------- DONE INJECTING ---------- "rqmain.exe"+26A23: 8B 42 18 - mov eax,[edx+18] "rqmain.exe"+26A26: 51 - push ecx "rqmain.exe"+26A27: D9 1C 24 - fstp dword ptr [esp] "rqmain.exe"+26A2A: F3 0F 11 44 24 1C - movss [esp+1C],xmm0 "rqmain.exe"+26A30: FF D0 - call eax "rqmain.exe"+26A32: D9 5C 24 20 - fstp dword ptr [esp+20] "rqmain.exe"+26A36: 8A 4C 24 0E - mov cl,[esp+0E] "rqmain.exe"+26A3A: 0F 57 C0 - xorps xmm0,xmm0 "rqmain.exe"+26A3D: F3 0F 10 44 24 20 - movss xmm0,[esp+20] "rqmain.exe"+26A43: 0F 57 C9 - xorps xmm1,xmm1 } то он тоже требует свой "адрес". А как его подставить (отыскать) - фиг его знает. Или я вообще глупец, и "// should be unique" после адреса это не намек на корректировку, а так и должно быть? Ссылка на комментарий Поделиться на другие сайты Поделиться
ReWanet Опубликовано 4 октября, 2017 Поделиться Опубликовано 4 октября, 2017 Потому что сигнатура не уникальна т.к. то что ты скачал явно для старых версий игры. Попробуй: Скрытый текст [ENABLE] aobscanmodule(InfZoom,rqmain.exe, F3 0F xx xx xx xx xx xx 8B xx xx 51 D9 1C) alloc(newmem,$1000) label(code) label(return) newmem: code: movss xmm1,[rqmain.exe+7992C4] jmp return InfZoom: jmp code nop nop nop return: registersymbol(InfZoom) [DISABLE] InfZoom: db F3 0F 10 05 C4 92 99 00 unregistersymbol(InfZoom) dealloc(newmem) Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 4 октября, 2017 Поделиться Опубликовано 4 октября, 2017 Ему не надо указывать адреса.. Он включит и игра отвалится. [ENABLE] aobscan(qwe,D9 05 * * * * 8B * F3 0F 10 05 * * * * 8B 42 18) registersymbol(qwe) qwe+08: [DISABLE] qwe+08: unregistersymbol(qwe) Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость TheEreI Опубликовано 4 октября, 2017 Поделиться Опубликовано 4 октября, 2017 28 минут назад, what228 сказал: Попробуй: Благодарю, этот работает. Но возвращаясь к изначальному варианту (инструкции, скрипта, не знаю как называть) - никак нельзя открепить камеру от персонажа? Иногда во время лагов это происходило.. P.s прошу прощения за назойливость, заставляю людей думать... Ссылка на комментарий Поделиться на другие сайты Поделиться
ReWanet Опубликовано 4 октября, 2017 Поделиться Опубликовано 4 октября, 2017 3 минуты назад, TheEreI сказал: Благодарю, этот работает. Цитировать нужно лишь часть на которую отвечаешь ( примерно кака я ) без вставок ( код\спойлер и т.д. ) 4 минуты назад, TheEreI сказал: никак нельзя открепить камеру от персонажа? Найти координаты камеры подняться выше и искать где камера определяет себя к игроку. 5 минут назад, TheEreI сказал: прощения за назойливость В этом нет ничего страшного. Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость TheEreI Опубликовано 4 октября, 2017 Поделиться Опубликовано 4 октября, 2017 4 минуты назад, what228 сказал: Найти координаты камеры подняться выше и искать где камера определяет себя к игроку. Сложно.. Ладно, будем химичить, благодарю за ответы.) Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения