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 "%~dp0\p_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%\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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM