首页
社区
课程
招聘
[求助]疑惑hook 在64位系统
发表于: 2013-1-26 00:59 10191

[求助]疑惑hook 在64位系统

2013-1-26 00:59
10191
关于64位系统HOOK

第一种说法
函数可以用来到另一个进程注入一个DLL。一个32位DLL不能被注入到一个64位的过程,和一个64位的DLL不能被注入到一个32位的过程。如果应用程序需要钩在其他进程使用,它是必需的,一个32位应用程序调用SetWindowsHookEx为32位进程注入一个32位DLL,和一个64位的应用程序调用SetWindowsHookEx注入一个64位的DLL到64位的过程。32位和64位DLL必须有不同的名称。

第二种说法
在SetWindowsHookEx的第三个参数写成(IntPtr)0就可以了

第一种说法不明白

问题:
IntPtr这个类型指针 在32位系统是32位结构,在64位是64位结构.对吗?
重点:
我用Delphi写的.请问
Delphi中这个类型要怎么定义.

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 2155
活跃值: (29)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
1. 在32系统中IntPtr是32位,在64系统中IntPtr是64位。。。
2. 没用过delphi所以不知道IntPtr如何使用。。。

PS:想你写的这种程序功能,我感觉LZ还是试试VC吧。。。Delphi干这种活不太顺手。。。
2013-1-26 11:19
0
雪    币: 8835
活跃值: (2404)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
3
其实写2套负责DLL注入的EXE和2套DLL就完事了~~真心吐槽
2013-1-26 11:54
0
雪    币: 69
活跃值: (157)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
4
正解... 楼主想多了..
2013-1-26 13:10
0
雪    币: 278
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
用C#开发过注入X86 X64的软件,可以Q我
2013-2-3 01:30
0
雪    币: 65
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
需要两套!!!!???
2013-2-3 14:18
0
雪    币: 228
活跃值: (115)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
7
你可以用一套..只是...异常麻烦繁琐加恶心..要判断目标进程是不是X64啊,然后相当于内存地址啊.等等,..然后HOOK 注入进去的模块也要再写个X64的....
正如老V所言 两套简简单单
2013-2-3 20:24
0
游客
登录 | 注册 方可回帖
返回
//