专栏名称: 星盟安全
星盟安全工作室---“VENI VIDI VICI”(我来,我见,我征服),我们的征途是星辰大海。从事各类安全研究,专注于知识分享。
目录
相关文章推荐
西安头条  ·  不能吃!陕西检出8批次 ·  22 小时前  
西安头条  ·  不能吃!陕西检出8批次 ·  22 小时前  
今天看啥  ›  专栏  ›  星盟安全

CTF专辑--花指令阅读与分析

星盟安全  · 公众号  ·  · 2024-07-19 19:38
    

文章预览

一、垃圾代码(JunkCode) 对于垃圾代码和花指令的区分,我们一般将没有实际意义的代码称作垃圾代码(Junk Code/Garbage code),而把干扰调试器分析的代码称作花指令。 典型的JunkCode一般是一些操作指令 具有相同的操作数 ,执行一些毫无作用的运算,比如: mov eax,eax; xchg esp,esp; jmp rva=0;//E9 00 00 00 00 xor eax,0;    ;任何一个数异或0等于本身 二、汇编指令的等价替换 (1)算数拆分 所谓的算数拆分,就是将原来的操作数,拆分为多次进行计算,比如: add eax,0x5; 就可以拆分为 add eax,0x2; add eax,0x1; inc eax; inc eax; 再如: shl eax,5 就可以拆分为: shl eax,3; shl eax,1; shl eax,1; 当然,也可以综合其他寄存器进行值的传递,比如: add eax,4; 可以改写成: xor ebx,ebx; add ebx,2; mul ebx,2; add eax,ebx; 诸如此类的可以写很多种,不再阐述 下面对几个指令的等价解释进行描述: (2 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览