qzhsjz 发表于 2020-7-26 10:03

原创综合练习:找出.net程序注入到Win32程序中的非托管DLL中的隐藏弹窗内容

本帖最后由 qzhsjz 于 2020-7-26 17:10 编辑



涉及到的知识点很多,但是由于整个系统涉及的技术面广,所以漏洞应该也很多。
看看各位大神能找到多少种解法吧!

刚刚发现一开始发的dll里的答案被编译优化掉了……不好意思,重新发一遍,刚才下载过的各位请重新下载。
再次更新TestDll,这次可以看到两个MessageBoxA的调用了。
17:00再次小小更新一下,这次在注入DLL后对解密时临时存储的byte[]进行了填0处理。这次@wwh1004 的dump方法或许会失效?
主程序需要用到.net core 3.1运行时环境,下载地址:https://download.visualstudio.microsoft.com/download/pr/3eb7efa1-96c6-4e97-bb9f-563ecf595f8a/7efd9c1cdd74df8fb0a34c288138a84f/windowsdesktop-runtime-3.1.6-win-x64.exe

wwh1004 发表于 2020-7-26 16:49

18001EC30处改成非0的值

初吻给奶嘴耶 发表于 2020-7-26 16:46

qzhsjz 发表于 2020-7-26 16:35
正确,能想办法把弹窗弹出来吗

刚刚在网吧分析的我口述下方法 就不尝试了
如果爆破可以 那就能
有一个MessageBoxA 很明显 都能找到
然后用那个函数的头几个字节 特征码匹配 可以发现有2出类似弹窗函数 第一个是能明显MessageBoxA调用的 另外一个是结构相同的弹窗函数 但是 压入参数和 Call dword ptr应该是前面运算后写入的
然后根据函数头引用一次往上找 一直找到最上层的 DLL的OEP位置 能找到进来的地方 如果改jcc指令强制进入导致后面的 Call dword ptr[] 变成 MessageBoxA那应该就弹出来了

如果爆破不行 就当我没说{:1_925:}

wwh1004 发表于 2020-7-26 13:42

找不到有什么提示,就弄了个dll出来,里面就一处调用了messageboxa,内容就是dll入口点的那个弹窗。
然后还有些函数好像有混淆,找不到有什么隐藏内容

dll获取方式挺简单的,先去TestExe.exe断下来,得到注入的dll的特征,然后ce搜CrackMe.exe的内存,然后直接扒下来就行了

qzhsjz 发表于 2020-7-26 15:33

wwh1004 发表于 2020-7-26 13:42
找不到有什么提示,就弄了个dll出来,里面就一处调用了messageboxa,内容就是dll入口点的那个弹窗。
然后 ...

感谢指出,我发现答案函数即使没开优化还是被优化掉了……
所以我又想了个办法,这次IDA亲测能找到答案了……

初吻给奶嘴耶 发表于 2020-7-26 16:33

52Pojie-AngeloTheCat-6Ayi!7qbVncso0UnSFQ#PhK^ng7nWlGXiH&WKvvY&#RTLKtL@IQ8skApYRGU5pHcrBuTmMGWDLZn0UyxPN2^k%uIITK8FT6Ul*@

这个?

qzhsjz 发表于 2020-7-26 16:35

初吻给奶嘴耶 发表于 2020-7-26 16:33
52Pojie-AngeloTheCat-6Ayi!7qbVncso0UnSFQ#PhK^ng7nWlGXiH&WKvvY&#RTLKtL@IQ8skApYRGU5pHcrBuTmMGWDLZn0Uy ...

正确,能想办法把弹窗弹出来吗{:1_918:}

qzhsjz 发表于 2020-7-26 16:57

wwh1004 发表于 2020-7-26 16:49
18001EC30处改成非0的值

太强大了,打到了源代码的七寸!

qzhsjz 发表于 2020-7-26 18:01

8425wan 发表于 2020-7-26 11:16
我也有这种问题

是不是想扒别人家的外挂;www

lifz888 发表于 2020-7-27 08:43

非常好的学习内容,支持原创,支持发帖
页: [1]
查看完整版本: 原创综合练习:找出.net程序注入到Win32程序中的非托管DLL中的隐藏弹窗内容