Гость n1cehack Опубликовано 20 апреля, 2015 Поделиться Опубликовано 20 апреля, 2015 У меня сть уже код но он на С++. Но мне нужен для дэлфи. Кто поможет? HMODULE Test= GetModuleHandle("Test.exe");DWORD offset= (DWORD)Test+ 0x134E5B0;[terminus]/* keng: Исходный код принято оборачивать в специальный тег "code". */[/terminus] Ссылка на комментарий Поделиться на другие сайты Поделиться
keng Опубликовано 20 апреля, 2015 Поделиться Опубликовано 20 апреля, 2015 Привет! Тебе нужно объявить переменную, вызывать одну функцию, которая возвратит результат в эту переменную, а затем объявить вторую переменную, которая будет суммой первой и смещения. Зайди в поисковик, набери запрос "delphi GetModuleHandle example", прочитай пример, а затем пиши. Не получится - найди в том же поисковике любую книжку по delphi и почитай основы. Ссылка на комментарий Поделиться на другие сайты Поделиться
DenkA003 Опубликовано 11 мая, 2015 Поделиться Опубликовано 11 мая, 2015 (изменено) Сам использую функцию function G_Base(ProcessID: Cardinal; MName: String): Pointer; var Modules : Array of HMODULE; cbNeeded, i : Cardinal; ModuleInfo : TModuleInfo; ModuleName : Array[0..MAX_PATH] of Char; PHandle : THandle; begin Result := nil; SetLength(Modules, 1024); PHandle := OpenProcess(PROCESS_QUERY_INFORMATION + PROCESS_VM_READ, False, ProcessID); if (PHandle <> 0) then begin EnumProcessModules(PHandle, @Modules[0], 1024 * SizeOf(HMODULE), cbNeeded); SetLength(Modules, cbNeeded div SizeOf(HMODULE)); for i := 0 to Length(Modules) - 1 do begin GetModuleBaseName(PHandle, Modules[i], ModuleName, SizeOf(ModuleName)); if AnsiCompareText(MName, ModuleName) = 0 then begin GetModuleInformation(PHandle, Modules[i], @ModuleInfo, SizeOf(ModuleInfo)); Result := ModuleInfo.lpBaseOfDll; CloseHandle(PHandle); Exit; end; end; end; end;Применить : varGAME_BasseAdress : Cardinal;ProcessId : Cardinal;beginTERA_BasseAdress := $0+Ulong(G_Base(ID процесса, 'Название файла .dll или .exe '));//TERA_BasseAdress := $0+Ulong(G_Base(ProcessId, 'TERA.exe'));ShowMessage(IntToStr('$'+TERA_BASSEADRESS));end; Изменено 11 мая, 2015 пользователем DenkA003 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения