首页
社区
课程
招聘
[原创]逆向技术之熟悉IDA工具
发表于: 2018-2-5 16:04 37506

[原创]逆向技术之熟悉IDA工具

2018-2-5 16:04
37506

IDA,静态分析工具,网上随便找一个即可下载.或者在看雪工具区下载: IDA 工具

首先,我们写一个可执行EXE,最简单的


使用IDA打开.

1.提示使用什么格式打开


因为是PE格式,所以我们选择PE即可.点击OK

2.重新打开一下


如果以前已经打开过这个PE,那么重新打开,则会显示这三个按钮,

1.overwrite 重新写入,代表覆盖以前的.(联系中常用这个,工作中不常用)

2.load existing 加载已经存在,这个很常用,因为有的时候汇编的注释很多,或者样本分析不会是一天完成,那么加载这个已经存在的即可.

3.取消.

3.打开后显示的视图


这个视图是罗列出函数的逻辑.

我们不看这个,主要是看汇编代码.

1.切换到汇编代码


右键,点击Text View

2.查看汇编代码.


这里有代码提醒功能,那么我们要学会怎么做,IDA是读取.sig文件,然后显示出来的.

那么我们要学会怎么做.

制作.sig文件,我们依赖于一个VC自带的工具,还有特征提取工具.

1.VC 自带的lib.exe

2.特征提取工具pcf.exe

都会打包.

第一个,我们首先手动制作一个.sig文件.

先熟悉一下特征是什么

首先上图看到,我们已经显示出来了system这个库函数了,那么是怎么显示的? IDA读取sig文件,但是读取sig文件也要有特征匹配才会显示.

首先我们双击system,进去查看它的汇编,以及二进制代码.


默认是没有机器码的,所以我们要显示出来机器码.

Options(选项) - > General(一般)

然后出来下图


只需要在画红色方框的地方,写入大小,则会显示机器代码多少


特征就是固定的二进制代码, 注意,是固定的二进制代码,打死都不会变的.

比如上面的push ebp的机器代码,是55

但是注意,偏移不是,比如最后的一个红框后面的偏移,因为这个受很多因素干扰.

注意,因为printf是属于libc.lib中,所以直接把libc.lib的obj提取出来

这里我的环境变量已经配置好了,可以直接使用CMD命令行了,注意,如果你没有配置,请网上搜索配置的方法.

vc的lib.exe目录所在文件.

vc98 -> bin ->lib.exe, 这里给的是一部分,因为我不知道你的vc在哪里装着,所以这个是不会变的.

而libc.lib所在的文件路径,也是在vc98下面,只不过不是bin了,变成了lib了

首先lib工具的使用命令

lib /list xxx.lib


命令:

lib /extract: xxxxx.obj  lib文件名


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2019-2-1 17:00 被admin编辑 ,原因:
收藏
免费 15
支持
分享
最新回复 (23)
雪    币: 300
活跃值: (2477)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
mark,感谢楼主分享
2018-2-6 10:51
0
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
学习了,对IDA了解又加深了点
2018-2-6 20:18
0
雪    币: 29
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
收获很多,支持一下
2018-2-9 16:35
0
雪    币: 16101
活跃值: (3549)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
感谢楼主分享 
2018-3-7 00:42
0
雪    币: 429
活跃值: (413)
能力值: ( LV6,RANK:81 )
在线值:
发帖
回帖
粉丝
6
支持,很不错,学习了,一直想做sig
2018-5-26 20:11
0
雪    币: 2694
活跃值: (80)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
7
2018-5-26 20:42
0
雪    币: 429
活跃值: (413)
能力值: ( LV6,RANK:81 )
在线值:
发帖
回帖
粉丝
8
顺便问一下,有没有收集好的sig的比较权威的地方?譬如说流行算法的sig
2018-5-27 08:41
0
雪    币: 440
活跃值: (1163)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
9
mlgbwoai 顺便问一下,有没有收集好的sig的比较权威的地方?譬如说流行算法的sig
https://github.com/Maktm/FLIRTDB
2018-5-27 11:37
0
雪    币: 1250
活跃值: (3555)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
学习了  谢谢分享
2018-5-28 10:25
0
雪    币: 215
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
idaPro_SDK.Flair
2018-5-31 12:41
0
雪    币: 4191
活跃值: (862)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
谢谢分享。
2018-6-1 00:10
0
雪    币: 220
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
pelf  E:\android-ndk-r16b\sources\cxx-stl\stlport\libs\armeabi\libstlport_static.a
unknown reloc type 96. (sec 3,addr 20)

press enter to exit.

生成pat报错...
最后于 2019-4-11 21:09 被gushiaoke编辑 ,原因:
2019-4-11 21:09
0
雪    币: 871
活跃值: (9841)
能力值: ( LV13,RANK:385 )
在线值:
发帖
回帖
粉丝
14
gushiaoke pelf  E:\android-ndk-r16b\sources\cxx-stl\stlport\libs\armeabi\libstlport_static.aunknown&a ...
是不是版本低了,我好久之前写的.
2019-4-23 16:13
0
雪    币: 1
活跃值: (207)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
学习受益了
2020-9-9 10:58
0
雪    币: 729
活跃值: (1195)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
16
先占个位,后面一定拜读
2020-9-25 19:31
0
雪    币: 1065
活跃值: (1435)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
17
请问 网上有VS2019年版本的 IDA sig签名制作吗
2023-6-9 16:26
0
雪    币: 871
活跃值: (9841)
能力值: ( LV13,RANK:385 )
在线值:
发帖
回帖
粉丝
18
Onlyxiu 请问 网上有VS2019年版本的 IDA sig签名制作吗
别的论坛有人发过,吾爱破解,搜搜资料吧.
2023-6-9 16:54
0
雪    币: 1065
活跃值: (1435)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
19
TkBinary 别的论坛有人发过,吾爱破解,搜搜资料吧.
谢谢你,我在吾爱破解搜索了,可能关键字不对,没找到.然后就发了悬赏,至今还没有回复
2023-6-14 08:55
0
雪    币: 3090
活跃值: (30876)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
学习了
2023-6-14 09:11
1
雪    币: 4588
活跃值: (894)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
21
感谢分享。谢谢
2023-6-18 19:42
0
雪    币: 1570
活跃值: (1403)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
学习了,谢谢大佬。问一个比较幼稚的问题,IDA对于exe含着一堆dll的程序,有什么好办法吗?IDA生成的伪码是方便,但跨模块的地址和名称就识别不出来了。IDA就只能这样,还是我没用好?IDA的F5伪码如果再加上动态分析的功能,就完美了
2023-11-10 14:45
0
雪    币: 871
活跃值: (9841)
能力值: ( LV13,RANK:385 )
在线值:
发帖
回帖
粉丝
23
IDA只能这样,单模块分析. 对于一个exe的其它DLL 你只能单独打开这个DLL分析.
2023-11-10 14:48
1
雪    币: 10
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
24
????
2024-4-11 12:20
0
游客
登录 | 注册 方可回帖
返回
//