您所在的位置: 首页>软件安全>基础知识> 正文

自己编写花指令

http://www.hf110.com/  2008-08-28 作 者:佚名 来 源:HF110.com  我要评论(1)

一.花指令概念:


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


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


二.写花指令的原则:


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


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


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


三.解释一些指令含意


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


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



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


nop       -----不执行


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


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


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


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


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


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


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    -----------可任意在中间添加
mov edi,edi ------效果与nop一样


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


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


inc ecx
dec ecx


sub eax, 2 ----------其中数字可任意,与dec的个数对应
dec eax
dec 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


标签:花指令  责任编辑:黑反编辑
上一篇:没有了   下一篇:Ollydbg中断方法浅探
昵称:  验证码:  看不清楚?请点击这里刷新。  请文明参与讨论,禁止漫骂攻击。
loading.. 评论加载中....

频道推荐

破解排行

更多>>
Copyright©2004-2008 HF110.COM 版权所有 未经许可 请勿转载
管理员邮箱:管理员邮箱 苏ICP备05010002号
平等 开放 互帮 互助