Initial commit

This commit is contained in:
Theevilspirit 2021-10-19 15:59:42 +08:00
parent 52e19bfe0d
commit bb6098846f
1 changed files with 4 additions and 4 deletions

View File

@ -12,7 +12,7 @@
本文选取劫持的程序是从网上随便下的一个程序“360文件粉碎机独立版.exe”我们使用 PEview.exe 查看改程序的导入表主要是看有程序需要导入哪些DLL文件。
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/8f6c4de1c513e429aab34be2aeda35a5.writebug)
![](http://www.writebug.com/myres/static/uploads/2021/10/19/8f6c4de1c513e429aab34be2aeda35a5.writebug)
观察导入的DLL类似KERNEL32.DLL、USER32.DLL等受系统保护的重要DLL劫持难度比较大所以我们选择VERSION.DLL。至于判断是不是受系统保护的DLL可以查看注册表里面的键值里面的DLL都是系统保护的加载路径固定
@ -22,17 +22,17 @@ HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SessionManager\knowndlls
然后确定劫持的DLL文件之后我们使用 AheadLib 工具来生成DLL劫持代码
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/9c4fbd4e61606ddb52a8d1b5b6a46a58.writebug)
![](http://www.writebug.com/myres/static/uploads/2021/10/19/9c4fbd4e61606ddb52a8d1b5b6a46a58.writebug)
接着新建一个DLL工程把AheadLib工具生成的代码拷贝到DLL工程中同时我们在DLL的入口点函数DllMain中增加一行弹窗代码这样可以提示我们DLL劫持成功。然后编译链接生成DLL文件。这个我们自己编译生成的DLL文件就可以把DLL名称改成“VERSION.DLL”放到和“360文件粉碎机独立版.exe”程序在同一目录下运行程序则会加载同一目录下的“VERSION.DLL”。
为了验证DLL程序是否能成功劫持我们把改名后的“VERSION.DLL”和“360文件粉碎机独立版.exe”放在桌面然后运行程序这是成功弹窗
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/cc3b44453298ce94a7b7b3ef9d32a9fa.writebug)
![](http://www.writebug.com/myres/static/uploads/2021/10/19/cc3b44453298ce94a7b7b3ef9d32a9fa.writebug)
我们使用 Process Explorer 工具查看下“360文件粉碎机独立版.exe”进程加载的DLL情况
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/1b7ca3819105215b8bbefe0bd7228b74.writebug)
![](http://www.writebug.com/myres/static/uploads/2021/10/19/1b7ca3819105215b8bbefe0bd7228b74.writebug)
可以看到我们自己的version.dll成功被加载而且还加载了系统的version.dll。之所以会加载系统的version.dll文件是因为我们自己的DLL文件中会加载version.dll文件。