「cat」を使用したブロックデバイスの複製

「cat」を使用したブロックデバイスの複製

カスタムLinuxファームウェアを実行しているルータにTelnetで接続できました。 「buildroot」を使用してコンパイルされます。

ルーターのいくつかの仕様を掘り下げることができました。さらなる調査のために、ルーターのファームウェアを複製する予定です。 「dd」が利用できなかったので、catを使ってnetcatを介してフラッシュドライブ(mtdblock0)の内容全体を自分のコンピュータにドロップしてみました。

ルーター:

cat /dev/mtdblock0 | nc ip port

パーソナルコンピュータ:

nc -lp port > routerFirmware

次に、マイコンピュータで「binwalk」を使用してダウンロードしたファイルを確認します。結果:

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
0             0x0             Squashfs filesystem, little endian, non-standard signature, version 4.0, compression:gzip, size: xxxxxxx bytes, xxx inodes, blocksize: xxxxxx bytes, created: xxxx-xx-xx xx:xx:xx

これまではよさそうだ。ただし、「#unsquash routerFlash」の結果は次のとおりです。

Can't find a SQUASHFS superblock on routerFlash

最も有力な理由は、「cat」と「nc」が意図したとおりにフラッシュメモリ全体を複製できないためだと思います。私はここに閉じ込められています。どんな助けでも大変感謝します!

ベストアンサー1

「複製」ステップは問題ではないことがわかりました。私のルーターベンダーは、非標準の「マジックナンバー」を使用してsquashfsシステムを作成します。私はアドバイスを受けました。新しいスカッチワンチャンス。幸いなことに、sasquatchはファイルの圧縮やその他の詳細を正しく読んで理解しますが、unsquashはそれを正しく報告しません。

結果:私のコンピュータにルータのファームウェアのコピーがあり、必要に応じてそれらを研究して分析できます。これまではよさそうだ。

おすすめ記事