-
Постов
400 -
Зарегистрирован
-
Посещение
-
Победитель дней
26
Тип контента
Профили
Форумы
Загрузки
Блоги
Сообщения, опубликованные gmz
-
-
49 минут назад, ZoNeD сказал:
Что я делаю не так?
искать B3F8B45C не проб?
-
надо EnumWindows и в EnumWindowsProc проверку по названию? стилю?
-
13 часов назад, Antonshka сказал:
Подскажите, какова общая схема создания и использования трейнера/приложения, который работает по средствам написанной dll.
1 в DllMain DLL_PROCESS_ATTACH кодишь инжектор и создание локал потока на Main
2 проверка GetModuleHandleW - модуль игры не найден - инжект и return 0 а если найден - локал поток на Main и return 1
3 инжектор K32EnumProcesses/K32GetModuleBaseNameW/lstrcmpiW/OpenProcess/VirtualAllocEx/GetModuleFileNameW/WriteProcessMemory/CreateRemoteThread/LoadLibraryW
4 кодишь чит в Main
5 можешь переименовать dll в cpl для запуска почти как ехе или rundll32.exe hack.dll,0 -
В 20.07.2021 в 18:57, alkayde123 сказал:
Можно ли что-то придумать?
PostMessage и
0x0200 -> WM_NCMOUSEMOVE
0x0201 -> WM_NCLBUTTONDOWN
0x0202 -> WM_NCMBUTTONUP -
5 часов назад, LIRW сказал:
А так будет еще лучше! и стек не сломаешь.
там надо на fstp dword ptr [eax+00000130] ставить
fstp st0
nop [eax+eax]
или
fld1 < jmp
fsubr dword ptr [eax+00000130]
fstp dword ptr [eax+00000130]
fld dword ptr [ebx+30] < -
35 минут назад, Antonshka сказал:
В 64 битном приложении, RSP до и после вызова всегда одинаковый. Никакой автоматизации нет.
там статик стек, например:
testz: struc .stack resq 4 .5 resq 1 alignb 16 resq 1 endstruc sub rsp,.stack_size mov ecx,1 mov edx,2 mov r8d,3 mov r9d,4 mov dword[rsp+.5],5 call [xxxxxxxx] mov ecx,1 call [xxxxx] add rsp,.stack_size ret
где .5 макс количество параметров апи
-
1
-
1
-
-
13 часов назад, RenW сказал:
Может быть, есть ещё какие-то методы разобраться с .exe и .dll?
подкл в игру х64dbg, ctrl+g > VirtualProtect ставишь брек, инжект хак или жми опцию - в стеке в 1 адресе увидишь код (может и не длл) который работает с опцией а в rcx адрес. жмешь ф9 и смотришь все адреса.
13 часов назад, RenW сказал:Так как я не особо понимаю, с чем завязана такая система приватных читов, я хочу добиться большей информации.
там веротяно после логина подгруз длл а потом инжект через LoadLibraryA или LoadLibraryW или VirtualAllocEx+иниц (посл вариант оч маловероятно)
14 часов назад, RenW сказал:И.. если вся информация содержится в .dll то, можно ли чем-нибудь другим подключить его к игре и всё? Либо же написать свой инжектор...
длл там может использоватся как переходник. например ехе пишет в нее в опред. место 1 для вкл какой то опции тд тп
10 часов назад, RenW сказал:ESP сильно волнует, ведь оно очень важно, а я понятия не имею, как его вытащить из программы, если изменения будут приходить с сервера
есп похож на игровой, вероятно 1 байт патч
11 часов назад, imaginary сказал:тогда даже все изменения для кода игры могут присылаться с сервера
иии тогда придется все кодить с 0 даж на основе этой инфы
-
Borderlands GoldKeys
Просмотр файла
Borderlands Game of the Year Enhanced x64
Borderlands 2 x32
Borderlands The Pre Sequel x32
Borderlands 3 Ultimate Edition x64
Tiny Tina's Wonderlands x64
Запустить игру, инжект - ключи безлимит.
Для отключения - нажать Pause
Написан на fasm
-
Добавил
-
Добавлено11.12.2019
-
Категория
-
2
-
-
2 часа назад, Hack сказал:
Затем тут тип LPTHREAD_START_ROUTINE?
ну эт как пример. юзал похоже в
CreateRemoteThread(hProcess,0,0x1000,(LPTHREAD_START_ROUTINE)LoadLibraryW,RemoteBuffer,0,0);
-
22 часа назад, Hack сказал:
Что? Как это использовать потом?
также. просто адреса напрямую из импорта. оно ведь не ASLR в любом варианте.
-
В 25.10.2019 в 21:07, Hack сказал:
HMODULE kernel32 = GetModuleHandleA("kernel32.dll");
pGetModuleHandleA = (_GetModuleHandleA)GetProcAddress(kernel32, "GetModuleHandleA");
pGetProcAddress = (_GetProcAddress)GetProcAddress(kernel32, "GetProcAddress");
это и похоже - что бы было больше текста?
(LPTHREAD_START_ROUTINE)GetModuleHandleA (LPTHREAD_START_ROUTINE)GetProcAddress
-
21 час назад, Razi сказал:
Можно поставить на windows xp (32 bit) виртуальную машину с windows 7 (64 bit)?
vbox можно, будет медленно. там доп. пак обнов надо если она чисто сп3
-
20 часов назад, Razi сказал:
Меняется ли базовый адрес exe файла на 64 bit ОС, если запускать exe файл в режиме совместимости 32 bit?
открой файл в CFFExplorer -> Optional header -> DllCharacteristics > если там галка на "Dll can move" - меняется
20 часов назад, Razi сказал:Сделал трейнер с базовым адресом 0x400000 и не знаю сможет ли он считывать правильные значения на 64 bit ОС, при запуске exe файла игры в 32 bit.
если в игре вкл ASLR - нет
-
1 час назад, TimaS сказал:
if (!strcmp(mEntry.szModule, modName)) // тут показывает ошибку
lstrcmpi или _wcsicmp
1 час назад, TimaS сказал:!strcmp(pEntry.szExeFile, proc)) // тут показывает ошибку
lstrcmpi или _wcsicmp
-
39 минут назад, MadVlad сказал:
Эту функцию использовать в конце хук-функции? И где взять аргумент для неё? Или перехватить её и в ней делать ReleaseFont?
без параметров хук. потом проверяешь font на 0 и если не 0 - достаешь из font указатель на ReleaseFont
44 минуты назад, MadVlad сказал:вопрос насчёт координат
хз пробуй как флоат
-
1
-
-
5 минут назад, MadVlad сказал:
А можно пожалуйста по подробнее, что означает reset hook?
IDirect3DDevice9::Reset
-
1
-
-
19 часов назад, MadVlad сказал:
Игра вылетает, если к примеру изменить размер окна, сделать окно неактивным а потом его активировать. В чём дело - понятия не имею.
надо reset хук и там делать ReleaseFont +font в 0
В 27.06.2019 в 22:28, MadVlad сказал:Ищу сигнатуру функции EndScene
это лучше хук на коде игры - макс надежно на любой версии ос
-
1
-
-
В 19.05.2019 в 13:08, Hack сказал:
Есть способ проще и быстрее?
Спойлерmov rax,[.exeBase] mov ecx,[.exeSize] add rcx,rax .Scan: cmp byte[rax+0],0x31 jnz @f cmp byte[rax+1],0x31 jnz @f cmp byte[rax+2],0x31 jnz @f cmp byte[rax+3],0x31 jnz @f cmp byte[rax+5],0x31 jnz @f mov [OptionA],rax @@: cmp byte[rax+0],0x32 jnz @f cmp byte[rax+1],0x32 jnz @f cmp byte[rax+2],0x32 jnz @f cmp byte[rax+3],0x32 jnz @f cmp byte[rax+7],0x32 jnz @f mov [OptionB],rax @@: inc rax cmp rax,rcx jnz .Scan
только если все сразу. а так обычно спец функция на 0x31 ?? 0x31 0x31 ?? 0x31
В 19.05.2019 в 19:50, partoftheworlD сказал:, с AVX2 - 40-55 мс
1 байт срав. на авх? Lol
-
newmem: mov eax,0a mov ecx,5 xor edx,edx div ecx code: mov [ebx+00000480],edx jmp return
-
2
-
-
12 часов назад, barsuuk сказал:
после выполнения кс зависает и вылетает. Скорее всего ошибка в том что я не туда лезу))
иниц функции пропустил. наверно оно будет работать если вызвать на push ebp и если передать правильно каких то 2 параметра..
-
сделает -1 байт какая разница, там нав над еще test2(DWORD_PTR p1,DWORD_PTR p2) тд тп что бы корректировать возврат если ориг функция юзала параметры
-
17 часов назад, faik003 сказал:
зачем было вставлять 6 байтом в массиве опкод 0x90 (NOP)?
в примере хук ставится на х3 rdtsc = 6 байт
-
14 часов назад, faik003 сказал:
Блин, у меня складывается впечатление, что либо не читают мои посты перед тем, как ответить, либо я чего-то не понимаю.
ну Lol
int test1(){ __rdtsc(); __rdtsc(); __rdtsc(); return 1; } void test2(){ __rdtsc(); } DWORD_PTR Hook = (DWORD_PTR)test1; DWORD_PTR Func = (DWORD_PTR)test2; DWORD_PTR temp; static BYTE Call[] = {0xE8,0x00,0x00,0x00,0x00,0x90}; *(DWORD*)(Call+1) = (Func-5)-Hook; VirtualProtect((LPVOID)Hook,sizeof Call,PAGE_EXECUTE_READWRITE,&temp); memcpy((LPVOID)Hook,Call,sizeof Call); VirtualProtect((LPVOID)Hook,sizeof Call,temp,&temp);
-
1
-
1
-
-
вероятно надо IsWindowVisible проверку
C++ Smart AobScan
in Общение
Опубликовано
иии... % скорости какой на 100-500мб?