web-dev-qa-db-ja.com

ルーターファームウェアファイルの解凍

ルーターファームウェアファイル(製造元のサイトからダウンロードしたもの)が通常どのファイルタイプまたはファイルシステムに保存されているかを知っている人はいますか?ファームウェアファイルを解凍/適切に再パックするために使用できるツール(ここではZip/7z/rarのようなアーカイブツールについては説明していません)はありますか?私が尋ねている理由は、ファームウェアのデフォルトのdyndnsサービスをいじり、おそらくそれらにいくつかの変更を追加し、変更されたファームウェアでルーターをフラッシュしたいからです。ルーターはカスタムで派手なサードパーティのファームウェアをサポートしていないため、メーカーのストックファームウェアを変更する必要があります。

編集-この質問を投稿したとき、ルーターファームウェアのdyndnsアップデーターは単純なbashスクリプトだと思い、スクリプトを簡単に編集できると思いましたが、実際にはバイナリアプリであることがわかりました。ルーターで実行されているすべてのプロセスを確認したので、この質問はもう関係ありません

1
Flint

ボブが言ったこと。

また、Zip、7-Zipなどがここで役立つ場合があります。これは、画像ファイル自体が圧縮されている場合が多く、画像で使用される形式が通常の圧縮ユーティリティの1つで開かれる場合があるためです。

実際にファームウェアを変更するための標準的な手順は、ファームウェアの構築、ファームウェアソースの取得、オプションの変更、およびファームウェアの構築に必要なすべてのツールを自分で入手することです。これは、ルーター自体によっては不可能な場合と不可能な場合があります。ルーターはGNU/Linuxオペレーティングシステムを使用することが多く、ライセンスが使用されているため、ファームウェアの一部のソースを公開する必要があります。メーカーがライセンスに違反し、変更したソースを投稿しないことは珍しいことではありませんが、メーカーのサイトのどこかでバリが発生することがよくあります。

正確な状況は、ルーターの製造元とルーターのモデルによって異なります。

変更する必要のある値を正確に見つけるのは困難であり、ファームウェアには通常、ファームウェアが使用されている場合に使用を停止する何らかの保護システムがあるため、バイナリファイルの値を単純に変更することはできません。変更されました。その主な理由は、ルーターへのネットワーク転送によって損傷したファームウェアのフラッシュを防ぎ、ルーターがブリックされないようにするためです。

1
AndrejaKo

ルーターのファームウェアは、コンパイルされたバイナリファイルである可能性が非常に高いです。ファームウェアを逆アセンブルし、微調整して(ほとんどアセンブリレベルで)再コンパイルしない限り、解凍するものはありません。

ソースが利用可能なルーター(WRT54GLなど)の場合は、ソースを見つけてコンパイルする必要があります。

ただし、ダイナミックDNSクライアントを実行したり、すばやくダーティなダイナミックDNSスクリプトクライアント側を記述したりするのは比較的簡単です。これは、必要なものを取得するためのはるかに簡単な方法です。

1
Journeyman Geek