PImpDir = ^TImpDir;
TImpDir = packed record
ThunkRVA: DWORD;
ImpFuncCount: DWORD;
Name: Array [0..0] of char;定义了一个变量 PkImportDir: PImpDir;在下面的转存后,列表里为啥没有地址呢?是没转存进去吗?不知道问题出在哪?vImport:=ImageNTHeaders.OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT].VirtualAddress;
tRVA:=Integer(ImageSectionHeader.VirtualAddress-ImageSectionHeader.PointerToRawData);
ImageImport:=PImageImportDecriptor(PChar(vImport)-tRVA+vBase);
//读取所有DLL直到为空
while ImageImport.Name<>0 do
begin
PkImportDir.ThunkRVA:= ImageImport.FirstThunk;
mmo1.Lines.Add(format('虚拟地址', [PkImportDir.ThunkRVA]));
Inc(ImageImport);
end;
TImpDir = packed record
ThunkRVA: DWORD;
ImpFuncCount: DWORD;
Name: Array [0..0] of char;定义了一个变量 PkImportDir: PImpDir;在下面的转存后,列表里为啥没有地址呢?是没转存进去吗?不知道问题出在哪?vImport:=ImageNTHeaders.OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT].VirtualAddress;
tRVA:=Integer(ImageSectionHeader.VirtualAddress-ImageSectionHeader.PointerToRawData);
ImageImport:=PImageImportDecriptor(PChar(vImport)-tRVA+vBase);
//读取所有DLL直到为空
while ImageImport.Name<>0 do
begin
PkImportDir.ThunkRVA:= ImageImport.FirstThunk;
mmo1.Lines.Add(format('虚拟地址', [PkImportDir.ThunkRVA]));
Inc(ImageImport);
end;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货