学习笔记-第十五章 恶意代码分析实战

本章节详细介绍了三个恶意代码分析实验,包括Lab15-1、Lab15-2和Lab15-3。实验涉及对抗反汇编技术,如误导函数调用、跳转识别错误等。Lab15-1中,二进制程序通过检查命令行参数与密码匹配来触发特定响应。Lab15-2则需修复反汇编技术后分析URL请求、USER-Agent生成及信息处理。Lab15-3是一个表面上合法但实际上执行恶意操作的程序,通过函数覆盖来隐藏其行为,包括访问特定URL并下载执行文件。
摘要由CSDN通过智能技术生成

第15章 对抗反汇编

所谓对抗反汇编技术,就是程序中使用一些特殊构造的代码或数据,让反汇编分析工具产
生不正确的程序代码列表。这种技术由恶意代码编写者手工构造,在恶意代码编译和部署
阶段使用一个单独的混淆工具,或是直接在源码中插入混淆代码。

所有恶意代码的设计都有特殊目的:键击记录,后门访问,使用目标系统发送大量电子邮
件让服务器瘫痪,等等。
恶意代码编写者会使用对抗反汇编技术来延缓分析人员分析恶意代码。

除了延缓或者阻止人工分析之外,对抗反汇编也能在一定程度上阻碍特定的自动化分析技
术。许多恶意代码相似性检测算法和启发式反病毒引擎都采用反汇编分析技术对恶意代码
进行检测或者归类。使用个别程序指令的任何手动或自动反汇编过程。

1.何谓对抗反汇编技术 反汇编并不是一个简单的问题,可执行代码的序列可以有多种反汇
编代码的表达,有写可能无效,它的目的仅仅是掩盖程序的真实意图。实现对抗反汇编时,
恶意代码编写者会创建一段代码序列,欺骗反汇编器,让反汇编器展示与真正执行的代码
不同的指令列表。
	对抗反汇编技术是利用反汇编器错误假设与局限性来实现的。例如,反汇编器在某个时
	刻只能将程序的每一个字节作为指令的组成部分。

2.挫败反汇编算法。 对抗反汇编技术是基于反汇编算法的天生漏洞产生的。为了清晰地显
示反汇编代码,反汇编器在事前都会做某种特定的假设。一旦这种假设不成立,恶意代码
作者就有机会欺骗分析人员。
	反汇编算法可以有俩种:线性反汇编算法和面向代码流的反汇编算法。其中线性反汇编
	算法容易实现,但也易出错。
	<1>线性反汇编 线性反汇编策略是遍历一个代码段,一次一条指令的线性反汇编,从不
	偏离,反汇编器使用的这个基本策略已经被反汇编写作教程采用,并且被调试器广泛使
	用。线性反汇编用已经反汇编的指令大小来决定下一个要反汇编的字节。
	&l
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值