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

GetModuleHandle delphi


Рекомендуемые сообщения

У меня сть уже код но он на С++. Но мне нужен для дэлфи. Кто поможет?

 

HMODULE Test= GetModuleHandle("Test.exe");DWORD offset= (DWORD)Test+ 0x134E5B0;
[terminus]/* keng: Исходный код принято оборачивать в специальный тег "code". */[/terminus]
Ссылка на комментарий
Поделиться на другие сайты

Привет!

 

Тебе нужно объявить переменную, вызывать одну функцию, которая возвратит результат в эту переменную, а затем объявить вторую переменную, которая будет суммой первой и смещения. Зайди в поисковик, набери запрос "delphi GetModuleHandle example", прочитай пример, а затем пиши. Не получится - найди в том же поисковике любую книжку по delphi и почитай основы.

Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...

Сам использую функцию 

 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;
Изменено пользователем DenkA003
Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

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

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