花指令
这篇文章讲得好
https://blog.csdn.net/m0_46296905/article/details/117336574
如下介绍我遇到过的花指令
在我看来,我现在遇到的花指令总体的结构类型是:
1 | jmp a |
中间的xxx 就需要我们来nop掉,在nop掉之后进行“u” “c” “p”
jnz 和jz 的花指令:
一般来说:花之林就是在代码段中,突然下面有数据段的东西,很明显下面的数据段应该是代码段的。如上:这里就需要将下面的call 给nop掉
Call 和 Ret的花指令:
这里call sub_4116CE后,这个函数的作用就是:下面改变了一下栈中的值,将ret返回的地址进行了修改。没有实际的意义。将整段进行nop。
1 | 因为每次都是CALL到这里的,所以POP EAX实际上是把返回地址(开头的c7所在地址)传给EAX,经过一番处理后通过PUSH EBX换成新的返回地址,分析代码逻辑会知道这个返回地址会指向末尾的8d之后的一个字节。这段代码等价于做了一个JMP 0x17的操作。 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Safety-Blog!