小工具:

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/

10-11 16:32