木马核心技术剖析读书笔记之木马反分析技术

本文是关于木马核心技术剖析的读书笔记,重点探讨了反调试、反反汇编、反虚拟机、反沙盒和反内存扫描等反分析技术。通过分析调试器的工作机制,介绍了通用和特定的反调试方法,以及如何利用特定指令和表检测虚拟机。此外,还讨论了沙盒原理及其检测策略,以及如何避免内存被扫描。
摘要由CSDN通过智能技术生成

常见的恶意软分析技术主要包含静态分析和动态分析两大类

反调试

木马程序使用反调试技术,可以阻止调试器对木马程序的加载;阻止调试器对木马程序的执行控制;阻止对木马程序设置断点;阻止调试器读取被调试进程的内存信息,进而延缓整个分析过程

Windows 系统实现了专门的调试器接口,而大多数调试器都是基于这些调试接口实现的

调试器工作机制

反病毒分析过程中,由于不可能获取到被分析软件的源码,通常使用的都是汇编级调试器

  • 源码级调试器针对各种高级语言,如 Chrome 附带的 JavaScript 源码调试器、专门针对 Java 语言的调试器 JDB、Visaul Studio 开发环境自带的调试器、Windbg、GDB 和 LLDB 等
  • 汇编级调试器主要针对机器语言,如 x86 平台机器指令、ARM 机器指令等,这类调试器比较有名的有 Ollydbg、Windbg、x64dbg、GDB 和 LLDB 等
  • 有些调试器既支持源码级调试,也支持汇编级调试,如 Windgb、GDB、LLDB

使用 Windows 系统调试接口的调试器中,首先创建或者附加被调试程序的进程;然后启动一个调试循环,该循环不断接收各种调试事件,并根据事件的类型读取被调试进程相应的信息进行处理,最后在用户的主动干预下恢复被调试进程

image_1c4vqnn0gkgodqr1gdfq6q1nnlm.png-213.7kB

通常,调试器主要有软断点、硬件断点和内存断点三种类型的断点

  • 软断点是单字节的机器指令,它在暂停程序执行的同时,将程序的执行控制转交给调试器进程的断点事件处理过程。软断点通过替换设置断点处的1字节内容为O×CC实现,O×CC代表了INT 3中断指令,它通知CPU暂停执行,而引发一个INT 3事件。当调试器捕捉到这个事件并进行处理后,会恢复被设置断点处的1字节内容
  • 硬件断点是在CPU级别实现的,没有修改内存内容,而是使用CPU的调试寄存器DRO~DR7。CPU通常有8个调试寄存器,DRO~DR3被用来保存设置断点的地址,DR4~DR5被保留,DR6保存断点命中后触发的事件类型,DR7决定了硬件断点是否启用,还指明了断
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值