花指令(junk code) 意思是程序中有一些指令,由设计者特别构思,希望使反汇编的时候出错,让破解者无法清楚正确地反汇编程序的内容,迷失方向。经典的是一些跳转指令,目标位置是另一条指令的中间,这样在反汇编的时候便会出现混乱。花指令有可能利用各种 jmp, call, ret, 一些堆栈技巧,位置运算,等等 。

当然,花指令也广泛运用到免杀技术中,不过随着杀毒技术以及虚拟机技术的不断升级,单一的加花已经不能避免杀软的识别,不过花指令和其他免杀手段配合起来效果却也是很好的。杀毒软件还原病毒代码后,除了特征码以外,会根据头文件的60位以内的文件头代码来判断病毒。因此花指令不仅可以混淆,还可以进行文件头免杀。本文的目的仅仅是让大家掌握利用反汇编手段加花的方法,没有兴趣的同学可以直接用工具加花,不过我一直坚信手工才是王道~~o(∩_∩)o 哈哈

接下来我们配置一个Bankdook的服务端,放入PEID里扫一下。因为Bandoor是Delphi与VC的混合产物,所以扫不出来类型,因为也没有加壳,所以这里显示是Nothing found。我们需要的是这里的入口点和文件偏移信息。在这里我们看到入口点和文件偏移地址相同,都是000121B1。

这里要注意区分,文件地址和内存地址的概念。我们在PEID等工具中看到的地址是文件地址,也就是加载在文件当中的代码地址。而我们打开OD进行反汇编时,会变代码的地址是内存地址,即程序运行时分配到内存中的地址。这两者要区分好,因为后面的修改我们要用到。接下来用OD将服务端加载进去。OD的第一行代码便是头代码,对应的地址便是入口地址的内存地址,即131521B1。

接下来我们向下拉,来到全是nop的尾部,这里是空白地带,我们在这里写如花指令。当然,如果存在附加数据的话需要把附加数据进行备份,反汇编后在用C32Asm复制回去。我们选择13152F84这个地址,右键汇编。这里我将把下列代码写入:

PUSH -1
PUSH 0
PUSH 0
MOV EAX,DWORD PTR FS:[0]
PUSH EAX
MOV DWORD PTR FS:[0],ESP
SUB ESP,1
PUSH EBX
PUSH ESI
PUSH EDI
POP EAX
POP EAX
nop
POP EAX
nop
ADD ESP,1
POP EAX
MOV DWORD PTR FS:[0],EAX
POP EAX
POP EAX
nop
POP EAX
nop
POP EAX
MOV EBP,EAX
JMP 原入口地址

如果大家需要其他花指令也可以去找一下,或者自己写一些,总之越是生僻的越有效http://hi.baidu.com/xiaochudianx ... 7d033a8644f960.html

全写完后,我们需要将花指令的尾部用JMP跳回文件头,因为花指令的作用就是混淆伪装。我们记录的文件头地址是131521B1,可以在刚刚进入OD是记录,也可以用OC偏移量转换器入口点的文件地址转换为内存地址。就是我们用PEID记录下的文件地址。

接下来我们右键点击空白处,选择复制到可执行文件→所有修改,在弹出的框中右键选择保存,就将文件另存为了PE可执行文件。之后我们需要将花指令所在地修改为文件的入口点,我们先将花指令头的内存地址13152F84转为文件地址,即00012F84。

接下来我们用PEditor载入文件,将入口点地址修改为即00012F84,点击应用更改即可。

这只是花指令的普通应用方法,还有中转跳转法等方法。有的PE文件修改后会出现无效文件的情况,大家可以试试区段加花的方法。虽然加花指令的方法有局限性,但与修改特征码,修改头文件,壳中加籽,混合加壳,输入表输出表免杀等方法混合使用,其效果也是很可观的。

http://blog.sina.com.cn/s/blog_5d6916a40100viz1.html

