永发信息网

求高手帮做反调试花指令

答案:1  悬赏:10  手机版
解决时间 2021-08-02 04:06
  • 提问者网友:萌卜娃娃
  • 2021-08-01 07:26

如题,发我Q上。

最佳答案
  • 五星知识达人网友:一袍清酒付
  • 2021-08-01 07:58

一.花指令概念:


花指令是一堆汇编指令组成,对于程序来说,是一堆废话,加不加花指令都


不影响程序的正常运行.编写的花指令要终始保持堆栈的平衡.


二.写花指令的原则:


写花指令的基本原则就是要保持堆栈的平衡.


写花指令细细品味下面一段比喻:


我们把一段花指令比喻成一道数学运算题,把汇编指令(push pop等)比喻成加减
乘除,把寄存器或数据(eax,ebx,1等)比喻成
数字(1,2,3等),那么要保持花指令堆栈的平衡,等于保持这道数学题的结果是0 .


三.解释一些指令含意


push ebp ----把基址指针寄存器压入堆栈


pop ebp ----把基址指针寄存器弹出堆栈


push eax ----把数据寄存器压入堆栈


pop eax ----把数据寄存器弹出堆栈



nop    -----不执行



dd esp,1-----指针寄存器加1


sub esp,1-----指针寄存器减1



inc ecx    -----计数器加1


dec ecx    -----计数器减1



sub esp,1 ----指针寄存器加1


sub esp,-1----指针寄存器加-1


jmp 入口地址    ------跳到程序入口地址


与它效果一样的还有(以下三个):


push 入口地址


retn



jb    入口地址


jnb 入口地址



mov eax,入口地址


jmp eax


jmp 入口地址----跳到程序入口地址


push 入口地址---把入口地址压入堆栈


retn    ------ 反回到入口地址,效果与jmp 入口地址一样.


mov eax,入口地址 ------把入口地址转送到数据寄存器中. 


jmp eax    ----- 跳到程序入口地址 


jb 入口地址


jnb 入口地址    ------效果和jmp 入口地址一样,直接跳到程序入口地址.


四.免杀花指令编写手册:


注:以后编写花指令,都可以参考本手册,灵活组合,快速写出自己的花指令.


*******************************************************************
push ebp


pop ebp


push eax


pop eax


push esp


pop esp


push 0


push 0


push 10    -------其中数字可以任意,注意与下面对应


push -10


nop    -----------可任意在中间添加


move edi,edi ----效果与nop一样


add esp,1    -------其中数字可以任意,注意以下面对应


add esp,-1


add esp,1    --------其中数字可以任意,注意以下面对应


sub esp,1


inc ecx


dec ecx


sub eax, -2 ----------其中数字可任意,与inc的个数对应


inc eax


inc eax


add eax -2 ----------其中数字可任意,与inc的个数对应


inc eax


inc eax


jmp 下一个jmp地址


jmp 下一个地址


push ebp


mov ebp,esp -------可做为花指令的开头句


jmp 入口地址    ------跳到程序入口地址


与它效果一样的还有(以下三个):


push 入口地址


retn


jb    入口地址


jnb 入口地址


mov eax,入口地址


jmp eax

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