关于32位dll 注入64位系统 里的32位程序和64位程序的疑惑
hook dll
先看下msdn解释:
SetWindowsHookEx can be used to inject a DLL into another process. A 32-bit DLL cannot be injected into a 64-bit process, and a 64-bit DLL cannot be injected into a 32-bit process. If an application requires the use of hooks in other processes, it is required that a 32-bit application call SetWindowsHookEx to inject a 32-bit DLL into 32-bit processes, and a 64-bit application call SetWindowsHookEx to inject a 64-bit DLL into 64-bit processes. The 32-bit and 64-bit DLLs must have different names.
--------------------------
32位的hook dll,之前SetWindowsHookEx 是线程钩子,钩的程序也都是32位 没出现问题,不过因为要钩好几个程序,所以要调用好几次的SetWindowsHookEx ,所以后来改成了全局钩子,问题来了:
在32位系统上没问题的,但是64位系统上,因为里面有64位的进程这时候就会出现很多问题,Runtime等系统的问题 还有其他的64位程序的问题
那我该怎么处理呢?如果写一个64位的dll,但是如果64位系统上也有跑32位程序的话,而用的又是全局钩子的话,那岂不是也会有问题?
先看下msdn解释:
SetWindowsHookEx can be used to inject a DLL into another process. A 32-bit DLL cannot be injected into a 64-bit process, and a 64-bit DLL cannot be injected into a 32-bit process. If an application requires the use of hooks in other processes, it is required that a 32-bit application call SetWindowsHookEx to inject a 32-bit DLL into 32-bit processes, and a 64-bit application call SetWindowsHookEx to inject a 64-bit DLL into 64-bit processes. The 32-bit and 64-bit DLLs must have different names.
--------------------------
32位的hook dll,之前SetWindowsHookEx 是线程钩子,钩的程序也都是32位 没出现问题,不过因为要钩好几个程序,所以要调用好几次的SetWindowsHookEx ,所以后来改成了全局钩子,问题来了:
在32位系统上没问题的,但是64位系统上,因为里面有64位的进程这时候就会出现很多问题,Runtime等系统的问题 还有其他的64位程序的问题
那我该怎么处理呢?如果写一个64位的dll,但是如果64位系统上也有跑32位程序的话,而用的又是全局钩子的话,那岂不是也会有问题?
...全文
相关推荐
msado15.dll 32位和64位各版本的ADO都有
找了好久终于找到了所有的ADO控件,再也不用为ADO版本不同而发愁了。msado15.dll,32位和64位各版本的ADO都有,从2。0版一直到WIN7的6。XX版
DLL注入与Hook技术在32/64位系统中的应用
在现代软件开发和系统管理中,DLL注入技术是一把双刃剑。它作为一种高级技术手段,主要被用来向一个运行中的进程动态地注入代码或数据。这种技术有着广泛的应用,比如提升软件功能、进行系统监控、或是执行恶意活动。DLL注入通常发生在用户模式下,这也是它区别于直接修改系统内核的系统钩子的一个重要特征。DLL注入技术在游戏开发、安全测试、性能优化等领域有着不可替代的作用。开发者可以利用这一技术为游戏或者应用程序添加额外的模块功能,而安全测试人员则可以通过注入技术来研究软件在特定条件下的行为。
完美的内存中加载DLL支持32位和64位DLL
一位高手写的内存中加载DLL的源代码,支持32位和64位的DLL,支持XE,完美的处理32/64位Windows动态库的加载模,网上很少能下载到了,放到这里备份一下
64位进程调用32位DLL实例
64位进程调用32位DLL实例,参考http://blog.csdn.net/nie2314550441/article/details/49867735
dll远程线程注入(支持64bit win7)
把dll注入到远程线程。使用的时候创建一个空的工程,然后把代码当做主文件放到工程中,自己写个mian函数调用injectDLL函数就能注入了。菜鸟级友情提醒:64位别忘了编译成x64的可执行文件


