カスタム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はそれを正しく報告しません。
結果:私のコンピュータにルータのファームウェアのコピーがあり、必要に応じてそれらを研究して分析できます。これまではよさそうだ。