看流星社区

 找回密码
 注册账号
查看: 3146|回复: 4

[Delphi] IPA函数中的字符串参数要区分大小写吗?

[复制链接]

该用户从未签到

发表于 2011-3-28 09:18:36 | 显示全部楼层 |阅读模式
如getmodulehandle,getprocaddress,等函数,在调用时都有一个名称字符串参数,这些字符串要区分大小写吗?
另外,我想遍历一个进程加载的全部模块,有哪些API函数可以用?我学的是delphi,用EnumProcessModules函数怎么老说我使用了未定义标识符?应该在uses中添加什么单元啊?
怎么遍历一个dll文件里的全部输出函数?
谢谢

该用户从未签到

发表于 2011-3-28 09:18:47 | 显示全部楼层
不用区分大小写~至于EnumProcessModules,你可以试试uses TLHelp32,
还没有的话,就自己声明一下吧~

该用户从未签到

 楼主| 发表于 2011-3-28 09:19:12 | 显示全部楼层
谢谢了,
怎么遍历一个dll文件里的全部输出函数?

该用户从未签到

发表于 2011-3-28 09:19:26 | 显示全部楼层
网上找的,遍历DLL导出函数表:
procedure  ListDLLExports(const  FileName:  string;  List:  TStrings);     
  type     
      TDWordArray  =  array  [0..$FFFFF]  of  DWORD;     
  var     
      imageinfo:  LoadedImage;     
      pExportDirectory:  PImageExportDirectory;     
      dirsize:  Cardinal;     
      pDummy:  PImageSectionHeader;     
      i:  Cardinal;     
      pNameRVAs:  ^TDWordArray;     
      Name:  string;     
  begin     
      List.Clear;     
      if  MapAndLoad(PChar(FileName),  nil,  @imageinfo,  True,  True)  then     
      begin     
          try     
              pExportDirectory  :=  ImageDirectoryEntryToData(imageinfo.MappedAddress,     
                  False,  IMAGE_DIRECTORY_ENTRY_EXPORT,  dirsize);     
              if  (pExportDirectory  <>  nil)  then     
              begin     
                  pNameRVAs  :=  ImageRvaToVa(imageinfo.FileHeader,  imageinfo.MappedAddress,     
                      DWORD(pExportDirectory^.AddressOfNames),  pDummy);     
                  for  i  :=  0  to  pExportDirectory^.NumberOfNames  -  1  do     
                  begin     
                      Name  :=  PChar(ImageRvaToVa(imageinfo.FileHeader,  imageinfo.MappedAddress,     
                          pNameRVAs^,  pDummy));     
                      List.Add(Name);     
                  end;     
              end;     
          finally     
              UnMapAndLoad(@imageinfo);     
          end;     
      end;   
  end;

该用户从未签到

 楼主| 发表于 2011-3-28 09:19:46 | 显示全部楼层
能不能告诉我要用到那些IPA函数及所在dll文件?程序我自己学编,编好了再放到这让大家帮我更正,好吗?
另外我试了,EnumProcessModules函数,uses TLHelp32不行.这个函数在哪个DLL文件中?我用汇编试试.或者,EnumProcessModules是不是不能在win2k,xp中用啊?有没有别的功能类似的函数替代?
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-4-24 14:14

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

快速回复 返回顶部 返回列表