[200]32位程序向64位程序注入64位DLL的问题 - C++ Builder / Windows SDK/API
在VC版上发了一贴,这里也发一个,不知道妖哥对这个有没有研究(好像妖哥最近在搞Spy4Win,说不定也遇到这个问题呢^_^)
如题,好像有点绕~!@#$%
情况是这样的,我原来有个程序是Hook Explorer.exe的CreateFileW来工作的,原先在32位的winXP下工作的很好.但是最近有客户反映这个程序不能在64位系统下工作.
google之后发现要Hook 64位系统的Explorer.exe必须用64位的DLL才行,而且Hook代码也要改改. 不过这都不是问题.
关键问题是我的主程序是用BCB编写的,目前好像还木有64位支持,所以我想确定一下32位的程序能不能用OpenProcess来打开64位的 Explorer.exe,然后WriteProcessMemory&CreateRemoteThread?(也就是注入前面说的64位 dll)
我现在没有64位的系统,所以先来问一下知道的弟兄,谢谢大家
另外,能不能在32位系统用虚拟机装64位系统啊~~有没有人玩过?
[解决办法]
和和,300分尼……
我个人认为,X64在BCB上,当前应该是无解的,BCB2010都不支持X64。
前段子为了写一个X64的DLL以做X64版MS SQL的扩展存储过程也找过相关的资源,得到的结果是BCB下就别玩X64了。
至于Hook 64位系统的Explorer.exe……估计32位的玩意儿是绝对没戏的……别忙乐。
当然,只是我这只井蛙的一点浅见,也作为踩一脚来便于回头看楼主的结果,呵呵。
[解决办法]
这种32位和64位程序的注入,我还真没有搞过。目前暂没有64位的环境,而支持64位编译的C++Builder,可能得下下个版本了。
[解决办法]
其实,我也没搞过, 以前我用BCB6写的程序,看他们对外宣传运行在一个64位的的机器上的.
可实际上我知道大家也就是潜入式XP, 运行在一个PC上.脱离生产线到开发环境还真不知道,肯定是他们肯定不是运行64的操作系统, 因为没出来呢.
有个方法我猜想可能是可行的, 你用VS2008 64位的编译器编译一个DLL 供你调用.
[解决办法]
印象中win32位的时代
twunk_32.exe
twunk_16.exe
这两个程序,用于16位程序,和32位程序相互交互用的,具体没研究过,可能可行