TC官方合作论坛

 找回密码
 立即注册
查看: 1502|回复: 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的地址   我替换了下好像不行  ,望高人指教
回复

使用道具 举报

发表于 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能说明白一些嘛  必采纳!
回复 支持 反对

使用道具 举报

发表于 2015-6-24 16:18:06 | 显示全部楼层
{:soso__10169062262133571330_1:}
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

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

GMT+8, 2024-5-17 09:44 , Processed in 0.045558 second(s), 24 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

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