网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > DELPHI > 正文
显示DLL可导出的函数
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/12
下载{$ArticleTitle}原创论文样式
: TStrings; const Image: LoadedImage ) ;
Begin { DumpExportDirectory }
Assert( Assigned( lines ));

lines.add( ''Dump of IMAGE_EXPORT_DIRECTORY'' );
lines.add( format(''Characteristics: %d'',
[ExportDirectory.Characteristics]));
lines.add( format(''TimeDateStamp: %d'',
[ExportDirectory.TimeDateStamp]));
lines.add( format(''Version: %d.%d'',
[ExportDirectory.MajorVersion,
ExportDirectory.MinorVersion]));
lines.add( format(''Name (RVA): %x'',
[ExportDirectory.Name]));
lines.add( format(''Name (translated): %s'',
[RVAToPchar( ExportDirectory.name, Image )]));
lines.add( format(''Base: %d'',
[ExportDirectory.Base]));
lines.add( format(''NumberOfFunctions: %d'',
[ExportDirectory.NumberOfFunctions]));
lines.add( format(''NumberOfNames: %d'',
[ExportDirectory.NumberOfNames]));
lines.add( format(''AddressOfFunctions (RVA): %p'',
[Pointer(ExportDirectory.AddressOfFunctions)]));
lines.add( format(''AddressOfNames (RVA): %p'',
[Pointer(ExportDirectory.AddressOfNames)]));
lines.add( format(''AddressOfNameOrdinals (RVA): %p'',
[Pointer(ExportDirectory.AddressOfNameOrdinals)]));
End; { DumpExportDirectory }

{+----------------------------------------------------------------------
| Function RVAToPointer
|
| Parameters :
| rva : a relative virtual address to translate
| Image : LOADED_IMAGE structure for the image the RVA relates to
| Returns : translated address
| Description:
| Uses the ImageRVAToVA function to translate the RVA to a virtual
| address.
| Error Conditions:
| Will raise an exception if the translation failed
| Created: 9.1.2000 by P. Below
+----------------------------------------------------------------------}
Function RVAToPointer( rva : DWORD ; const Image : LoadedImage ) : Pointer;
var
pDummy: PImageSectionHeader;
Begin { RVAToPchar }
pDummy := nil;
Result :=
ImageRvaToVa( Image.FileHeader, Image.MappedAddress, rva,
pDummy );
If Result = Nil Then
RaiseLastWin32Error;
End; { RVAToPointer }

{+----------------------------------------------------------------------
| Function RVAToPchar
|
| Parameters :
| rva : a relative virtual address to translate
| Image : LOADED_IMAGE structure for the image the RVA relates to
| Returns : translated address
| Description:
| Uses the RVAToPointer function to translate the RVA to a virtual
| address. Note that we do not check that the address does indeed point
| to a zero-terminated string!
| Error Conditions:
| Will raise an exception if the translation failed
| Created: 9.1.2000 by P. Below
+----------------------------------------------------------------------}
Function RVAToPchar( rva : DWORD ; const Image : LoadedImage ) : PChar ;
Begin { RVAToPchar }
Result := RVAToPointer( rva, image );
End; { RVAToPchar }

end.

  • 上一篇资讯: 实现高速文件拷贝
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号