是否有任何类型的软件或研究或论文讨论将频繁的 x86 指令替换为不太常见且因此攻击者难以理解的指令(浮点/SSE/虚拟化/未记录),同时仍保持功能?
例如,我想替换这个
PUSH EBP
MOV EBP,ESP
...
PUSH DWORD [0x0BEE]
PUSH 3
CALL <check>
TEST EAX,EAX
JE <0xabcd>
PUSH <text1>
PUSH [EBP+5]
CALL <MessageBox>
0xabcd:
PUSH <text2>
PUSH [EBP+5]
CALL <MessageBox>
有了这个
AESKEYGENASSIST
VFMSUBADDPD
MOVLPS
PMADDUBSW
RET
FLDL2T
CMPXCHG8B
AESKEYGENASSIST
VFMSUBADDPD
MOVLPS
CMPXCHG8B
STOSW
VMLAUNCH
etc etc
同时仍然执行相同的操作。