逆向 | 新设计了一种花指令
混淆效果比以前使用的花指令要好很多。
设计思路和shellcode类似。
#include <stdio.h>
// author Mz1
int main(){
__asm__(".byte 0x55;"); // push rbp 保存栈
__asm__(".byte 0xe8,0,0,0,0;"); // call $5;
__asm__(".byte 0x5d;"); // pop rbp -> 获取rip的值
__asm__(".byte 0x48,0x83,0xc5,0x08;"); // add rbp, 8
__asm__(".byte 0x55;"); // push rbp -> 相当于将call的返回值修改到下面去
__asm__("ret;");
__asm__(".byte 0xe8;"); // 这是混淆指令不执行
__asm__(".byte 0x5d;") // pop rbp 还原栈
printf("whoami \n");
return 0;
}
标签:__,逆向,rbp,指令,设计,byte,asm
From: https://www.cnblogs.com/Mz1-rc/p/17081957.html