TC官方合作论坛

 找回密码
 立即注册
查看: 600|回复: 5
打印 上一主题 下一主题

[已解决] 求TC获取PostMessageA函数地址的方法

[复制链接]
跳转到指定楼层
楼主
发表于 2015-1-9 09:54:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
看了二漠的一个帖子需要获取PostMessagea函数地址的(在他帖子貌似是用OD获取到,这样很不方便),我想用TC的dllcall命令来获取 求高人指点下!万分感谢!
  •         var mName="kernel32"
  • var hDll=dllcall("kernel32.dll","long","GetModuleHandleW","long",mName)
  •         var fName="CloseHandle"
  • var fAddr=dllcall("kernel32.dll","long","GetProcAddress","long",hDll,"char *",fName)
  • 辅助.消息框(字符串.格式化("%x",fAddr))



这是在论坛翻到另个大牛的方法 不过他是获取CloseHandle的地址   我替换了下好像不行  ,望高人指教
回复

使用道具 举报

5#
发表于 2015-1-9 10:53:18 | 只看该作者

  1. var mName,hDll,fName,fAddr
  2. mName="user32.dll"
  3. fName="PostMessageA"
  4. hDll=dllcall("kernel32.dll","long","GetModuleHandleW","long",mName)
  5. fAddr=dllcall("kernel32.dll","long","GetProcAddress","long",hDll,"char *",fName)
  6. 辅助.消息框(字符串.格式化("%x",fAddr))
复制代码
回复 支持 反对

使用道具 举报

推荐
发表于 2015-1-9 10:24:35 | 只看该作者
九先生 发表于 2015-1-9 10:17
麻烦哪两个API能说明白一些嘛  必采纳!

首先用api函数GetModuleHandle获取当前进程dll 的模块句柄 第一个参数是PsteMessageA这个函数在那个dll里 这个参数就是dll的名字 获取成功后在用GetprocAddress API函数获取你dll中指定导出的函数地址第一个参数是模块句柄 第二个参数是函数名字
回复 支持 1 反对 0

使用道具 举报

沙发
发表于 2015-1-9 10:16:42 | 只看该作者
用2个API函数就可以获取到你想要的API地址
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2015-1-9 10:17:41 | 只看该作者
1102509486 发表于 2015-1-9 10:16
用2个API函数就可以获取到你想要的API地址

麻烦哪两个API能说明白一些嘛  必采纳!
回复 支持 反对

使用道具 举报

6#
发表于 2015-6-24 16:18:06 | 只看该作者
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18043773号

GMT+8, 2025-9-18 05:03 , Processed in 0.104075 second(s), 24 queries .

Powered by 海安天坑软件科技有限公司

© 2001-2013 Comsenz Inc.

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