原文出处:http://sxcode.tap.cn/index/article-21nf1p3cq0104


下好IDA ,运行

天涯老大讲IDA入门_ida

会出现这个选择向导。

点新建会让你选择调试模式。

点运行,他只运行这个IDA 不会让你去选择。

点载入,他会默认使用上一次,调试的程序载入。

我们什么都不做,直接选运行,就ok。

进入IDA 主界面:

天涯老大讲IDA入门_ida_02

用他是为了处理调试程序的。

这个时候 ,我们可以从文件菜单中装入你想看到的 exe,dll,驱动等
或按提示拖一个文件进去。大家下好 后,随便写个小程序,拖进去看看会发生什么情况

天涯老大讲IDA入门_ida_03

会出现上面这样的一个窗口。

我们调试 PE 直接用第一项。

如果我们不想把PE当程序,直接用Binary file。

顾名思义这个是二进制方式直接从文件头打开

注意里面有个手动载入和 Make i..

这两个多用于对付特殊处理过的程序,这个我们以后再说 ,我们今天先讲入门

点击确定按钮进入程序,让IDA 为我们自动分析:

天涯老大讲IDA入门_ida_04

进入后会出现很多窗口,不要怕,惊喜在后面

基础IDA 分析程序是以数据库方式保存的,

它分析的所有东西,都会放进 相应的数据库中,我们在它界面上操作,只相当于对数据库的查询

但这样已经非常好了,

IDA  他是尽量让分析出的汇编代码程序更接近与高级语言的语法,他会更好的反出你真正想得到的高级语言程序原码而设计的,不只是为了调试,,调试不是他的宗旨 ,但他的调试也不弱

欣赏几个界面

天涯老大讲IDA入门_ida_05

对代码来说,他所显示的模式有两种,

一就是这个图形模式的,带了流程结构的界面。

方便大家对程序的流程理解。

第二种:显示模式,就是列表模式:

天涯老大讲IDA入门_ida_06

基本和OD 差不多,

但它把一些变量,参数等,默默的给取名处理了

以方便你 ,反出 程序,做准备

:怎么弄出列表模式和图形模式

::切换到代码视图
::工具条找  

切换用快截建空格 //ctrl+shift+空格?

漫漫你就不会对 IDA 感到恐怖,漫漫你会爱上他的.....

大家还是尽量开IDA

什么问题一操作,就方便理解了

先介绍下,他会给我们显示的窗口有哪些:

天涯老大讲IDA入门_ida_07

这是快速入门课,我不会详细讲 ,但 引导性的操作是必须的,
看上面的图。

点哪个你就会看到哪个窗口里面的内容。

看内容,你大概也会知道什么意思了 。

里面的子窗口一共有18个。

每个窗口都会透露不同的信息给我们。

我们看程序的时候,会在着18个中,不断的参考跳转。

比如 ,名字窗口打开,

我们会在里面看到函数的名字,还有他能分析到的全局变量

天涯老大讲IDA入门_ida_08

IDA 给我们提供的界面有点象ie的超连接,

但需要双击来跳转。

比如双击START,

我们会跑到程序的入口点。
这也是为了我们方便跳转做的。

IDA窗口多,

显示感觉很乱。

但如果我们对各个窗口的内容理解了,掌握 IDA ,还是很简单的

里面还有输入表窗口,输出表窗口....

都是方便我们查看的,

也方便我们对文件的各种定位。

点那到那,点什么显示什么,非常直观,

大家注意下,以前的 IDA 纯是为了静态反汇编而做的。

发展到现在,他也可以象OD 一样进行动态调试了

现在我演示让他动起来,看他显示出什么给我们

再入口点下个断点 F2:

天涯老大讲IDA入门_ida_09

点开上面的黑筐筐天涯老大讲IDA入门_ida_10

天涯老大讲IDA入门_ida_11

会出现个这样的一个窗口,我们点黑色的三角,我们调试的程序就会运行起来了

天涯老大讲IDA入门_ida_12

让程序运行起来是另一样状态。

这就是IDA的两种分析状态。
静态的,动态的,现在通吃。

讲入门功能都差不多。
版本不是问题。
以后大家熟悉了,随便用。
问题是让大家入门,知道这个优秀软件的存在。
这个软件的界面刚看时会感觉比OD 乱,但是当你真的熟悉起来的时候,你会感觉他有些东西比OD 的做法更能让我们理解整个程序的思想。
他就是为反编译而生的

反汇编与反编译是两个概念,大家要区分开。

简单的界面操作,我先不讲,我就带领大家进入不同的领域

因为界面操作的东西要建立在你不断使用中,漫漫都会通
静态的界面也看到了,动态的界面也看到了,
继续深入,

会深入到那里呢,!!?
给大家演示下 远程调试,
谁装 ida 了,跟我配合下

::联网调试?

绝对的 联网调试
装ida 的 ,有外网IP的跟我联系下

:俺
在水一方 我要你这么做

进入,IDA 目录
里面有个文件 win32_remote.exe

看到了吧

:看到

把他拷贝到一个根目录下

win32_remote.exe /?
了解下参数

D:\win32_remote.exe -p5921 -Pty110

运行我上面的 指令

-p 表示开某个端口

-P 表示要使用连接密码

在水一方

天涯老大讲IDA入门_ida_13

ip给我
等待

:123.180.151.20

天涯老大讲IDA入门_ida_14

:连上啦

我会用两种方式去调试你的电脑
就这么神气

:ok

一种方式就是,附加你的当前进程,
一种方式就是,打开你具体目录中的程序
这就是 IDA 给我们提供的两种远程调试方法

这个如果你们都有两台电脑,去调试,全屏游戏是很方便的事

天涯老大讲IDA入门_ida_15

在水一方,关了吧

别被别人进入了

这个调试过程可以被利用,运行自己的 shellcode 代码,下载东西的。

看到上面的图没有,

这里就是进入远程调试的入口

第一个是调试他电脑里的,文件,

第二个是调试他电脑里的,进程

里面的分目录,第一个是本地,第二个是远程

看名字大家都应该清楚

天涯老大讲IDA入门_ida_16

天涯老大讲IDA入门_ida_17

内容就这么添,不解释了

调试程序时还可以带参数,

ok 没对 IDA有点感觉没!!

:反汇编也很给力连填充结构都给出来了

即使他识别不出结构

你自己可以给他加载结构

程序会用你的结构去改写他的显示指令的

他的最大用处就是反编译

这个远程调试也挺给力

里面任何名字,你都可以修正的

多用这个,你会熟悉他的,反汇编也是很简单的工具
刚开始,你会感觉有点乱 ,比不上 OD

但他的功能远非OD 能比

D B 快截键 改变数据显示方式! C 转换为指令

空格切换图形模式与列表模式

箭头绿色去执行红色不执行,蓝色正常执行
按住Ctrl + - 或鼠标滑轮改变图形模式大小
图形模式默认信息少,但可以配置出来,如带行前缀

天涯老大讲IDA入门_ida_18

天涯老大讲IDA入门_ida_19

天涯老大讲IDA入门_ida_20

去挖掘IDA中的各种设置吧,你会看到不一样的IDA

右键字符串窗口可以设置重新查找各种类型的字符串

天涯老大讲IDA入门_ida_21

双击一个名称 IDA将跳转到反汇编窗口中被引用的位置或展开内容
IDA还提供了前进,后退,导航按钮。

用热键 : ; 可写注释分别常规注释与可重复注释(蓝)

IDA会创建一个数据库,4个文件.id0 .id1 .nam .til
可以压缩成一个IDB文件

对于病毒,多人分析时可以只共享IDB文件,一样调试

IDA 分析不出的结构 ,可以这样做
1 在结构体窗口中插入结构体 Insert
使用文本编辑器 以c表示法(.h)定义的结构体布局,比使用IDA繁琐的手动结构体定义一结构体布局方便 !!
2 使用EDIT Struct Var(ALT + Q) 将光标开始处 转成 结构体布局
3 使用数字键盘上的 + - 可以打开和折叠结构体

装载程序时使用手动载入用于自分析
还有很多很多,我就不一一列举了,漫漫熟悉软件吧,

真是不错的东西,这节课讲完了,此课只再于让大家热爱起工具,善用工具,看到更多精彩的内容,