• binwalk windows安装和使用方法


       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 "%~dp0p_binwalk.py" %1 %2 %3 %4 %5 %6 %7 %8 %9

           再新建一个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%Scriptsinwalk" %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

  • 相关阅读:
    C++ 字符数组
    C++ 从函数返回数组
    C++给函数传数组参数
    串行通信的三种方式
    进程间通信pipe和fifo
    嵌入式开发基本知识
    查找算法
    排序算法
    offsetof与container_of宏[总结]
    uboot自定义添加命令
  • 原文地址:https://www.cnblogs.com/GLory-LTF/p/15245068.html
Copyright © 2020-2023  润新知