UPX命令行压缩、反汇编动画进入、OllyDbg搜索命令功能

使用的示例是《Windows程序设计》第五版第一章的HelloMsg.exe;

 

一 UPX命令行压缩

 

下载
upx.sourceforge.net/download/upx304w.zip

upx是一个可执行文件压缩工具;

UPX命令行压缩、反汇编动画进入、OllyDbg搜索命令功能

UPX命令行压缩、反汇编动画进入、OllyDbg搜索命令功能

upx -o HelloMsg_upx.exe HelloMsg.exe

-O,输出压缩文件,不带其他参数;只打 upx ,查看帮助;

压缩以后exe减小;

 

二 反汇编动画进入

 

首先加载HelloMsg.exe;停留在004011C0;此时的加载暂停选项是 主模块的入口点;

UPX命令行压缩、反汇编动画进入、OllyDbg搜索命令功能

跟踪菜单里面有,动画进入,动画结束;一个相当于自动反复执行F7,一个相当于自动反复执行F8;

这两个并不是一个开始,一个结束;
 

UPX命令行压缩、反汇编动画进入、OllyDbg搜索命令功能

对HelloMsg.exe反汇编出来的主模块,是从00401000开始;到00407FFF结束;

UPX命令行压缩、反汇编动画进入、OllyDbg搜索命令功能

UPX命令行压缩、反汇编动画进入、OllyDbg搜索命令功能

执行 Ctrl+F8;开始自动跟踪代码,光标自己移动;
打下图,下划红色一排四个按钮,均无法停止对此程序的自动跟踪;只能打下划绿色的暂停按钮暂停;
暂停住,已经自动运行到76B01000;

UPX命令行压缩、反汇编动画进入、OllyDbg搜索命令功能

重启动;再执行Ctrl+F8;暂停住,已经自动运行到753B2617;
就是对此程序的自动跟踪,无法转换到F7和F8模式;

UPX命令行压缩、反汇编动画进入、OllyDbg搜索命令功能

三 OllyDbg搜索命令功能

 

加载UPX压缩过的HelloMsg_upx.exe;
现在还不清楚upx压缩和加壳是什么关系;
加壳的代码很可能存在循环;
汇编循环语句的一种情况是使用ECX计数;下面来查找加载程序中包含ECX的指令;右键菜单选择 搜索-命令;

UPX命令行压缩、反汇编动画进入、OllyDbg搜索命令功能
输入 ecx 搜索;提示 未知命令;

UPX命令行压缩、反汇编动画进入、OllyDbg搜索命令功能

输入pop ecx;
搜到一条 pop ecx指令;

UPX命令行压缩、反汇编动画进入、OllyDbg搜索命令功能

UPX命令行压缩、反汇编动画进入、OllyDbg搜索命令功能

此工具的 搜索-命令 菜单,只能搜索整条指令匹配的情况;

 

现在干完了以上活;

根据逆向相关资料;压缩或加壳后的exe,很可能存在汇编循环代码;有时称 解压缩循环;

跟踪此类代码,可以打Ctrl+F8进入自动跟踪;如果碰到循环;光标会在一段代码处反复自动上下;此时打F7大概可以停止跟踪,查看循环;

干完了以上以后,有时间可以开始操作对加壳的程序进行跟踪;