小工具:
pushad
ret
在合法程序中,来自某个 DLL 对我来说毫无意义。
假设 DLL 是合法的,如何通过自动搜索找到小工具?使用函数的示例可能会有所帮助。
最佳答案
指令编码为:
60 pushad
c3 ret
因此,无论这两个字节出现在哪里,都会获得一个
pushad; ret
小工具。例如,这条指令可以合理地存在于 SSE 代码中:66 0f 60 c3 punpcklbw xmm0, xmm3
看到里面的
60 c3
小工具了吗?或者,小工具可以从一些即时获得。例如,假设在 0x4800c360
中有一些变量,我们尝试加载它的地址:b8 60 c3 00 48 mov eax, 0x4800c360
再次看到小工具?
这个小工具还有很多其他方式可以出现在完全正常的代码中。
关于assembly - 如何在普通 DLL 中找到 "strange"ROP 小工具?编译器永远不会这样做。 (面向返回的编程),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59792623/