Гость Damian Опубликовано 23 февраля, 2019 Поделиться Опубликовано 23 февраля, 2019 Есть сигнатура допустим aobscanmodule(INJECT, Game.exe, E8 xx 47 15 00) При [ENABLE] все в порядке.. Но когда я прописываю в [DISABLE] INJECT: db E8 xx 47 15 00 Оно возвращает не значение, которое было в [xx] а [AA] в итоге получается db E8 AA 47 15 00 Вопрос.. Как вернуть оригинальное значение? Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 23 февраля, 2019 Поделиться Опубликовано 23 февраля, 2019 23 минуты назад, Damian сказал: Как вернуть оригинальное значение? Ну к пример, так: Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Damian Опубликовано 24 февраля, 2019 Поделиться Опубликовано 24 февраля, 2019 Ага спасибо понятно. А теперь другой вопрос.. Как мне теперь занопить? если надо вписывать readmem и оно повторяет байты и ноп идет вверху инструкции? Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 24 февраля, 2019 Поделиться Опубликовано 24 февраля, 2019 2 минуты назад, Damian сказал: Как мне теперь занопить? Спойлер newmem: db 90 90 90 90 90 90 // тоже количество байт, что и readmem jmp return // и бежим оттуда // в результате оригинальная инструкция не выполняется. code: readmem(Test,6) jmp return Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Damian Опубликовано 24 февраля, 2019 Поделиться Опубликовано 24 февраля, 2019 Есть) Про джамп забыл) Спасибо) Все отлично работает) Ссылка на комментарий Поделиться на другие сайты Поделиться
Merlin Опубликовано 5 июня, 2019 Поделиться Опубликовано 5 июня, 2019 Всем привет! У меня тоже вопрос по aobscanmodule, нашёл в инете готовый рабочий скрипт: Спойлер <?xml version="1.0" encoding="utf-8"?> <CheatTable CheatEngineTableVersion="28"> <CheatEntries> <CheatEntry> <ID>1094</ID> <Description>"zoomhack"</Description> <LastState/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>{ Game : PathOfExile_x64.exe Version: Date : Author : } [ENABLE] aobscanmodule(zoomhack,PathOfExile_x64.exe,77 03 0F 28 D1) registersymbol(zoomhack) aobscanmodule(defog,PathOfExile_x64.exe,22 44 0F B6 45 08) registersymbol(defog) alloc(defogmem,$1000,"PathOfExile_x64.exe"+CA0C13) defogmem: movzx r8d,byte ptr [rbp+08] cmp r15,950 ja long return xor r8,r8 and [rbp+08],0 jmp long return zoomhack: nop nop defog+01: jmp defogmem return: [DISABLE] zoomhack: db 77 03 0F 28 D1 unregistersymbol(zoomhack) defog+01: db 44 0F B6 45 08 unregistersymbol(defog) dealloc(defogmem) { // ORIGINAL CODE - INJECTION POINT: "PathOfExile_x64.exe"+5C7719 "PathOfExile_x64.exe"+5C76EB: 66 0F 6E 47 18 - movd xmm0,[rdi+18] "PathOfExile_x64.exe"+5C76F0: 0F 57 C9 - xorps xmm1,xmm1 "PathOfExile_x64.exe"+5C76F3: 0F 5B C0 - cvtdq2ps xmm0,xmm0 "PathOfExile_x64.exe"+5C76F6: F3 0F 59 05 22 00 0D 01 - mulss xmm0,[PathOfExile_x64.exe+1697720] "PathOfExile_x64.exe"+5C76FE: F3 0F 58 83 1C 13 00 00 - addss xmm0,dword ptr [rbx+0000131C] "PathOfExile_x64.exe"+5C7706: 0F 2F C1 - comiss xmm0,xmm1 "PathOfExile_x64.exe"+5C7709: 72 10 - jb PathOfExile_x64.exe+5C771B "PathOfExile_x64.exe"+5C770B: F3 0F 10 15 F1 01 0D 01 - movss xmm2,[PathOfExile_x64.exe+1697904] "PathOfExile_x64.exe"+5C7713: 0F 28 C8 - movaps xmm1,xmm0 "PathOfExile_x64.exe"+5C7716: 0F 2F C2 - comiss xmm0,xmm2 // ---------- INJECTING HERE ---------- "PathOfExile_x64.exe"+5C7719: 77 03 - ja PathOfExile_x64.exe+5C771E "PathOfExile_x64.exe"+5C771B: 0F 28 D1 - movaps xmm2,xmm1 // ---------- DONE INJECTING ---------- "PathOfExile_x64.exe"+5C771E: F3 0F 11 93 1C 13 00 00 - movss [rbx+0000131C],xmm2 "PathOfExile_x64.exe"+5C7726: C6 07 01 - mov byte ptr [rdi],01 "PathOfExile_x64.exe"+5C7729: 48 8B 74 24 40 - mov rsi,[rsp+40] "PathOfExile_x64.exe"+5C772E: 48 8B 5C 24 48 - mov rbx,[rsp+48] "PathOfExile_x64.exe"+5C7733: 48 83 C4 30 - add rsp,30 "PathOfExile_x64.exe"+5C7737: 5F - pop rdi "PathOfExile_x64.exe"+5C7738: C3 - ret "PathOfExile_x64.exe"+5C7739: CC - int 3 "PathOfExile_x64.exe"+5C773A: CC - int 3 "PathOfExile_x64.exe"+5C773B: CC - int 3 } </AssemblerScript> </CheatEntry> </CheatEntries> <UserdefinedSymbols/> </CheatTable> Пытаюсь через CE поиском в HEX искать массив байт 77 03 0F 28 D1, не получается, ничего не находит. Подскажите, пожалуйста, как в CE выйти на место с инструкциями через сигнатуры указанными в aobscanmodule? Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 5 июня, 2019 Поделиться Опубликовано 5 июня, 2019 2 часа назад, Merlin сказал: Пытаюсь через CE поиском в HEX искать массив байт 77 03 0F 28 D1, не получается, ничего не находит. Либо ищешь неправильно, либо не в то время. Возможно, нужно, чтобы была карта загружена или еще что-то в этом духе. Возможно, версия игры не совпадает. Ссылка на комментарий Поделиться на другие сайты Поделиться
imaginary Опубликовано 5 июня, 2019 Поделиться Опубликовано 5 июня, 2019 2 часа назад, Merlin сказал: ничего не находит. Галочка Hex стоит? Флаги внизу Writable и CopyAndWrite установлены в состояние квадратика? (не галочка не пустое место). Если нет - то и не будет искать, потому что так он ищет только в перезаписываемой памяти а не в исполняемой. 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
Merlin Опубликовано 5 июня, 2019 Поделиться Опубликовано 5 июня, 2019 (изменено) 1 час назад, imaginary сказал: Флаги внизу Writable и CopyAndWrite установлены в состояние квадратика? (не галочка не пустое место). О, да! Большое спасибо, с квадратиками нашлись адреса! Спойлер Админы, дайте мне возможность плюсик в репутацию imaginary поставить или поставьте за меня. Мой затуп был долгим, совет пригодился! ? Изменено 5 июня, 2019 пользователем Merlin Редактирование html картинки Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 5 июня, 2019 Поделиться Опубликовано 5 июня, 2019 1 час назад, Merlin сказал: Админы, дайте мне возможность плюсик в репутацию imaginary поставить или поставьте за меня. Мой затуп был долгим, совет пригодился! ? Поставил.... С удовольствием. Ссылка на комментарий Поделиться на другие сайты Поделиться
Exile Опубликовано 26 апреля, 2022 Поделиться Опубликовано 26 апреля, 2022 Всем привет! В продолжении поста "Merlin", ситуация следующая -> прилетело очередное обновление (PathofExile) и часть скрипта перестала работать... А именно очень необходимая фишка "Increase Player Light" (игра очень тёмная + монитор не яркий и ужас...) Ситуация усугубляется тем, что поддержки скрипта (обновления, правки...) уже не будет, команда разрабов развалилась. Собственно вопрос -> aobscanmodule(IncreasePlayerLightAob, PathofExile.exe, 48 8d 55 f0 f3 41 0f 58 49 04) -> естественно, после обновы массив 48 8d 55 f0 f3 41 0f 58 49 04 не находит.... Как теперь починить скрипт? Спойлер <?xml version="1.0" encoding="utf-8"?> <CheatTable CheatEngineTableVersion="34"> <CheatEntries> <CheatEntry> <ID>5</ID> <Description>"Increase Player Light"</Description> <Options moActivateChildrenAsWell="1"/> <LastState/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>[ENABLE] aobscanmodule(IncreasePlayerLightAob, PathofExile.exe, 48 8d 55 f0 f3 41 0f 58 49 04) define(IncreasePlayerLight, IncreasePlayerLightAob) define(IncreasePlayerLightReturn, IncreasePlayerLightAob+98) alloc(IncreasePlayerLightOriginal, $5) alloc(Handler, $1500, IncreasePlayerLight) registersymbol(IncreasePlayerLight) registersymbol(IncreasePlayerLightOriginal) registersymbol(IncreasePlayerLightReturn) registersymbol(Intensity) IncreasePlayerLightOriginal: readmem(IncreasePlayerLight, 5) Handler: lea rdx,[rbp-10] addss xmm1,[r9+04] mulss xmm4,[Intensity] mov rcx,rbx mov qword ptr [rbp-20],00000000 subss xmm0,[other1] mov [rbp-18],3F800000 subss xmm1,[FrontDistance] movaps xmm3,xmm4 mov [rsp+20],rax addss xmm0,[other2] addss xmm1,[other3] movss [rbp-10],xmm0 movss xmm0,[rbp+30] subss xmm0,[Height] movss [rbp-0C],xmm1 movss xmm1,[rbx+44] movss [rbp-2C],xmm1 addss xmm0,[r8+38] lea r8,[rbp-20] addss xmm0,[other4] movss [rbp-08],xmm0 movss xmm0,[rbx+40] movss [rbp-30],xmm0 movss xmm0,[rbx+48] movss [rbp-28],xmm0 jmp IncreasePlayerLightReturn Height: dd (float)1000.0 Intensity: dd (float)20000.0 FrontDistance: dd (float)83.50 other1: dd (float)22.50 other2: //375F218 dd (float)1.00 other3: dd (float)0.00 other4: dd (float)0.00 IncreasePlayerLight: jmp Handler [DISABLE] IncreasePlayerLight: readmem(IncreasePlayerLightOriginal, 5) unregistersymbol(IncreasePlayerLight) unregistersymbol(IncreasePlayerLightOriginal) unregistersymbol(IncreasePlayerLightReturn) unregistersymbol(Intensity) dealloc(IncreasePlayerLightOriginal) dealloc(Handler) </AssemblerScript> <CheatEntries> <CheatEntry> <ID>49</ID> <Description>"Intensity [ 0 ~9999999]"</Description> <ShowAsSigned>0</ShowAsSigned> <VariableType>Float</VariableType> <Address>Intensity</Address> </CheatEntry> </CheatEntries> </CheatEntry> <CheatEntry> <ID>2</ID> <Description>"Always Show Enemy Health Bars"</Description> <LastState/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>[ENABLE] aobscanmodule(AlwaysShowHealthBars, PathofExile.exe, 7C 6D 41 8B 88 EC 01 00 00) registersymbol(AlwaysShowHealthBars) AlwaysShowHealthBars: db EB [DISABLE] AlwaysShowHealthBars: db 7C unregistersymbol(AlwaysShowHealthBars) { // ORIGINAL CODE - INJECTION POINT: PathOfExile.exe+4E39C5 PathOfExile.exe+4E399B: 83 F0 01 - xor eax,01 PathOfExile.exe+4E399E: 03 D0 - add edx,eax PathOfExile.exe+4E39A0: 66 0F 6E CA - movd xmm1,edx PathOfExile.exe+4E39A4: 0F 5B C9 - cvtdq2ps xmm1,xmm1 PathOfExile.exe+4E39A7: 41 2B 88 54 02 00 00 - sub ecx,[r8+00000254] PathOfExile.exe+4E39AE: 41 BA 00 00 00 00 - mov r10d,00000000 PathOfExile.exe+4E39B4: F3 0F 2C C1 - cvttss2si eax,xmm1 PathOfExile.exe+4E39B8: 2B C8 - sub ecx,eax PathOfExile.exe+4E39BA: 41 0F 48 CA - cmovs ecx,r10d PathOfExile.exe+4E39BE: 41 39 88 50 02 00 00 - cmp [r8+00000250],ecx // ---------- INJECTING HERE ---------- PathOfExile.exe+4E39C5: 7C 6D - jl PathOfExile.exe+4E3A34 // ---------- DONE INJECTING ---------- PathOfExile.exe+4E39C7: 41 8B 88 EC 01 00 00 - mov ecx,[r8+000001EC] PathOfExile.exe+4E39CE: 66 41 0F 6E 88 F8 01 00 00 - movd xmm1,[r8+000001F8] PathOfExile.exe+4E39D7: 0F 5B C9 - cvtdq2ps xmm1,xmm1 PathOfExile.exe+4E39DA: 66 0F 6E C1 - movd xmm0,ecx PathOfExile.exe+4E39DE: 0F 5B C0 - cvtdq2ps xmm0,xmm0 PathOfExile.exe+4E39E1: F3 0F 59 C8 - mulss xmm1,xmm0 PathOfExile.exe+4E39E5: F3 0F 59 CC - mulss xmm1,xmm4 PathOfExile.exe+4E39E9: F3 0F 2C D1 - cvttss2si edx,xmm1 PathOfExile.exe+4E39ED: 81 FA 00 00 00 80 - cmp edx,80000000 PathOfExile.exe+4E39F3: 74 21 - je PathOfExile.exe+4E3A16 } </AssemblerScript> </CheatEntry> Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 28 апреля, 2022 Поделиться Опубликовано 28 апреля, 2022 В 26.04.2022 в 12:41 PM, Exile сказал: Как теперь починить скрипт? Без понимания, как это работает - никак не починишь. Массив, что ты указал, это определенный набор байтов, который характерен для определенных инструкций процессора. Поскольку после обновления игры ты не можешь найти этот массив, мы можем говорить о том, что код изменился. А это, в свою очередь означает, что нужно с нуля находить нужный код. Ну или попробовать взять часть массива, которая отвечает за коды инструкций без конкретных адресов, и поискать с маской. Но, опять же, без понимания, что это, и как делается, шансов очень мало. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения