原文出处:http://sxcode.tap.cn/index/article-21nf1p3cq0104
下好IDA ,运行
会出现这个选择向导。
点新建会让你选择调试模式。
点运行,他只运行这个IDA 不会让你去选择。
点载入,他会默认使用上一次,调试的程序载入。
我们什么都不做,直接选运行,就ok。
进入IDA 主界面:
用他是为了处理调试程序的。
这个时候 ,我们可以从文件菜单中装入你想看到的 exe,dll,驱动等
或按提示拖一个文件进去。大家下好 后,随便写个小程序,拖进去看看会发生什么情况
会出现上面这样的一个窗口。
我们调试 PE 直接用第一项。
如果我们不想把PE当程序,直接用Binary file。
顾名思义这个是二进制方式直接从文件头打开
注意里面有个手动载入和 Make i..
这两个多用于对付特殊处理过的程序,这个我们以后再说 ,我们今天先讲入门
点击确定按钮进入程序,让IDA 为我们自动分析:
进入后会出现很多窗口,不要怕,惊喜在后面
基础IDA 分析程序是以数据库方式保存的,
它分析的所有东西,都会放进 相应的数据库中,我们在它界面上操作,只相当于对数据库的查询
但这样已经非常好了,
IDA 他是尽量让分析出的汇编代码程序更接近与高级语言的语法,他会更好的反出你真正想得到的高级语言程序原码而设计的,不只是为了调试,,调试不是他的宗旨 ,但他的调试也不弱
欣赏几个界面
对代码来说,他所显示的模式有两种,
一就是这个图形模式的,带了流程结构的界面。
方便大家对程序的流程理解。
第二种:显示模式,就是列表模式:
基本和OD 差不多,
但它把一些变量,参数等,默默的给取名处理了
以方便你 ,反出 程序,做准备
:怎么弄出列表模式和图形模式
::切换到代码视图
::工具条找
切换用快截建空格 //ctrl+shift+空格?
漫漫你就不会对 IDA 感到恐怖,漫漫你会爱上他的.....
大家还是尽量开IDA
什么问题一操作,就方便理解了
先介绍下,他会给我们显示的窗口有哪些:
这是快速入门课,我不会详细讲 ,但 引导性的操作是必须的,
看上面的图。
点哪个你就会看到哪个窗口里面的内容。
看内容,你大概也会知道什么意思了 。
里面的子窗口一共有18个。
每个窗口都会透露不同的信息给我们。
我们看程序的时候,会在着18个中,不断的参考跳转。
比如 ,名字窗口打开,
我们会在里面看到函数的名字,还有他能分析到的全局变量
IDA 给我们提供的界面有点象ie的超连接,
但需要双击来跳转。
比如双击START,
我们会跑到程序的入口点。
这也是为了我们方便跳转做的。
IDA窗口多,
显示感觉很乱。
但如果我们对各个窗口的内容理解了,掌握 IDA ,还是很简单的
里面还有输入表窗口,输出表窗口....
都是方便我们查看的,
也方便我们对文件的各种定位。
点那到那,点什么显示什么,非常直观,
大家注意下,以前的 IDA 纯是为了静态反汇编而做的。
发展到现在,他也可以象OD 一样进行动态调试了
现在我演示让他动起来,看他显示出什么给我们
再入口点下个断点 F2:
点开上面的黑筐筐
会出现个这样的一个窗口,我们点黑色的三角,我们调试的程序就会运行起来了
让程序运行起来是另一样状态。
这就是IDA的两种分析状态。
静态的,动态的,现在通吃。
讲入门功能都差不多。
版本不是问题。
以后大家熟悉了,随便用。
问题是让大家入门,知道这个优秀软件的存在。
这个软件的界面刚看时会感觉比OD 乱,但是当你真的熟悉起来的时候,你会感觉他有些东西比OD 的做法更能让我们理解整个程序的思想。
他就是为反编译而生的
反汇编与反编译是两个概念,大家要区分开。
简单的界面操作,我先不讲,我就带领大家进入不同的领域
因为界面操作的东西要建立在你不断使用中,漫漫都会通
静态的界面也看到了,动态的界面也看到了,
继续深入,
会深入到那里呢,!!?
给大家演示下 远程调试,
谁装 ida 了,跟我配合下
::联网调试?
绝对的 联网调试
装ida 的 ,有外网IP的跟我联系下
:俺
在水一方 我要你这么做
进入,IDA 目录
里面有个文件 win32_remote.exe
看到了吧
:看到
把他拷贝到一个根目录下
win32_remote.exe /?
了解下参数
D:\win32_remote.exe -p5921 -Pty110
运行我上面的 指令
-p 表示开某个端口
-P 表示要使用连接密码
在水一方
:
ip给我
等待
:123.180.151.20
:连上啦
我会用两种方式去调试你的电脑
就这么神气
:ok
一种方式就是,附加你的当前进程,
一种方式就是,打开你具体目录中的程序
这就是 IDA 给我们提供的两种远程调试方法
这个如果你们都有两台电脑,去调试,全屏游戏是很方便的事
在水一方,关了吧
别被别人进入了
这个调试过程可以被利用,运行自己的 shellcode 代码,下载东西的。
看到上面的图没有,
这里就是进入远程调试的入口
第一个是调试他电脑里的,文件,
第二个是调试他电脑里的,进程
里面的分目录,第一个是本地,第二个是远程
看名字大家都应该清楚
内容就这么添,不解释了
调试程序时还可以带参数,
ok 没对 IDA有点感觉没!!
:反汇编也很给力连填充结构都给出来了
嗯
即使他识别不出结构
你自己可以给他加载结构
程序会用你的结构去改写他的显示指令的
他的最大用处就是反编译
这个远程调试也挺给力
里面任何名字,你都可以修正的
多用这个,你会熟悉他的,反汇编也是很简单的工具
刚开始,你会感觉有点乱 ,比不上 OD
但他的功能远非OD 能比
D B 快截键 改变数据显示方式! C 转换为指令
空格切换图形模式与列表模式
箭头绿色去执行红色不执行,蓝色正常执行
按住Ctrl + - 或鼠标滑轮改变图形模式大小
图形模式默认信息少,但可以配置出来,如带行前缀
去挖掘IDA中的各种设置吧,你会看到不一样的IDA
右键字符串窗口可以设置重新查找各种类型的字符串
双击一个名称 IDA将跳转到反汇编窗口中被引用的位置或展开内容
IDA还提供了前进,后退,导航按钮。
用热键 : ; 可写注释分别常规注释与可重复注释(蓝)
IDA会创建一个数据库,4个文件.id0 .id1 .nam .til
可以压缩成一个IDB文件
对于病毒,多人分析时可以只共享IDB文件,一样调试
IDA 分析不出的结构 ,可以这样做
1 在结构体窗口中插入结构体 Insert
使用文本编辑器 以c表示法(.h)定义的结构体布局,比使用IDA繁琐的手动结构体定义一结构体布局方便 !!
2 使用EDIT Struct Var(ALT + Q) 将光标开始处 转成 结构体布局
3 使用数字键盘上的 + - 可以打开和折叠结构体
装载程序时使用手动载入用于自分析
还有很多很多,我就不一一列举了,漫漫熟悉软件吧,
真是不错的东西,这节课讲完了,此课只再于让大家热爱起工具,善用工具,看到更多精彩的内容,