原创声明:转载本文请标注出处和作者,望尊重作者劳动成果!感谢!
一、IDA
IDA是一款交互式的反汇编器,为众多0day世界的成员和ShellCode安全分析人士提供了技术支持。IDA主界面主要是:
IDA View(三种反汇编视图:文本视图、图表视图、路径视图)
Hex View(十六进制窗口)
Imports(导入函数窗口)
Struceures(结构体窗口)
Exports(导出函数窗口)
Enums(枚举窗口)
Strings(字符串窗口)
其中最常用到的就是IDA View、Hex View,在IDA View在IDA View中按F5可以生产C代码查看,也可以将整个保存为C文件进行查看。
而在Hex View中按F2可直接编辑16进制数据。
IDA的使用也很方便,只需将文件拖入即可,然后IDA View该区域是IDA的主要功能区域,具有很多特性,如相同字符串高亮、双击函数名或引用变量名可调整到对应的跳转地址等,主要操作如下:
字符串搜索:Alt+T 下一个:Ctrl+T
空格键:切换文本视图与图表视图
ESC:返回上一个操作地址
G:搜索地址和符号
N:对符号进行重命名
冒号键:常规注释
分号键:可重复注释
Alt+M:添加标签
Ctrl+M:查看标签
Ctrl+S:查看段的信息
代码数据切换
C-->代码/D-->数据/A-->ascii字符串/U-->解析成未定义的内容
X:查看交叉应用
F5:查看伪代码
Alt+T:搜索文本
Alt+B:搜索十六进制
上手体验一下IDA的魅力。在练习题目中有一个re1的文件,需要从中获取flag。
F5得到类似C的伪代码。
从中可以看到flag的内容。
二、OllyDBG
除了IDA,逆向的另一款工具OllyDBG也是深受安全使用者的喜爱与追捧,OllyDebug是一个反汇编工具,一个新的动态追踪工具,将IDA与SoftICE结合起来的思想,Ring 3 级的调试器,己代替SoftICE成为当今最为流行的调试解密工具了。同时还支持插件扩展功能,是目前最强大的调试工具。常用指令如下:
指令 |
快捷键 |
含义 |
Restart |
Ctrl+F2 |
重新开始调试 |
Step Into |
F7 |
执行一句OP code,若遇到CALL,进入函数代码内部 |
Step Over |
F8 |
执行一句OP code,若遇到CALL,仅执行函数自身,不跟随进入 |
Run |
F9 |
运行(遇到断点时暂停) |
Execute till return |
Ctrl+F9 |
执行函数代码内的命令,直到遇到RETN命令,用于跳出函数体 |
Execute till cursor |
F4 |
执行到光标所在位置 |
Comment |
; |
添加注释 |
User-defined comment |
鼠标右键菜单Search for-User defined comment |
查看用户输入的注释目录 |
Label |
: |
添加标签 |
User-defined label |
鼠标右键菜单Search for-User defined Label |
查看用户输入的标签目录 |
Breakpoint |
F2 |
设置或取消断点 |
All referenced text strings |
鼠标右键菜单Search for-All referenced text strings |
查看代码中引用的字符串 |
All intermodular calls |
鼠标右键菜单Search for-All intermodular calls |
查看代码中调用的所有API函数 |
Name in all modules |
鼠标右键菜单Search for-Name in all modules |
查看所有API函数 |
Edit data |
Ctrl+E |
编辑数据 |
Assemble |
空格键 |
编写汇编代码 |
Copy to executable file |
鼠标右键菜单Copy to executable file |
创建文本副本(修改的项目被保留) |
OllyDBG的使用一如既往地方便,接下来用一个小实验来讲解一下OllyDBG的使用方法。
只要你输入的东西是错误的,就会弹出英语提示框one of the details you entered war wrong。我们要做到的就是把这个英语给汉化成中文的形式呈现出来。首先把这个exe文件拖入OllyDBG里面进行调试解密。
右键选中中文搜索引擎-->智能搜索,可以清楚看到该字符串,点击该字符串就可以跳转到对应的位置进行查看编写。
右键follow in dump,定位到这个立即数的位置,方便我们作进一步的修改。
定位到立即数之后很快就可以找到相对应的字符,选定你想要修改的字符按下CTRL+E可以对字符进行修改。
修改完成后,选中我们修改的地方,右键-->copy to executable file-->右键-->save file,重新打开程序,输入框的标题和内容变成了中文。
本文始发于微信公众号(Fighter安全团队):逆向入门学习之IDA和OllyDBG
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论