BinCAT:一款可整合进IDA的二进制静态代码分析工具包

今天给大家介绍的是一款代码静态分析工具,该工具支持IDA,并且能够进行污点分析以及类型重构。

今天给大家介绍的是一款代码静态分析工具,该工具支持IDA,并且能够进行污点分析以及类型重构。

a1.png

BinCAT是什么?

BinCAT是一款静态二进制代码分析工具包,它可以整合进IDA Pro,并能够给逆向工程师的代码分析活动提供有效的帮助。

功能介绍

-值分析(寄存器+内存)

-污点分析

-类型重构

-前向以及后向分析

运行演示

感兴趣的同学可以点击下列视频了解BinCAT的运行演示:

基本分析功能:【视频地址

使用数据污点:【视频地址

详细使用教程:【传送门

参考文档:【传送门

支持的主机平台

-IDA插件:v6.9及其之后版本(BinCAT使用PyQt,而非PySide)

-分析器(本地或远程):Linux,Windows,macOS(未测试)

支持的CPU(目前)

-x86-32

-ARMv7

-ARMv8

工具安装

分析器

分析器可以在本地安装,或通过Web服务进行安装。

Windows平台下的程序代码中已包含分析器:【下载地址
在Linux平台下,你可以使用Docker【下载地址】或手动进行安装【手册】。

IDA插件

仅支持IDA v6.9及更高版本

Windows平台下的安装步骤:

-解压BinCAT

-在IDA中,点击“文件”->“脚本文件”(或按下ALT+F7)

-选择windows_install.py

-BinCAT将会安装在IDA的用户目录下

如果你想手动安装的话,请参考【安装手册】。

Linux平台下的安装

安装手册

使用BinCAT

1.      使用组合键Ctrl+Shift+B或进入Edit -> Plugins -> BinCAT菜单

2.      在IDA界面中选择操作指令,然后按下Ctrl+Shift+A组合键,或进入BinCAT -> Analyze from here菜单。

工具配置

你可以通过Edit/BinCAT/Options菜单来进行全局配置。

默认配置和选项存储在$IDAUSR/idabincat/conf之中。

执行分析并观察结果

1.      通过组合键Ctrl + Shift + B加载BinCAT插件

2.      在IDA中打开get_key_x86可执行程序

3.      在IDA View-A试图中,按下g键进入地址0x93B

4.      使用组合键Ctrl + Shift + A开启分析窗口

5.      确保分析器的配置已设置为(new)

6.      检查Save configuration to IDB选项

7.      检查Remap binary选项

8.      点击Edit analyzer config按钮

9.      将下列内容复制到[state]区域的结尾,重写已存在的stack初始化(stack[0x1000*8192]…):

stack[0x1000*4099] = |00|?0xFF
stack[0x2004] = 5
stack[0x2008] = 0x200000
mem[0x200000] = 0x300100
mem[0x200004] = 0x300140
mem[0x200008] = 0x300180
mem[0x20000C] = 0x3001C0
mem[0x200010] = 0x300200
mem[0x300100] = |6c6f6c3300|
mem[0x300140] = |636f6d70616e7900|
mem[0x300180] = |64657000|
mem[0x3001C0] = |6c6f6c3100|
mem[0x300200] = |6c6f6c2100|

10.点击“Save”

11. 点击“Start”

12.选择结果代码的存储位置,该操作只需要首次分析时配置即可

13.给需要存储的配置文件命名

14.分析完成后,按下g键进入地址0×807,在BinCAT Registers视图中观察gsp寄存器的值(应该为0x1D50)。打开BinCAT Memory视图,观察buffer指针(char *)的内容。

更多内容

更多的使用方法请大家参考BinCAT提供的【入门教程】。

* 参考来源:bincat,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM

取消
Loading...
css.php