Перейти к содержанию

gmz

Разработчики (+)
  • Постов

    400
  • Зарегистрирован

  • Посещение

  • Победитель дней

    26

Весь контент gmz

  1. справку смотри. он может качать все по порядку без костылей.
  2. нарисуй там статик меню +одна опции - одна функция +собери в 4кб - будет круче чем его СЕ тренеры
  3. winhttp заюзай. там примеров на С++ море. а можно готовое заюзать - wget +cmd винды..
  4. на скринах - FileAlignment 0x00000200. а в nocd прим. NFSMW > FileAlignment 0x00001000 - косяк. это не "новые сдвиги" а нормальная сборка модуля. код туда (до инициализации) нельзя вставлять так как загрузчик ставит там PAGE_READONLY - DEP включен - креш. дыры.. модуль.. если нету места в секции кода - создай новую. например в CFFExplorer > Add Section (empty space) +PAGE_EXECUTE_READWRITE и добавляешь туда код который ты в хидер кидал. хмм тебе наверно еще ASLR помешает, если будет в коде чет типа mov [xxxxxx],eax
  5. так я показал как. только не говори что надо на СЕ Lol то что на скринах - выравнивание. вполне вероятно когда там у тебя сходилось это был криво распак. протектор/пакер. в норм PE 512 как на скрине 1
  6. хоть игре конец, но исходник может кому то пригодится. заменил ссылки в шапке на v0.46
  7. тему можно удалять. игру закрыли.
  8. все проще... 0x00400000 BASE 0x0097CEFC VA (0x0057CEFC+0x00400000) 0x0057CEFC RVA (0x0097CEFC-0x00400000) 0x0057C2FC RAW (0x0057CEFC-0x00001000+0x00000400) 0x00001000 Section Virtual Address 0x00000400 Section Raw Address возьми CFFExplorer.exe и сам посчитай xD
  9. даешь длке расширение cpl или настрой компиль чтобы ставил не .dll а .cpl - и можешь инжектить ее в игру 2 кликом как будто это .ехе для онлайна как минимум надо добавить заморозку процесcа например NtSuspendProcess/NtResumeProcess и когда процесс заморожен - скрыть модуль в PEB +ставить все хуки/патчи перед созданием потока. +вариант 2 получения размера модуля (напрямую): PIMAGE_DOS_HEADER pDosHeader = (PIMAGE_DOS_HEADER)GetModuleHandle(0);PIMAGE_FILE_HEADER pFileHeader = (PIMAGE_FILE_HEADER)((DWORD)pDosHeader+pDosHeader->e_lfanew+sizeof(IMAGE_NT_SIGNATURE));PIMAGE_OPTIONAL_HEADER pOptionalHeader = (PIMAGE_OPTIONAL_HEADER)((DWORD)pFileHeader+IMAGE_SIZEOF_FILE_HEADER);DWORD health = FindPattern((DWORD)pDosHeader,pOptionalHeader->SizeOfImage, (PBYTE)"\x89\x46\x14\x7D\x33", "xxxxx");DWORD knife = FindPattern((DWORD)pDosHeader,pOptionalHeader->SizeOfImage, (PBYTE)"\x89\xBE\x00\x00\x00\x00\xE8\x00\x00\x00\x00\x5F\x5D", "xx????x????xx");
  10. такс... затести. самоинжекторная длка. после сборки переименуй main.dll в main.cpl в Memory.h исправь баг: после инициализ PROCESSENTRY32 pe32; добавь: pe32.dwSize = sizeof(PROCESSENTRY32); Main.cpp DllMain будет такой: DWORD WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason,LPVOID lpvReserved){HANDLE hProcess;HANDLE hRemoteBuffer;HANDLE hRemoteThread;int pId;char ModulePath[MAX_PATH];if (fdwReason == DLL_PROCESS_ATTACH){DisableThreadLibraryCalls(hinstDLL);if (GetModuleHandle("calc.exe")){CloseHandle(CreateThread(0,4096,AS_thread,0,0,0));} else {if (pId = FindProcessByName("calc.exe")){if (hProcess = OpenProcess(PROCESS_CREATE_THREAD+PROCESS_QUERY_INFORMATION+PROCESS_VM_OPERATION+PROCESS_VM_READ+PROCESS_VM_WRITE,0,pId)){hRemoteBuffer = VirtualAllocEx(hProcess,0,4096,MEM_COMMIT,PAGE_READWRITE);WriteProcessMemory(hProcess,hRemoteBuffer,ModulePath,GetModuleFileName(hinstDLL,ModulePath,MAX_PATH),0);hRemoteThread = CreateRemoteThread(hProcess,0,4096,(LPTHREAD_START_ROUTINE)LoadLibrary,hRemoteBuffer,0,0);WaitForSingleObject(hRemoteThread,INFINITE);CloseHandle(hRemoteThread);VirtualFreeEx(hProcess,hRemoteBuffer,4096,MEM_DECOMMIT);CloseHandle(hProcess);}}}return 1;}}GetModuleHandle("calc.exe") < заменишь на ехе игры или на d3d11.dll (какой там игра использ.). оно нужно для детекта когда длка в rundll32.exe или игре FindProcessByName("calc.exe") < тут понятно
  11. ога. зачем setvbuf(stdout, NULL, _IONBF, 0); и DWORD pID = GetCurrentProcessId(); нужны? давай из этой длл сделаем cpl? типа будет инжектить саму себя в игру. на С еще такого не делал добавил еще пару опций для mingw примера, теперь без мусора
  12. вс2013.4 генерит меньше мусора - 2.10кб но код не настолько "крут" Lol http://rghost.ru/private/7WHmvnKyS/dd6c03a7ee3882081fcbae64bb0c5a03 @echo off..\vc2013.4\vc\bin\cl.exe main.cpp /nologo /c /W1 /GS- /analyze- /Gy /Gm- /O2 /Gd /Oy- /Oi /MD /EHsc /I"..\vc2013.4\vc\include" /I"..\vc2013.4\Windows Kits\8.1\Include\um" /I"..\vc2013.4\Windows Kits\8.1\Include\shared"..\vc2013.4\ulink.exe -q -Z- -ZX- -W6.0 -U0.0 -V6.0 -S:0x1000 -Sc:0x1000 -H:0x10000 -Hc:0x0 -GF:NXCOMPAT -Gh -Gz -Ge -GS:*=* -ap -Tpd -e_DllMain@12 main.obj -ZOmain -L"..\vc2013.4\Windows Kits\8.1\Lib\winv6.3\um\x86" -L"..\vc2013.4\VC\lib" -zkernel32;user32;msvcrt;psapidel *.objpause
  13. для х64 винды (может собирать х32 и х64): http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/5.1.0/threads-win32/sjlj/ спец линкер (нужен только ulink.exe): ftp://ftp.styx.cabel.net/pub/UniLink/ потом распак папку mingw64 в папку, бросаешь туда ulink.exe, создаешь там папку например acHack, бросаешь туда исходники. создаешь там make.cmd в make.cmd: @echo off..\mingw64\bin\g++.exe -c main.cpp -m32 -municode -s -Os -O3 -fno-asynchronous-unwind-tables -fdata-sections -ffunction-sections..\ulink.exe -q -Z- -ZX- -W6.0 -U0.0 -V6.0 -S:0x1000 -Sc:0x1000 -H:0x10000 -Hc:0x0 -GF:NXCOMPAT -Gh -Gz -Ge -GS:*=* --gcc -ap -Tpd -e_DllMain@12 main.o -ZOmain.dll -L..\mingw64\x86_64-w64-mingw32\lib32 -zkernel32;user32;msvcrt;psapidel *.opauseиии получишь 2.58кб файл.. для х64: -m32 -> -m64 -Tpd -> -Tpd+ -L..\mingw64\x86_64-w64-mingw32\lib32 -> -L..\mingw64\x86_64-w64-mingw32\lib ps убери #include <iostream> ps2 для -municode надо многое исправить в исходнике. так что исправь или убери ключ
  14. если пишешь лоадер, читай: https://msdn.microsoft.com/en-us/library/ms809762.aspx
  15. релиз билд надо делать, MSVCR120D.dll никто не юз. +ентри измени = не будет црт мусора, может 5кб станет.. кст смотри (код без модиф). MinGW 5.1.0 +ulink = 3.08кб Lulz +юзает стандартную msvcrt.dll http://rghost.ru/private/6kB8p8TlM/fdde481e3405cabfba9ffec661f0681c
  16. выше DllMain: char KeySwitch01;char KeyStatus01;после "Sleep(75))" весь кусок замени: char Key;Key = (GetAsyncKeyState(VK_F1) >> 8);if (KeySwitch01 != Key){KeySwitch01 = (Key);if (Key){if (!KeyStatus01){ Beep(100, 500); printf("Health: ON \n Get Fun!!!"); VirtualProtect((LPVOID)addr, (size_t)5, PAGE_EXECUTE_READWRITE, &oldProtect); memcpy((void*)addr, (PBYTE)"0x90, 0x90, 0x90, 0x90, 0x90", 5); VirtualProtect((LPVOID)addr, 5, oldProtect, &oldProtect);KeyStatus01 = 1;} else { Beep(300, 500); printf("Health: OFF"); VirtualProtect((LPVOID)addr, (size_t)5, PAGE_EXECUTE_READWRITE, &oldProtect); memcpy((void*)addr, (PBYTE)"\x89\x46\x14\x7D\x33", 5); VirtualProtect((LPVOID)addr, 5, oldProtect, &oldProtect);KeyStatus01 = 0;}}}
  17. даааа ладно. зацени: http://forum.gamehacklab.ru/topic/3648-need-for-speed-rivals-tablitca-trejner/#entry27837 посмотри на нее в CFFExplorer и в дебагере. она сама себя инжектит через виндовую фичу
  18. базу модуля нормально получи: #include "psapi.h" MODULEINFO ModuleInfo; GetModuleInformation(GetCurrentProcess(),GetModuleHandle(0),&ModuleInfo,sizeof(ModuleInfo)); DWORD addr = FindPattern(ModuleInfo.lpBaseOfDll, ModuleInfo.SizeOfImage, (PBYTE)"\x89\x46\x14\x7D\x33", "xxxxx"); или 0x1288000 это не размер? lol + выброси FindProcessByName. юзай GetCurrentProcess
  19. клавиши пример: http://forum.gamehacklab.ru/topic/3702-khotkej-c/
  20. "Ultimate Hack" о даааа деткоооо. хм а что в той "работе" такого особенного? по мне так обычный бредокод. sub_10002D50 и sub_10002E70
  21. скопируй блок в котором ехе из проц. игры в трейнер и сканируй, так быстрее.. потом -база +база проц. игры = адрес ps в длл варианте легче в сотни раз чем в ехе при правильной планировке xD
  22. наверно так (включая блокировку вкл/откл когда клавиша зажата) char KeySwitch01;char KeyStatus01;char Key;Key = (GetAsyncKeyState(VK_F1) >> 8);if (KeySwitch01 != Key){KeySwitch01 = (Key);if (Key){if (!KeyStatus01){KeyStatus01 = 1;} else {KeyStatus01 = 0;}}}
  23. хп иногда косячит с PROCESS_ALL_ACCESS, так что задавай их отдельно например: PROCESS_CREATE_THREAD+PROCESS_QUERY_INFORMATION+PROCESS_VM_OPERATION+PROCESS_VM_READ+PROCESS_VM_WRITE
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.