binwalk是一个文件的分析工具,旨在协助研究人员对文件进行分析,提取及逆向工程。简单易用,完全自动化脚本,并通过自定义签名,提取规则和插件模块,还重要一点的是可以轻松地扩展。

以上是binwalk的介绍。binwalk在kali中默认就安装了,在其他版本的linux的安装方法也是十分简单的,而在windows里就犯困了,新手百度下“binwalk windows安装”等字样也不见得有解决法子。

而我也在网上搜了很久,基本没见到过windows常见的exe、msi形式,只有找到tar.gz形式,解压后为docs和src文件夹,src里有一个python常见的setup.py,在cmd下输入setup.py install后里面提示要安装magic,之后找了个python-magic模块安装后,import magic的时候提示缺少libmagic,一番鼓捣后,我就没弄了。

之后,我打开https://pypi.python.org/pypi去搜binwalk的模块,也是只有tar.gz,解压后,setup.py install后,倒是不提示有什么错误,安装一路顺畅,只可惜我去python的安装目录下找,就发现了一个egg文件和一个binwalk的无后缀文件,其他都没有,也用不起的感觉。

----------------------------------------------------------------------------------------

好了,正式介绍在windows下安装的法子,用binwalk在github上的项目来安装其源码是最简单的,里面介绍说windows上的Optional Feature Support是最Poor的,尽管如此,还是够用的。

github项目:https://github.com/devttys0/binwalk

binwalk的wiki:https://github.com/devttys0/binwalk/wiki

----------------------------------------------------------------------------------------

在windows上安装前你需要已经安装python(2、3版本倒没关系)

在cmd里输入

git clone https://github.com/devttys0/binwalk
cd binwalk
python setup.py install

(如果你机子没有安装过git,你可以直接访问项目地址,点击里面的Download Zip下载后解压即可)

安装后,python里输入import binwalk不会报错,说明可以在python里调用binwalk(用法请自己浏览上面提供的wiki),用起来可以达到我们分析文件的目的。

但我们喜欢linux里binwalk的使用方法,也想在windows上达到同样的效果,python安装目录下Script里那个binwalk文件(没任何后缀名)其实是一个py文件,在Script文件夹里用python运行它的话,可以达到效果,可是在Script文件夹外就犯愁了,因为cmd里不能运行没后缀的文件,而python binwalk这样的运行方式不行(因为必须指定binwalk的路径,但是如果指定了又很麻烦),而若是修改为binwalk.py,一运行又会报错,总之头疼。

----------------------------------------------------------------------------------------

本人第一次认真地写博文,不善措辞,若有写得不足之处敬请提出,以及有更好的方法也请多多指教,谢谢。

下面是我自己弄的解决法子,就是自己写个bat批处理文件来运行。

新建一个文件夹,并把文件夹的路径加入到系统变量path里(这样在cmd里就可以直接运行了。)

在文件夹里新建一个binwalk.bat文件

@echo off
echo * suggest: you'd better to input the parameters enclosed in double quotes.
echo * made by pcat
python "%~dp0\p_binwalk.py" % % % % % % % % %

再新建一个p_binwalk.py文件(这里写得很简单,以后能力增长的时候可能会改写)

# -*- coding:utf-8 -*-
# author: pcat
# http://pcat.cnblogs.com import sys
import binwalk if __name__ == "__main__":
lst=sys.argv
if len(lst)<2:
print("No files.")
exit()
try:
if lst[1][0]=='-':
binwalk.scan(*lst[2:],signature=lst[1])
elif lst[1][0]!='-':
binwalk.scan(*lst[1:],signature=True)
except:
pass

只要这个文件夹的路径在系统变量path里和这2个文件存在着,那么你就可以在cmd里像linux那样使用binwalk了。

:)

-- UPDATE- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

* 另一种单文件的写法

模仿我自己的另一篇文 uncompyle2 windows安装和使用方法

新建一个文件夹,并把文件夹的路径加入到系统变量path里(这样在cmd里就可以直接运行了。)

在文件夹里新建一个binwalk.bat 文件(事实上随你喜欢,取什么名字都可以)

:: author: pcat@chamd5.org
:: http://pcat.cnblogs.com
@echo off
echo * suggest: you'd better to input the parameters enclosed in double quotes.
echo * made by pcat
echo * ***********************************************************************
if defined python_home (
python "%python_home%\Scripts\binwalk" %1 %2 %3 %4 %5 %6 %7 %8 %9
)else (
echo "you need to set PYTHON_HOME"
)

(其中得先设置好PYTHON_HOME这种系统变量,如果你的python2.7是默认安装的,一般这个PYTHON_HOME就设置C:\Python27 )

只要这个文件夹的路径在系统变量path里和这个bat文件存在着,那么你就可以在cmd里像linux那样使用binwalk了。

- -UPDATE- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

* binwalk常用命令

-e 分解出压缩包

binwalk -e pcat.bin

-D或者--dd 分解某种类型的文件(在windows里要用双引号括起来)

binwalk -D=jpeg pcat.bin

-M 递归分解扫描出来的文件(得跟-e或者-D配合使用)

binwalk -eM pcat.bin

其他的可以参考:https://github.com/devttys0/binwalk/wiki/Usage

