ArxLex

Пользователи
  • Публикации

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

  • Посещение

  • Days Won

    6

ArxLex last won the day on May 25 2014

ArxLex had the most liked content!

Репутация

21 Novice

6 подписчиков

О ArxLex

  • Звание
    Продвинутый пользователь

Информация

  • Пол
    Не определился
  • Город
    ChernarusPlus
  1. ......Такой код - не плохо было бы спрятать.
  2. Отличная работа, молодцы ребята! Но я все таки привык к Ctrl+R
  3. Привет всем! Решил поделиться сканером сигнатур написанный мною на Delphi. Материал чисто для ознакомительных целей. В качестве основы и принципа работы были взяты функции с C++. Пример написан для новичков и любителей WINAPI в виде консольного приложения, для большего удобства и понимания кода program signaturescanner;{$APPTYPE CONSOLE}usesWindows, SysUtils, TlHelp32;varm_pID: integer;m_hProc: THandle;module: TModuleEntry32;m_Sign: integer;constprocName = 'D3D9Test.exe';procedure GetPID;varsnapshot: THandle;pInfo: PROCESSENTRY32;beginsnapshot := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);pInfo.dwSize := sizeof(PROCESSENTRY32);if (Process32First(snapshot, pInfo)) thenbeginwhile (Process32Next(snapshot, pInfo)) dobeginif pInfo.szExeFile = procName thenbeginm_pID := pInfo.th32ProcessID;CloseHandle(snapshot);exit;end;end;end;m_pID := 0;CloseHandle(snapshot);exit;end;function GetModuleInfo(const module_name: PChar; main_process: boolean): TModuleEntry32;varsnapshot: THandle;module: TModuleEntry32;beginsnapshot := CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, m_pID);module.dwSize := sizeof(TModuleEntry32);if (Module32First(snapshot, module)) thenbeginif (main_process) thenbeginCloseHandle(snapshot);result := module;end;while (Module32Next(snapshot, module)) dobeginif (StrIComp(PChar(ExtractFileName(module.szModule)), PChar(module_name)) = 0) thenbeginCloseHandle(snapshot);result := module;end;end;end;result := module;end;function DataCompare(data: PByte; sign: PByte; mask: PAnsiChar): boolean;beginwhile mask^ <> #0 dobeginif ((mask^ = 'x') and (data^ <> sign^)) thenbeginresult := false;exit;end;inc(mask);inc(data);inc(sign);end;result := true;end;function ScanSignature(base: Dword; size: Dword; sign: PByte; mask: PAnsiChar): integer;varmbi: MEMORY_BASIC_INFORMATION;offset: integer;buffer: PByte;BytesRead: Dword;i: integer;beginoffset := 0;while (offset < size) dobeginVirtualQueryEx(m_hProc, Pointer(base + offset), &mbi, sizeof(MEMORY_BASIC_INFORMATION));if (mbi.State <> MEM_FREE) thenbeginGetMem(buffer, mbi.RegionSize);ReadProcessMemory(m_hProc, mbi.BaseAddress, buffer, mbi.RegionSize, BytesRead);for i := 0 to mbi.RegionSize dobeginif (DataCompare(buffer + i, sign, mask)) thenbeginFreeMem(buffer);result := integer(mbi.BaseAddress) + i;exit;end;end;FreeMem(buffer);end;offset := offset + mbi.RegionSize;end;result := 0;end;constSign: array [0 .. 22] of byte = ($68, $00, $00, $00, $00, $68, $00, $00, $00, $00, $68, $00, $00, $00, $00, $FF, $15, $00, $00, $00, $00, $6A, $20);Mask = 'x????x????x????xx????xx';beginGetPID();if (m_pID <> 0) thenbeginmodule := GetModuleInfo(nil, true);m_hProc := OpenProcess(PROCESS_ALL_ACCESS, false, m_pID);m_Sign := ScanSignature(integer(module.modBaseAddr), module.modBaseSize, @Sign, Mask);writeln(' *************************************************************');writeln(' * Signature Scanner for Delphi *');writeln(' * Coded by ArxLex (2014) *');writeln(' *************************************************************'+#10#13#10#13);writeln(' Handle Process: $', inttohex(m_hProc, sizeof(m_hProc)));writeln(' Pid: $', inttohex(m_pID, sizeof(m_pID)));writeln(' Process Base Address: $', inttohex(integer(module.modBaseAddr), sizeof(module.modBaseAddr)));writeln(' Process Base Size: $', inttohex(module.modBaseSize, sizeof(module.modBaseSize)));writeln(' Signature Address: $', inttohex(m_Sign, sizeof(m_Sign)));readln;CloseHandle(m_hProc);end;end.P.S. Еще раз спасибо участнику Coder за видео уроки и общее развите гэймхакинга
  4. Этот код уже гуляет по инету с прошлого года (может даже раньше), и причем тут by DenkA003?
  5. Может примерно как то так? Написал по памяти, могут быть ошибки... [ENABLE] alloc(_MemHack, 128) label(_Back) label(_Exit) label(_Health) label(_InstantKill) registersymbol(iToggleHealth) registersymbol(iToggleInstantKill) _MemHack: cmp [iToggleHealth],1 je _Health jmp _InstantKill _Health: cmp [edi+13],#200 jne _InstantKill mov [edi+505],#99999 jmp _InstantKill _InstantKill: cmp [iToggleInstantKill],1 jne _Exit mov [edi+505],0 jmp _Exit _Exit: sub [edi+505],eax jmp _Back iToggleHealth: dd 00 iToggleInstantKill: dd 00 .. [DISABLE] .. unregistersymbol(iToggleHealth) unregistersymbol(iToggleInstantKill)
  6. Привет, все не так уж и сложно, вгляни на вот это...
  7. Расскажи по подробнее о Universal Trainer Cracker, ранее не слышал о таком Все понятно, нашел, это просто аналог WriteProcessMemory Monitor-а
  8. Добавил 64-битную мульти версию трейнера. Спасибо всем кто проверит в работе))) ЗЫ. Еще раз спасибо Coder-у за общую помощь!
  9. Спасибо огромное! Остановился на IDAG64
  10. Какой метод пользуется для внедрения?
  11. Скачал я эту версию, вроде самая свежая, много чего нового. Теперь в списке аттача показывает все запущенные приложения включая 64-битные. Но 64-ные приложения все равно не аттачит и не открывает(Unable to attach to process 'MineSweeper' with ID 00000A88(2696.). Reason: 00000032 (ERROR_NOT_SUPPORTED)). Может я что делаю не так? Coder, ты уверен что OllyDbg может аттачить или открывать 64-битные приложения? Попробуй на стандартном 64-битном Сапере... Зы: Может есть какой другой аналогичный 64-битный дизассемблер с функцией создания сигнатур?
  12. Любопытно какая у тебя сборка OllyDbg? Просто у меня не получается загрузить 64 битную игру через OllyDbg (File: '...' is probably not a 32-bit Portable Executable. Try to load it anyway? - > Yes - > Unable to start file: '...'). А если аттачить, то в списке только x86 процессы... Интересно вот с этим плагином Stealth64 будет работать?
  13. Привет всем! В связи с невозможностью запуска OllyDbg под Windows 7 x64, у меня возникли сложности с созданием сигнатуры в 64 битной памяти игры. Может кто знает другой способ, поделитесь пожалуйста Каждый раз создавать вручную не очень-то удобно и стабильно...
  14. Спасибо за отзывы, разобрался что к чему с помощью MSDN. Теперь есть база и под x64!