UPX命令行压缩、反汇编动画进入、OllyDbg搜索命令功能
使用的示例是《Windows程序设计》第五版第一章的HelloMsg.exe;
一 UPX命令行压缩
下载
upx.sourceforge.net/download/upx304w.zip
upx是一个可执行文件压缩工具;
upx -o HelloMsg_upx.exe HelloMsg.exe
-O,输出压缩文件,不带其他参数;只打 upx ,查看帮助;
压缩以后exe减小;
二 反汇编动画进入
首先加载HelloMsg.exe;停留在004011C0;此时的加载暂停选项是 主模块的入口点;
跟踪菜单里面有,动画进入,动画结束;一个相当于自动反复执行F7,一个相当于自动反复执行F8;
这两个并不是一个开始,一个结束;
对HelloMsg.exe反汇编出来的主模块,是从00401000开始;到00407FFF结束;
执行 Ctrl+F8;开始自动跟踪代码,光标自己移动;
打下图,下划红色一排四个按钮,均无法停止对此程序的自动跟踪;只能打下划绿色的暂停按钮暂停;
暂停住,已经自动运行到76B01000;
重启动;再执行Ctrl+F8;暂停住,已经自动运行到753B2617;
就是对此程序的自动跟踪,无法转换到F7和F8模式;
三 OllyDbg搜索命令功能
加载UPX压缩过的HelloMsg_upx.exe;
现在还不清楚upx压缩和加壳是什么关系;
加壳的代码很可能存在循环;
汇编循环语句的一种情况是使用ECX计数;下面来查找加载程序中包含ECX的指令;右键菜单选择 搜索-命令;
输入 ecx 搜索;提示 未知命令;
输入pop ecx;
搜到一条 pop ecx指令;
此工具的 搜索-命令 菜单,只能搜索整条指令匹配的情况;
现在干完了以上活;
根据逆向相关资料;压缩或加壳后的exe,很可能存在汇编循环代码;有时称 解压缩循环;
跟踪此类代码,可以打Ctrl+F8进入自动跟踪;如果碰到循环;光标会在一段代码处反复自动上下;此时打F7大概可以停止跟踪,查看循环;
干完了以上以后,有时间可以开始操作对加壳的程序进行跟踪;