binwalk windows安装和使用方法的更多相关文章

  1. Windows 安装 adt-bundle的方法

    Refer:http://my.eoe.cn/shuhai/archive/19381.html Windows 安装 adt-bundle的方法 很多大神说Windows下Eclipse启动不起来, ...

  2. uncompyle2 windows安装和使用方法

    uncompyle2是Python 2.7的反编译工具,它可以把python生成的pyo.pyc字节码文件反编译为十分完美的源码,并可以将反编译后的源码再次生成字节码文件! ----- 本文介绍在wi ...

  3. PyInstaller Extractor安装和使用方法

    PyInstaller Extractor是可以提取出PyInstaller所创建的windows可执行文件的资源内容. 关于PyInstaller的介绍:PyInstaller安装使用方法 使用Py ...

  4. MySql绿色版安装步骤和方法,以及配置文件修改,Mysql服务器启动

    MySql绿色版Windows安装步骤和方法,以及配置文件修改,Mysql服务器启动 支持“标准”Markdown / CommonMark和Github风格的语法,也可变身为代码编辑器: 支持实时预 ...

  5. 二进制程序分析工具Pin在Windows系统中的安装和使用方法

    这篇日志其实很弱智,也是因为换了新电脑,实验环境不全(当然,做这个实验我是在虚拟机里,因为接下来想拿些恶意代码的数据),所以这里记录一下在Windows下怎么安装和使用Pin这个程序分析领域最常用的工 ...

  6. MDAC 在WINDOWS XP SP3 不能安装 的解决方法

    MDAC 在WINDOWS XP SP3 不能安装 的解决方法 解决步骤如下: c:/windows/inf 下找出mdac.inf 然后点右键->安装.在弹出提示路径选取c:/windows/ ...

  7. PHP5.5在windows 安装使用 memcached 服务端的方法以及 php_memcache.dll 下载

    PHP5.5 在windows下安装 memcached 的方法 下载服务端资源 http://download.csdn.net/detail/zsjangel/7104727 下载完成后,解压(我 ...

  8. windows下载安装swoole的方法

    windows下载安装swoole的方法先安装Cygwin 选择163镜像(速度非常快) add url http://mirrors.163.com/cygwin/ 然后安装gcc php pcre ...

  9. Windows下安装lxml库方法

    如果直接用pip install lxml安装成功,那么恭喜!!! 一般在windows安装都十分蛋疼,pip无法直接安装(提示错误一大片,此处省略……) 因此选择wheel安装方式,步骤如下: 1. ...

随机推荐

  1. 根据反射获取属性信息并创建DataTable

    查看了一些方法之后,做了一些总结,此方法适用于传进的参数是List<T>类型, 但事先并不知道T的类型,T可以是自定义类型. public DataTable CreateDataTabl ...

  2. 跳跃表 C#

               虽然avl树和红黑树在数据搜索和排序方面都是有效的数据结构,但是都显得特别麻烦,跳跃表就显得特别简单,虽然简单 不影响他性能,在平均情况下,其插入.删除.查找数据时间复杂度都是O ...

  3. css单位和值

    css需要单位来度量.内含整数.小数.百分数的情况,很多条件下支持正负的情况,当然是有限制的了.百分数基本是相对于自身.或是父或是祖先元素的某个属性值. 颜色         颜色的表示分为:命名颜色 ...

  4. UVA 529 - Addition Chains,迭代加深搜索+剪枝

    Description An addition chain for n is an integer sequence  with the following four properties: a0 = ...

  5. Toolkit Pro学习--Toolbar的创建

    一.新建Toolkit Pro应用程序 安装好Toolkit Pro后,打开VS2008,新建-项目-Toolkit Pro Application.如图1所示. 图1:Toolkit Pro创建窗口 ...

  6. 关于jQuery中的ajax的方法介绍

           jQuery提供一系列Ajax函数方便我们调用Ajax, 其中最核心也是最复杂的是jQuery.ajax(),所有的其他Ajax函数都是它的一个简化调用.当我们想要完全控制Ajax时可以 ...

  7. scikit-learn的主要模块和基本使用

    1.加载数据(Data Loading) 假设输入是特征矩阵或者csv文件,首先数据被载入内存. scikit-learn的实现使用了NumPy中的arrays,所以,使用NumPy来载入csv文件. ...

  8. CPrimer Plus第12章 存储类、链接和内存管理随笔

    被static修饰的属于内部链接,不可被外部程序文件所使用一般而言,全局变量(文件作用域变量)具有静态存储期,局部变量(代码块作用域变量)具有自动存储期寄存器变量不能使用地址运算符因为被static修 ...

  9. 解决:“Ubuntu 10.04 LTS _Lucid Lynx_ - Release i38...

    编译android源码,找不到g++.通过apt-get下载时候,总是提示“Ubuntu 10.04 LTS _Lucid Lynx_ - Release i386 (20100429)” 的盘片插入 ...

  10. 如何修改被编译后DLL文件

    原文 http://www.cnblogs.com/wujy/p/3275855.html 我们平时在工作中经常会遇到一些已经被编译后的DLL,而且更加麻烦是没有源代码可以进行修改,只能针对这个DLL ...