程序免杀技术之——花指令相关推荐

  1. 木马免杀之汇编花指令技巧

    木马免杀之汇编花指令技巧 作者: 逆流风(发表于<黑客X档案>07.07,转载注明出处)        相信很多朋友都做过木马免杀,早期的免杀都是加壳和改特征码,现在免杀技术已经发展到花指 ...

  2. 【免杀】加花指令秒过杀?

    注:编写花指令需要一定的汇编基础 请看上文[免杀]初·反汇编指令大全_柳六.qi的博客-CSDN博客 ------------------------------------------------- ...

  3. 在一黑客论坛上看见的:360免杀技术介绍

    一.ASM汇编 这个是最舒服的,用OD打开已经配置好的马,找0区(也可以用TOPO加空段)要很大一片哦!右击,选择"二进制"→"编辑",在ASCII中输入 &q ...

  4. Atitit.木马 病毒 免杀 技术 360免杀 杀毒软件免杀 原理与原则 attilax 总结...

    Atitit.木马 病毒 免杀 技术 360免杀 杀毒软件免杀 原理与原则 attilax 总结 1. ,免杀技术的用途2 1.1. 病毒木马的编写2 1.2. 软件保护所用的加密产品(比如壳)中,有 ...

  5. msf之进阶免杀技术,无视360

    大家好!我是阿杰,今天我写一篇关于msf免杀技术的文章,如果你喜欢请为我打call,我会一直写下去. 首先我们需要: 说明:python监听虽然可以绕过360,但仅限于安装了python的目标,这是具 ...

  6. 病毒免杀技术-理论篇

    现有的病毒免杀技术主要分为三种,其中一种就是行动免杀,通过控制病毒木马的行为来躲过杀毒软件主动防御检测的目的,而这种行为免杀所用到的处理技术之一就是通过Anti Rookit来使反病毒程序的Rootk ...

  7. Msfvenom编码免杀技术实现免杀实战

    Msfvenom编码免杀技术免杀实战 免杀技术在网络渗透的实战中十分实用,本文将介绍使用msfvenom自带编码免杀工具进行编码免杀,从而实现绕过杀毒软件获得shell的具体方法. 按照文中所讲述的方 ...

  8. 传奇解决登陆器报毒360秒过百度杀毒 金山 卡吧 远控免杀技术

    传奇解决登陆器报毒360秒过百度杀毒 金山 卡吧 远控免杀技术 由于部分语言开发导致 杀软误报 使用本工作室研究得知误报分析代码 一.查壳 PEiD查出壳为PECompact 2.5 Retail - ...

  9. 免杀技术有一套(免杀方法大集结)(Anti-AntiVirus)

    00. 概述 什么是免杀?来自百科的注解: 免杀,也就是反病毒(AntiVirus)与反间谍(AntiSpyware)的对立面,英文为Anti-AntiVirus(简写Virus AV),逐字翻译为& ...

最新文章

  1. NFS文件锁一致性设计原理解析
  2. 实验6 控制结构综合程序设计 7-3 简单计算器
  3. linux-选择输入法
  4. 开课吧课堂:超类变量如何引用子类对象?
  5. C++中关于指针入门的最好的文章
  6. mysql not in性能分析_SQL 中的 in 与 not in、exists 与 not exists 的区别以及性能分析...
  7. 离线扫一扫识别车牌号 车牌识别 OCR识别技术
  8. 【STM32H7的DSP教程】第27章 FFT的示波器应用
  9. 磁盘阵列数据恢复_raid5硬盘离线数据恢复步骤_HP-lefthand存储详解
  10. 均线策略python代码_「Python笔记」利用Python以及Tushare实现简单的均线策略
  11. 5-2 jmu-java-m05-自定义Judgeable接口 (10分)
  12. 《速度与激情》男主演保罗沃克车祸身亡,再见速度再见难续的激情
  13. Python学习日记-第十四天-面向对象练习
  14. python中的序列封包和序列解包
  15. html自动全屏js,js实现简单页面全屏
  16. 淘淘商城第78讲——查询商品详情添加缓存的分析
  17. 配置类不加@Configuration竟然也可以注册bean
  18. 电脑安装破解软件跟杀毒软件冲突怎么办
  19. Ray Tracing(扩展欧几里得,ax+by=c最小解)
  20. html5/Css3 网页设计 带音乐与食品模块

热门文章

  1. 运用Javascript实现时间重置、进行时间加减计算
  2. 医院预约挂号系统设计与实现(论文+源码)
  3. 锂电池行业锂溶液除杂的原理分析
  4. 备胎的自我修养 | (2)第二卷 当爱已成往事--01 由零开始(上)
  5. python中花括号什么作用_Python3中小括号()、中括号[]、花括号{}的区别详解
  6. ssh反向代理、动态代理、本地代理
  7. 程序员可以有多浪漫,盘点那些像诗一样美的代码(C语言版)
  8. PowerBI字段参数
  9. android仿微信发布动态功能,Android 类似微博、微信展示动态(Feed)的WeiBoLayout
  10. 干掉 PowerDesigner这款国人开源的数据库设计工具真香