SpiritWithim Опубликовано 24 апреля, 2021 Поделиться Опубликовано 24 апреля, 2021 exe+xxxxxx, где xxxxxx это адрес который меняется с каждым апдейтом игры, собственно как его заменить на символ. скрипт: Спойлер [ENABLE] aobscan(INJECT0,xxxxxxxxxxxxxxxx) alloc(newmem,$64) label(code) label(return) registersymbol(INJECT0) newmem: code: movzx ecx,byte ptr [exe+xxxxxx] jmp return INJECT0: jmp newmem nop nop return: [DISABLE] INJECT0: movzx ecx,byte ptr [exe+xxxxxx] unregistersymbol(INJECT0) dealloc(newmem) Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 24 апреля, 2021 Поделиться Опубликовано 24 апреля, 2021 53 минуты назад, SpiritWithim сказал: собственно как его заменить на символ Тотуриал 4 шаг х64 ... как пример ниже.. Или способ @Garik66 где то тут выкладывал.. искать надо, мне лень. Спойлер [ENABLE] aobscanmodule(INJECT,Tutorial-x86_64.exe,F3 0F ? ? ? ? ? ? 0F 2F ? ? ? ? ? 7A ? 72) alloc(newmem,$1000,INJECT) label(code) label(return) newmem: push rax // кидаешь в стек рег, либо там свободны смотри ниже mov eax,[code+04] // копируешь с функции офсет - почему +4 а не + 3 ? регистр не нужен, да и рег на 4 байта для офсета норм mov dword [rax+rbx],(float)5000 // далее берешь испольуемый игрой рег (как баз адрес) а это rbx и дописываешь офсет к нему хранящийся в rax pop rax code: readmem(INJECT,8) jmp return INJECT: jmp newmem db 90 90 90 return: registersymbol(INJECT) registersymbol(code) [DISABLE] INJECT: readmem(code,8) unregistersymbol(code) unregistersymbol(INJECT) dealloc(newmem) Ps: Нашел вариант Игоря.. хотя и выше указанным образом можно подобное провернуть. Спойлер [ENABLE] aobscan(Test,8bxxxxxxxxxx33xxxxxx33xxxxxx3b) alloc(newmem,$1000,unepic.exe+2D455) label(code) registersymbol(code) label(return) registersymbol(Test) newmem: mov edx,[code+2] mov [edx],deaddead code: readmem(Test,6) jmp return Test: jmp newmem nop return: [DISABLE] Test: readmem(code,6) unregistersymbol(code) unregistersymbol(Test) dealloc(newmem) Ссылка на комментарий Поделиться на другие сайты Поделиться
Pitronic Опубликовано 24 апреля, 2021 Поделиться Опубликовано 24 апреля, 2021 50 минут назад, SpiritWithim сказал: это адрес который меняется с каждым апдейтом игры скинь нормальный скрипт с логами и адрес только не модулем а так как в таблице отображается. Может сумею помочь. Ссылка на комментарий Поделиться на другие сайты Поделиться
SpiritWithim Опубликовано 24 апреля, 2021 Автор Поделиться Опубликовано 24 апреля, 2021 Спойлер [ENABLE] aobscan(up,75xx3bxxxx7cxx33xx89) alloc(newmem,$64) label(code) label(return) registersymbol(up) newmem: code: db 90 90 cmp eax,[ebx+58] jmp return up: jmp newmem return: [DISABLE] up: jne exe+19EF49 cmp eax,[ebx+58] unregistersymbol(up) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: exe+19EF23 exe+19EF02: E8 CB7BFFFF - call 01596AD2 exe+19EF07: E9 FFFEFFFF - jmp 0159EE0B exe+19EF0C: 8B 43 04 - mov eax,[ebx+04] exe+19EF0F: 3B C7 - cmp eax,edi exe+19EF11: 74 36 - je 0159EF49 exe+19EF13: 8B 43 5C - mov eax,[ebx+5C] exe+19EF16: 8B 8B 9C000000 - mov ecx,[ebx+0000009C] exe+19EF1C: 40 - inc eax exe+19EF1D: 89 43 5C - mov [ebx+5C],eax exe+19EF20: F6 C1 04 - test cl,04 // ---------- INJECTING HERE ----------- exe+19EF23: 75 24 - jne 0159EF49 // ---------- DONE INJECTING ---------- exe+19EF25: 3B 43 58 - cmp eax,[ebx+58] exe+19EF28: 7C 1F - jl 0159EF49 exe+19EF2A: 33 C0 - xor eax,eax exe+19EF2C: 89 43 5C - mov [ebx+5C],eax exe+19EF2F: 8B 43 64 - mov eax,[ebx+64] exe+19EF32: F6 C1 02 - test cl,02 exe+19EF35: 0F84 4B010000 - je 0159F086 exe+19EF3B: 83 E8 01 - sub eax,01 exe+19EF3E: 89 43 64 - mov [ebx+64],eax exe+19EF41: 75 06 - jne 0159EF49 } Спойлер [ENABLE] aobscan(INJECT0,0fb6xxxxxxxxxxxx8dxxxxe8xxxxxxxx0fb7xx66xxxx74xx8bxxxxxxxxxx8b) alloc(newmem,$64) label(code) label(return) registersymbol(INJECT0) newmem: code: mov byte ptr [exe+704F63],0 jmp return INJECT0: jmp newmem nop nop return: [DISABLE] INJECT0: movzx eax,byte ptr [exe+704F63] unregistersymbol(INJECT0) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: exe+134C7F exe+134C64: FF 45 FC - inc [ebp-04] exe+134C67: 8B C2 - mov eax,edx exe+134C69: 83 65 F8 00 - and dword ptr [ebp-08],00 exe+134C6D: 2B C1 - sub eax,ecx exe+134C6F: 89 45 F0 - mov [ebp-10],eax exe+134C72: 85 DB - test ebx,ebx exe+134C74: 78 5B - js 01534CD1 exe+134C76: 8B 55 FC - mov edx,[ebp-04] exe+134C79: 89 55 EC - mov [ebp-14],edx exe+134C7C: 8B 4D F8 - mov ecx,[ebp-08] // ---------- INJECTING HERE ----------- exe+134C7F: 0FB6 05 634FB001 - movzx eax,byte ptr [01B04F63] // ---------- DONE INJECTING ---------- exe+134C86: 50 - push eax exe+134C87: 8D 0C 31 - lea ecx,[ecx+esi] exe+134C8A: E8 CC010000 - call 01534E5B exe+134C8F: 0FB7 C0 - movzx eax,ax exe+134C92: 66 85 C0 - test ax,ax exe+134C95: 74 13 - je 01534CAA exe+134C97: 8B 15 DC19A701 - mov edx,[01A719DC] exe+134C9D: 8B 4D F0 - mov ecx,[ebp-10] exe+134CA0: 98 - cwde exe+134CA1: 50 - push eax } Ссылка на комментарий Поделиться на другие сайты Поделиться
Pitronic Опубликовано 24 апреля, 2021 Поделиться Опубликовано 24 апреля, 2021 (изменено) ты не сигнатурой аоб скинь а обычными байтами в своём скрипте потом сделаешь сигнатура, дело в том что в аоб перевёрнутый адрес а я его в иксах не вижу и ещё я адрес просил чтоб правильно скрипт написать вот так адрес скинь [27A6A58] имено числом как в примере. Изменено 24 апреля, 2021 пользователем Pitronic Ссылка на комментарий Поделиться на другие сайты Поделиться
Pitronic Опубликовано 24 апреля, 2021 Поделиться Опубликовано 24 апреля, 2021 (изменено) и в [DISABLE] мне тож надо так чтоб правильно количество байт посчитать, на один больше один меньше вылет из игры будет AllAutoMach: db 8B 90 28 8C 00 00 а в своём потом изменишь Изменено 24 апреля, 2021 пользователем Pitronic Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 24 апреля, 2021 Поделиться Опубликовано 24 апреля, 2021 1 минуту назад, Pitronic сказал: мне тож надо так чтоб правильно количество байт посчитать, А что там считать.. хук на сколько ? не 5 байт разве.... и nop nop у него в 2 байта.. Выходит 7 , что там считать то. Ссылка на комментарий Поделиться на другие сайты Поделиться
SpiritWithim Опубликовано 24 апреля, 2021 Автор Поделиться Опубликовано 24 апреля, 2021 Спойлер [ENABLE] //code from here to '[DISABLE]' will be used to enable the cheat alloc(newmem,2048) label(returnhere) label(originalcode) label(exit) newmem: //this is allocated memory, you have read,write,execute access //place your code here originalcode: movzx eax,byte ptr [01B04F63] exit: jmp returnhere "exe"+134C7F: jmp newmem nop nop returnhere: [DISABLE] //code from here till the end of the code will be used to disable the cheat dealloc(newmem) "exe"+134C7F: movzx eax,byte ptr [01B04F63] //Alt: db 0F B6 05 63 4F B0 01 Ссылка на комментарий Поделиться на другие сайты Поделиться
Pitronic Опубликовано 24 апреля, 2021 Поделиться Опубликовано 24 апреля, 2021 32 минуты назад, LIRW сказал: не 5 байт разве.. Женя прав скинь только аддрес сейчас сделаю Попробуй скрипт Спойлер [ENABLE] aobscan(_Chtohoxesh_,xxxxxxxxxxxxxxxxxxxxxxx) // твоя сигнатура на поиск alloc(newmem,$1000) label(return) label(code) registersymbol(_Chtohochesh_) registersymboll(code) newmem: //this is allocated memory, you have read,write,execute access //place your code here push eax mov eax,[code+3] // и код тебе для примера mov [eax],#512 code: // movzx eax,byte ptr [01B04F63] readmem(_Chtohochesh_,7) //здесь де семёрка пишешь чсло сколько байт в [DISABLE] pop eax jmp return _Chtohoxesh_: jmp newmem db 90 90 return: [DISABLE] //code from here till the end of the code will be used to disable the cheat _Chtohoxesh_: // db 0F B6 05 63 4F B0 01 readmem(code,7) unregistersymbol(code) unregistersymbol(_Chtohochesh_) dealloc(newmem) Отпишись, работает не? Ссылка на комментарий Поделиться на другие сайты Поделиться
SpiritWithim Опубликовано 24 апреля, 2021 Автор Поделиться Опубликовано 24 апреля, 2021 (изменено) спасибо, как протестирую отпишусь. upd: спасибо, работает, вылетов нет, но неизвестно что будет когда игра обновиться и еще вопрос про mov eax,[code+3] почему именно +3? Изменено 24 апреля, 2021 пользователем SpiritWithim Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 24 апреля, 2021 Поделиться Опубликовано 24 апреля, 2021 52 минуты назад, Pitronic сказал: push eax не нужен он там, и без него сразу в "eax" можно. Ссылка на комментарий Поделиться на другие сайты Поделиться
Pitronic Опубликовано 24 апреля, 2021 Поделиться Опубликовано 24 апреля, 2021 5 часов назад, SpiritWithim сказал: и еще вопрос про mov eax,[code+3] обрати внимание на адрес [01B04F63] раэбиваем на байты 01 B0 4F 63 теперь пишем байты наоборот 63 4F B0 01 и теперь глянь в [DISABLE] _Chtohoxesh_: // db 0F B6 05 63 4F B0 01 наш перевернуты адрес в байтах 63 4F B0 01 и прочитай с третьего байта, вот потому и +3 5 часов назад, SpiritWithim сказал: но неизвестно что будет в eax запишется другой обновлённый адрес вот как раз по нашей теме Чпок Ссылка на комментарий Поделиться на другие сайты Поделиться
SpiritWithim Опубликовано 24 апреля, 2021 Автор Поделиться Опубликовано 24 апреля, 2021 (изменено) 13 минут назад, Pitronic сказал: обрати внимание на адрес [01B04F63] раэбиваем на байты 01 B0 4F 63 теперь пишем байты наоборот 63 4F B0 01 и теперь глянь в [DISABLE] _Chtohoxesh_: // db 0F B6 05 63 4F B0 01 наш перевернуты адрес в байтах 63 4F B0 01 и прочитай с третьего байта, вот потому и +3 вот тут я не особо понял)), если адрес из 4 байт то откуда +3 и почему с 3 байта?, хочу понять логику Изменено 24 апреля, 2021 пользователем SpiritWithim Ссылка на комментарий Поделиться на другие сайты Поделиться
Pitronic Опубликовано 24 апреля, 2021 Поделиться Опубликовано 24 апреля, 2021 (изменено) 9 минут назад, SpiritWithim сказал: вот тут я не особо понял)) что опять не понял? смотри под спойлером Спойлер [DISABLE] _Chtohoxesh_: // db 0F B6 05 63 4F B0 01 ещё раз объясняю тока наоборот наш перевёрнутый адрес 63 4F B0 01 если байты написать наоборот 01 B0 4F 63 а теперь соединим 01B04F01 видишь именно наш адрес получился в db 0F B6 05 63 4F B0 01 63 идет с третьего байта за ним остальные байты нашего адреса с третьего байта наш перевёрнутый адрес 63 4F B0 01 Изменено 24 апреля, 2021 пользователем Pitronic Ссылка на комментарий Поделиться на другие сайты Поделиться
SpiritWithim Опубликовано 24 апреля, 2021 Автор Поделиться Опубликовано 24 апреля, 2021 8 минут назад, Pitronic сказал: что опять не понял? с третьего байта наш перевёрнутый адрес 63 4F B0 01 [DISABLE] _Chtohoxesh_: // db 0F B6 05 63 4F B0 01 ещё раз объясняю тока наоборот наш перевёрнутый адрес 63 4F B0 01 если байты написать наоборот 01 B0 4F 63 атеперь соеденим // это я так понял 01B04F63 01B04F01 видешь именно наш адрес получился //наш адрес 01 B0 4F 63 в db 0F B6 05 63 4F B0 01// получаеться наш адресс из 4 байт 63 4F B0 01 63 идет с третьего байта за ним остальные байты нашего адреса//db 0F B6 05 63 4F B0 01 а не с 4? что слева что справа Ссылка на комментарий Поделиться на другие сайты Поделиться
Pitronic Опубликовано 24 апреля, 2021 Поделиться Опубликовано 24 апреля, 2021 (изменено) 6 минут назад, SpiritWithim сказал: что опять не понял? запутал я тебя +3 это пропуск трёх байт теперь понятно? Изменено 24 апреля, 2021 пользователем Pitronic Ссылка на комментарий Поделиться на другие сайты Поделиться
SpiritWithim Опубликовано 24 апреля, 2021 Автор Поделиться Опубликовано 24 апреля, 2021 (изменено) объясни пожалуйста почему 3? это как то связанно вот с этим? jmp newmem nop nop Изменено 24 апреля, 2021 пользователем SpiritWithim Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 24 апреля, 2021 Поделиться Опубликовано 24 апреля, 2021 2 минуты назад, SpiritWithim сказал: объясни пожалуйста почему 3? Оригинальные байты: 0F B6 05 63 4F B0 01 0F B6 05 < op код - адрес > 63 4F B0 01 // тебе нужен адрес. Значит опкод в 3 байта надо пропустить. +3 и копировать сам адрес 63 4F B0 01 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
SpiritWithim Опубликовано 24 апреля, 2021 Автор Поделиться Опубликовано 24 апреля, 2021 вот теперь понял) Ссылка на комментарий Поделиться на другие сайты Поделиться
SpiritWithim Опубликовано 24 апреля, 2021 Автор Поделиться Опубликовано 24 апреля, 2021 спасибо вам ребят, ни разу такую технику не использовал интересно стало)) 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Pitronic Опубликовано 24 апреля, 2021 Поделиться Опубликовано 24 апреля, 2021 1 минуту назад, SpiritWithim сказал: вот теперь понял) Ну на конец то, Успехов тебе во взломе Ссылка на комментарий Поделиться на другие сайты Поделиться
SpiritWithim Опубликовано 24 апреля, 2021 Автор Поделиться Опубликовано 24 апреля, 2021 спасибо 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Pitronic Опубликовано 24 апреля, 2021 Поделиться Опубликовано 24 апреля, 2021 21 минуту назад, LIRW сказал: Оригинальные байты: Спасибо Женя, я бы не догадался так объяснить. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Pitronic Опубликовано 24 апреля, 2021 Поделиться Опубликовано 24 апреля, 2021 А за что нам минусы? Что уже спасибо нельзя сказать? Ссылка на комментарий Поделиться на другие сайты Поделиться
SpiritWithim Опубликовано 24 апреля, 2021 Автор Поделиться Опубликовано 24 апреля, 2021 я хз как поставить репутацию и минусов не ставил) Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения