关闭

OllyDbg完全教程 选项[Options] 搜索[Search]自解压文件[Self-extracting (SFX) files]

标签: searchdebuggingcommand汇编fontsstring
1983人阅读 评论(0) 收藏 举报
分类:

十七,选项[Options]

外观选项[Appearance options]

常规[General]
默认[Defaults]
对话框[Dialogs]
目录[Directories]
字体[Fonts]
颜色[Colours]
代码高亮[Code highlighting]

调试选项[Debugging options] (Alt+O)

安全[Security]
调试[Debug]
事件[Events]
异常[Exceptions]
跟踪[Trace]
自解压[SFX]
字符串[Strings]
地址[Addresses]
命令[Commands]
反汇编[Disasm]
CPU
寄存器[Registers]
栈[Stack]

分析1[Analysis 1]
分析2[Analysis 2]
分析3[Analysis 3]

即时调试[Just-in-time debugging]

添加到资源管理器[Add to Explorer]

 

 

十八,搜索[Search]

OllyDbg 允许您使用以下的搜索方式:

符号名(标签)[Symbolic name (label)]
二进制串[binary string]
常量[constant]
命令[command]
命令序列[sequence of commands]
模块间调用[intermodular calls]
修改过的命令或数据[modified command or data]
自定义标签[user-defined label]

自定义注释[user-defined comment
文本字符串[text string]
Run跟踪的记录[record in run trace]
参考命令[referencing commands]

 

 

十九,自解压文件[Self-extracting (SFX) files]

自解压文件由提取程序和压缩的原程序两部分组成。当遇到自解压文件(SFX)文件时,我们通常希望跳过解压部分,而直接跳到原始程序的入口(真正的入口)。
OllyDbg 包含了几个便于完成这一任务的功能。

通常提取程序的加载地址都在执行代码之外。在这种情况下,OllyDbg 将这类文件均视作为自解压文件(SFX)。

当自解压选项[SFX options]要求跟踪真正入口时,OllyDbg 在整个代码节[Code section]设置内存断点,最初这里是空的,或者只包含压缩数据。当程序试图执行某个在这个保护区域的命令,而这些命令不是 RET 和 JMP 时,OllyDbg 会报告真正的入口。这就是提取工作的原理。

上面的方法非常慢。有另外一种比较快的方法。每次读取数据发生异常时,OllyDbg 使这个4K内存区域变为可读,而使原先可读的区域变为无效。而每次发生写数据异常时,
OllyDbg 使这个区域变为可写,而使原先可写的区域变为无效。当程序执行在保留的保护区域中的指令时,OllyDbg 报告真正的入口。但是,当真正的入口点在可读或可写区域内部时,报告的地址就可能有误。

您可以纠正入口位置,选择新的入口,从反汇编窗口的快捷菜单中选择“断点[Breakpoint]|设置真正的自解压入口[Set real SFX entry here]”。如果相应的SFX选项是开启的,OllyDbg下次可以迅速而可靠的跳过自提取程序。

注意:OllyDbg 在跟踪采取了保护或者反调试技术的解压程序时通常会失败。

 

 


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:107056次
    • 积分:1264
    • 等级:
    • 排名:千里之外
    • 原创:12篇
    • 转载:33篇
    • 译文:0篇
    • 评论:6条
    最新评论