Binary Analysis Tool(BAT)是一个用于检测二进制文件使用到的开源组件,协助及早发现程序发布后可能会面临的开源协议解执的开源免费检测工具。

一、安装BAT和bat-extratools

1.1 安装BAT

安装环境:Kali-2.0+Python-2.7

git clone https://github.com/armijnhemel/binaryanalysis.git
cd binaryanalysis/src
python setup.py install

1.2 安装bat-extratools

bat-extratools是BAT一些高级检测项用到的依赖,如果不安装在某些检测中会报“OSError: [Errno 2] No such file or directory”之类的错误

git clone https://github.com/armijnhemel/bat-extratools.git
cd bat-extratools/
#apt-get install devscripts #安装debuild
apt-get install zlib1g-dev liblzo2-dev liblzma-dev #安装编译依赖
debuild -uc -us #构建bat-extratools的deb安装包
cd ..
ls -l
dpkg -i bat-extratools_27.0_amd64.deb #安装bat-extratools

二、使用BAT扫描二进制文件

bat-scan----安装BAT后带来的系统命令

-c----扫描使用的配置文件;/etc/bat/bat-scan.config是bat自带的配置文件

-b----要扫描的二进制文件;我这里以ping命令为例,换成自己想扫的文件即可

-o----扫描结果输出到的文件;我这里指定输出到当前目录的ping_scan_results文件

bat-scan -c /etc/bat/bat-scan.config -b /bin/ping -o ping_scan_results

三、安装使用batgui2

batgui2使用python2.x编写,使用PyQt5做图形界面;但是PyQt5并没有python2.x版本,非官方针对python2.x版本编译的python-qt5又只支持windows

要运行起来有两个思路,一个是Lniux安装python3.5以上版本,然后使用python3自带的2to3.py将batgui2转换成python3.x程序。但实际操作中发现应该是batgui2中大量混用了tab键和空格键,导致转成的python3程序报错,而且里实在太大基本没法调,我放弃了这条路。

第二个思路是,把生成的结果文件复制到windows机器,在windows机器安装运行batgui2,然后在windows打开查看。我这里使用这个思路

python-qt5需要下载的件较大,为了避免pip网络问题,我这里使用官方提供的git离线安装方式安装。当然你也可以考滤将pip源配置成清华源或中科大源

再次注意我们这里是在windows安装,所以以下命令是在cmd执行

git clone https://github.com/pyqt/python-qt5.git
cd python-qt5
python -c "import util;util.createqtconf()"
python setup.py install

下载运行batgui2

git clone https://github.com/monkeyiq/batgui2
cd batgui2
python batgui.py

运行起来后我们通过File--Open载入上一步得到的ping_scan_results文件,界面如下:

可以看到并没有扫出什么东西,复杂点的程序还有一些其他如.ko之类的,但基本不能算实现检测使用了哪些开源组件的功能

也有可能是需要调整扫描配置文件,有待研究。

参考:

https://github.com/armijnhemel/binaryanalysis/blob/master/doc/bat-manual.pdf

