不定期更新。我自己也还在看,遇到什么问题都会往上写。
想要交流欢迎发邮件co27ti22mail@gmail.com : D
第二部分 PE文件格式
-
Q:现在都64位Win10普及了,我上哪找32位WinXP的记事本啊?
-
A:可以考虑装一个WinXP的虚拟机,不过更方便的是随书附赠的代码和例程中就有WinXP的记事本,可以在[传送门]处下载。
说装一个32位WinXP的虚拟机不是在开玩笑,装一个真的会方便一些。这样出问题时起码就能排除系统环境不同的造成可能性了。
-
Q: PEView哪里下载?感觉没有靠谱的地方下载。
-
A:这个我也没找到哪能下载。搜出来的下载站看着就不放心。希望有好心人能发我一份。
据说PEView对64位支持很不好,因此你也可以抱着吃不着葡萄说葡萄酸的思想放弃PE_View。: D
PEView并非是不可替代的(我觉得)。可以考虑用书中第18章介绍的工具Stud_PE。可以在[传送门]处下载。
-
Q:UPack哪里下载?
-
A:可以去看作者本人发在看雪论坛上的帖子,那里有下载链接。如果点击链接没法下载可以试试 右键-复制链接地址 然后粘贴到一些下载器中下载。
第三部分 DLL注入
先说结论,以下大部分问题都是由64位操作系统以及管理员权限引起的。
-
Q:打开HookMain.exe之后记事本直接卡死
-
A:是否是在使用64位系统?考虑使用C:\Windows\SysWOW64目录下的32位记事本。
主要问题在于32位DLL不能注入64位进程,64位系统大多数进程都是64位的,因此下面的问题。
-
Q:打开HookMain.exe之后,各种程序总是不明卡死。
-
A:书上的原理介绍:“安装好键盘‘钩子’之后,无论哪个进程,只要发生键盘输入事件,OS就会强制将KeyHook.dll注入相应进程……”。因此,使用64位系统运行HookMain.exe时不能贸然动键盘,得是32位的进程窗口才不会卡死。
甚至你会发现Alt+Tab切窗口也不行,因为切窗口的那个窗口会卡死。
-
Q:直接运行记事本时运行HookMain.exe能钩取键盘消息,也能注入DLL,但在Ollydbg中运行记事本时运行HookMain.exe无法Hook键盘消息,也无法注入DLL。
-
A:检查是否是在用管理员权限运行Ollydbg。可以尝试不用管理员权限运行Ollydbg试试,或者用管理员权限运行HookMain.exe。
虽然不明白原理,不过经我测试,在管理员权限下运行HookMain.exe,无论目标进程是否是以管理员权限运行都可以Hook键盘消息,也都可以注入DLL。但是不以管理员权限运行时只能向同样没有以管理员权限运行的进程中注入DLL。
-
Q:在Process Explorer中查看Ollydbg(及其打开的记事本)显示拒绝访问,也没法看见进程的DLL。
-
A:是否是在用管理员权限运行Ollydbg?尝试用管理员权限运行Process Explorer。