gpt4 book ai didi

assembly - 如何在普通 DLL 中找到 "strange"ROP gadget?编译器永远不会这样做。 (面向返回的编程)

转载 作者:行者123 更新时间:2023-12-02 21:33:07 25 4
gpt4 key购买 nike

小工具:

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 gadget?编译器永远不会这样做。 (面向返回的编程),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59792623/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com