Binary Analysis Tool安装使用教程的更多相关文章

  1. Cadence仿真利器,Cadence SI / PI Analysis – Sigrity安装及破解指南

    Sigrity提供了丰富的千兆比特信号与电源网络分析技术,包括面向系统.印刷电路板(PCB)和IC封装设计的独特的考虑电源影响的信号完整性分析功能. Sigrity分析技术与Cadence Alleg ...

  2. Web Capacity Analysis Tool 压力测试工具使用笔记

    一.背景介绍 Web Capacity Analysis Tool是微软轻量级Web压力测试工具, 早先是IIS 6.0Resource Tool kit 工具包中的一个组件,现在独立出来有一个社区版 ...

  3. Microsoft SQL Server 2012 数据库安装图解教程

    本文部分引用以下文章: SQL Server 2012 安装图解教程(附sql2012下载地址)_MsSql_脚本之家 http://www.jb51.net/article/36049.htm SQ ...

  4. 在 Windows 上安装 Hadoop 教程(转)

    在 Windows 上安装 Hadoop 教程 一见 2010.1.6 www.hadoopor.com/hadoopor@foxmail.com 1. 安装 JDK 不建议只安装 JRE,而是建议直 ...

  5. Jenkins ubantu15 安装使用教程

    Jenkins  ubantu15 安装使用教程 环境:unbatu15 + java version "1.8.0_181"  +   jenkins (2.137) 命令拉取: ...

  6. 转发:[服务器]SSL安装证书教程

    [服务器]SSL安装证书教程   来自阿里云教程 Tomcat服务器安装SSL证书 安装PFX格式证书 https://help.aliyun.com/document_detail/98576.ht ...

  7. IntelliJ IDEA - 热部署插件JRebel 安装使用教程

    IntelliJ IDEA - JRebel 安装使用教程 JRebel 能做什么? JRebel 是一款热部署插件.当你的 Java-web 项目在 tomcat 中 run/debug 的时候 , ...

  8. Zabbix3.x安装图解教程

    准备知识: Zabbix3.x比较之前的2.0界面有了很大的变化,但是安装部署过程与2.x基本完全一样. 1.Zabbix2.x安装图解教程 http://www.osyunwei.com/archi ...

  9. VMware vCenter Server安装图解教程

    安装说明: 1.安装VMware vCenter Server的主机操作系统为:Windows Server 2008 R2 2.在Windows Server 2008 R2中需要预先安装好SQL ...

随机推荐

  1. unity 截图 压缩 处理

    /****************************************************** unity屏幕截图,并转换成Base64码* 作者: lyb* 日期:2017年7月25 ...

  2. github Bash教程

    1.只在本地使用 配置github git config --global user.name 你的英文名 git config --global user.email 你的邮箱 git config ...

  3. 学大数据是先学java还是先学python?

    大数据的发展趋势日渐明显,但是进入这个领域的门槛不小,除了要有心理准备,其次就是要付诸实际行动中去学习. 学习方法有很多,在没有基础的前提下,自学是因人而异是有难度.其次是大数据目前的工作方向主要是三 ...

  4. OP社区相关

    ●相关网站官网: http://openstack.org Wiki: http://wiki.openstack.org 代码贡献统计:http://stackalytics.com/ Bug跟踪: ...

  5. Asp.net core 学习笔记 ( OData )

    2018-12-10 更新 : 从前我都是把 entity 直接用于 odata 曝露 api 给程序用. 如果这个程序是我们自己写的前端,这样的方式非常好,因为就好比前端可以直接对数据库每一个表做操 ...

  6. G711编解码

    http://blog.csdn.net/rightorwrong/article/details/4209467 搞语音对讲几天了,播放时声音干扰太大了.拖得时间久有两个原因: 1.每次采样的位数这 ...

  7. Tomcat基本组件、其功能和处理请求的过程

      一.Tomcat是一个基于组件的服务器,它的构成组件都是可配置的,其中最外层的组件是Catalina Servlet容器,其他的组件按照一定的格式要求配置在这个顶层容器中 Tomcat的各个组件是 ...

  8. LeetCode--303--区域和检索 - 数组不可变

    问题描述: 给定一个整数数组  nums,求出数组从索引 i 到 j  (i ≤ j) 范围内元素的总和,包含 i,  j 两点. 示例: 给定 nums = [-2, 0, 3, -5, 2, -1 ...

  9. canvas获取摄像头的图像

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAugAAAF3CAIAAAB44CnMAAAgAElEQVR4nOy92a4kx5am1y8lQAIkCI

  10. android ------- TCP/IP

    TCP/IP 是针对因特网的通信协议. 什么是 TCP/IP? TCP/IP 是供已连接因特网的计算机进行通信的通信协议. TCP/IP 指传输控制协议/网际协议 (Transmission Cont ...