Edi*_*ičs 3 delphi dll dll-injection delphi-xe2
我想从应用程序本身获取已使用的DLL列表.我的目标是将列表与硬编码列表进行比较,以查看是否注入了任何DLL.我在Google中找不到任何示例.
Dav*_*nan 10
您可以使用PSAPI.你需要的功能是EnumProcessModules.MSDN上有一些示例代码.
主要的替代方案是工具帮助库.它是这样的:
CreateToolhelp32Snapshot.Module32First.Module32Next.CloseHandle以销毁快照.就个人而言,我更喜欢Tool Help来完成这项任务.这是一个非常简单的例子:
{$APPTYPE CONSOLE}
uses
SysUtils, Windows, TlHelp32;
var
Handle: THandle;
ModuleEntry: TModuleEntry32;
begin
Handle := CreateToolHelp32SnapShot(TH32CS_SNAPMODULE, 0);
Win32Check(Handle <> INVALID_HANDLE_VALUE);
try
ModuleEntry.dwSize := Sizeof(ModuleEntry);
Win32Check(Module32First(Handle, ModuleEntry));
repeat
Writeln(ModuleEntry.szModule);
until not Module32Next(Handle, ModuleEntry);
finally
CloseHandle(Handle);
end;
Readln;
end.
Run Code Online (Sandbox Code Playgroud)