恶意代码分析-第八章-动态调试

内核模式/用户模式

用户模式:调试的程序会与其他程序隔离

内核模式:会需要两个系统,一个运行被调试的代码,另一个运行调试器,还有须配置操作系统使得开启内核调试功能,并将两个系统连通。

windbag--支持内核调试和用户调试

Ollydbg--支持用户模式

单步跳过--某些函数调用永远不会返回,如果跳过此类函数,调试器将不能再次获得控制权。

异常

调试器通常有两次机会来处理同一个异常:首次处理异常和二次处理异常。调试器第一次附加到进程时,会发生一个异常,然后被调试的程序停止执行,此时调试器开始获得控制权。调试器可以自己处理异常,也可以将异常转给被调试的应用程序处理。

如果程序注册了一个异常处理函数,他会在调试器处理异常后,获取处理异常的权限。例如 除0操作,如果应用程序没有处理异常,调试器将获得另一个调试的机会——二次处理异常。调试器接受到一个二次处理异常后,意味着如果程序没有附加到调试器就会崩溃,为了让应用程序正常运行,调试器必须处理异常。对于恶意代码分析,首次异常可以忽略,二次异常不能忽略。

使用调试修改执行文件:

避免一个函数不被调用,可以通过改变指针指令,阻止调用的发生。

了解一个函数的调用情况,但不知道调用的位置。可以改变指针指令,使这个函数执行。

实验

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值