流行のファームウェアクラッキング

tronix286およびOdinokij_Kotファームウェアを正常に削除した後、クラック用の資料がようやく登場しました。 おもしろかったのは、どんな種類のデバイスか、いくつかの便利な機能のロックを解除できるかどうか、そして少なくとも侵入型スクリーンセーバーを変更できるかどうかを判断することでした。



(せっかちな人や開業医の場合:スクリーンセーバーを変更したり、以下のファームウェアをフラッシュして選択したりするための新しいソフトウェア)



最初に実行できる最も簡単なことは、ファイルをテキストおよびHEXエディターで視覚的に表示することです。 すぐに印象的:

img_boot.binとres.binには、ビットマップに非常によく似たものが含まれています

minios.bin-ファイル名付きのヘッダーのようなものが最初にあります

それらについては後で説明します。







img_boot.bin


img_boot.binから始めましょう。 ビットマップグラフィックに視覚的に非常に似ています。 データ構造の規則性に基づいて、一般的なレコードは4バイトかかると想定しています。 1バイトは常に$ 00です。 他の3つを24ビットビットマップのRGB値とします。 行のデータを読み取り、ビットマップに入れる単純なプログラムを作成しています。 ビットマップサイズは、画面サイズと同等に設定されます。 始めます。 写真ではプラスまたはマイナスの折り畳みを見ることができます。 画像が直接現像されるように幅を選択します。 幅は480です。







明らかに、これらは特定のアニメーションのフレームです。 最初の4バイトは全体像から明らかにノックアウトされており、おそらく何らかの種類のヘッダーです。 これらの最初の4バイトを調べます。 写真のヘッダーに保存する最も論理的な方法は何ですか? 最初のことは彼女の許可です。 最初の2バイトは$ 01E0-480で合計し、2番目は$ 0CC0-3264で合計します。12フレームがアニメーションに表示されます。 1フレームの高さは3264/12 = 272です。実際、これはimg_boot.binの形式で明らかです。



結果のアニメーションは、通常のソフトウェア操作中はどこにも表示されません。 そして最も興味深いことに、このアニメーションはアメリカとはほとんど関係がありません。 おそらくここで、それらは元のデバイス/ファームウェアの「耳」であり、その少なくとも一部がはがきの基礎として使用されます。



同僚の助けを借りて、私はこれがSubor社のロゴであり、Ingenicチップをベースにしたメディアプレーヤーも製造していることを発見しました。 残念ながら、見つかったSuborのファームウェアを使用する試みは失敗しました。 しかし、それは多分 異なるメモリチップが使用されており、これらのファームウェアをフラッシュする必要があるナンド設定、異なるディスプレイなどは不明です。



res.bin


Img_boot.binにはスタートアップスクリーンセーバーがありませんでした。 スプラッシュスクリーンの次の申請者はres.binです。 res.binの使用は、img_boot.binの使用ほど簡単ではないことは明らかです。 ボリュームは、複数の画像/データブロックがあることを示しています。 ファイル内のリソースのヘッダー/ディレクトリは明示的に表示されません。 ビットマップウォッチャーによってimg_boot.binにすでに書き込まれているファイルを調べます。 ファイルの冒頭に散らばった写真にすぐに当たった。 ファイルをさらにスクロールして歓声を上げます-スプラッシュ画面を見て、オフセットを調整します。 この場所では、スクリーンセーバーを変更するためのプログラムの最初のバージョンが救急車に掛けられていました。 したがって、これらの調査結果とユーティリティの最初のバージョンに関する情報が私のLJに提示されました。 以下は、このプログラムのより便利な最新バージョンへのリンクです。



スプラッシュ画面の前にある4バイトのHEXエディターを見ると、幅と固定ビットマップを備えた使い慣れたヘッダーが表示されます。 次に、メモリ/ファームウェアの構成に関する記事Odinokij_Kotをお読みください。 NANDメモリは2KBのブロックでアドレス指定されます。 作業を最適化するために、リソースへのアクセスもブロックに編成できると想定するのは論理的です。 確認します。 タイトルを考慮に入れると、スプラッシュ画面の開始点は2Kブロックの境界線に揃えられ、ビットマップスタッフィングの背後の終了点は次のブロックの境界線にはっきりと見えることがわかります。 これを念頭に置いて、リソースファイル内の他のすべてのビットマップを検索できます。







興味深いことに、res.binのビットマップでは、4番目のバイトがビットマップの透明度のマスクとして使用されます。 標準のビットマップに加えて、グラフィックに似た興味深いサービスブロックがファイルの先頭に表示されます。 インターフェイスアニメーション効果を作成するために使用されると想定しています。



広告カードに必要なビットマップよりも明らかに多くのビットマップがあることがわかります。 本格的なメディアプレーヤーのほぼすべてのスキン。 これは、ファームウェアが既存のメディアプレーヤーから作成されたことを示しています。 アイコンの中には、写真、音楽、ラジオ、テレビ、設定、時計、本、ボイスレコーダー、さらにはフラッシュがあります。 一般的に、良いデバイスはそうでした。 私は彼らがファームウェアから切り取られないことを望みたかったのですが...



minios.bin


ファイルの先頭には、モジュールディレクトリが表示されます。 ディレクトリ内のブロックの規則性により、レコードサイズは48バイトです。 最初の32がモジュールの名前だとします すべての名前がこの長さに合います。 残り16バイト。

すべてのレコードの最初の4は0であり、予約済みと見なされます。



次の4バイトは、モジュールからモジュールへと成長する小さな値です。 これがファイルの先頭に対するブロックの先頭のオフセットであると仮定するのは論理的ですが、データを直接アドレスするには小さすぎます。 これらがファイル内のブロック番号であるとします。 ファイルには、ディレクトリの後にある最初のモジュールの開始位置-オフセット0x1000が明確に示されています。 アドレス0x02が指定されています。 2048バイトのブロックサイズを取得します。これは、フラッシュドライブのアドレス指定と論理的に一致します。



次に、メモリアドレスに非常に類似した値を持つ4バイトが来ます。 正確にはわかりませんが、これらはメモリ内のモジュールのロードアドレスであると想定しています。



残りの4バイトは、モジュールのサイズに完全に適合します。 これは、2048バイトブロックの境界でモジュールが整列しているため、比較が容易です。 モジュールの先頭のアドレスを把握し、スタッフィングの開始位置を追跡することで、モジュールのサイズを判断し、対応するヘッダーの数値と比較できます。



その結果、minios.binを個別のモジュールにアンパックし、minios.binを置き換えられたモジュール/パラメーターとともに保存できる単純なユーティリティが作成されました。 これにより、このファームウェアのモジュールを、他の同様のプレーヤーのファームウェアのモジュールに置き換えることができます。

異なるファームウェアでのminios.binの構成を比較すると、残念ながら、現在のファームウェアでは一部のモジュールが欠落しており、desktop.binなどの一部のモジュールは疑わしいほど小さいことがわかりました。



興味のある人はモジュールの代替を試すことができます。誰かが成功するかもしれません。 ただし、異なるファームウェアでは、モジュールは異なるアドレスでメモリにロードされるため、モジュールをロードすると、他のモジュールの呼び出しアドレスはもちろん、モジュール内の遷移アドレスがノックダウンされることに注意してください。 これをモジュール内で何らかの形で修正する必要があります。



ソフトウェア



1.ロゴを変更してファームウェアをフラッシュするための、より便利で高速なユーティリティ。


ここからダウンロード: ifolder.ru/20663679



このプログラムは、tronix286によって作成されたユーティリティ用のグラフィカルシェルです。

使用は非常に簡単です。

-アーカイブを解凍してMartiniLogoChanger.exeを実行します

-カードをオフにします(カードを閉じるか、バッテリーをオフにします)。

-ボタンを押したままにします(画面の右下に接着します)。

-カードをUSB経由でコンピューターに接続します。

-必要に応じて、usbboot_driverフォルダーからドライバーをインストールします。



すべてが正常な場合-プログラムの右上隅にある「接続済み」の碑文が緑色で強調表示されます。 その後、ファームウェアとスクリーンセーバーを使用できます。



ロゴ変更






ロゴの変更は、2回のクリックで行われます。

1 BMP画像を選択します(フォルダーにはいくつかの例があります)

2すべて問題なければ-「Flash it!」ボタンを押します



以前のユーティリティとは異なり、今ではロゴ全体を変更するためにファームウェア全体を変更する必要はなく、必要な部分だけがコピーされます。



ファームウェアの変更と復元のためのすべて






ファームウェアの変更と復元のためのすべては、「ファームウェアアップデーター」タブにあります。

入力フィールドは、各モジュールのファイル名と、それらをフラッシュにロードするためのアドレスを示します。

「ディレクトリを開く」-選択したディレクトリでファームウェアファイルを検索し、適切なフィールドに書き込みます。 欠落しているファイルがある場合-元のファームウェアからそれらを置き換えます

「Flash it!」 -上記のファイルのファームウェアを起動します

「FWのダウンロード」-選択したフォルダーへの現在のファームウェアのダウンロードを開始します

「元のFWの復元」-original_fwフォルダーからファームウェアを復元します



ファームウェアを注ぐ/クリーミングするためのスクリプトテンプレートはテンプレートフォルダーにあります。必要な場合は、好みに合わせて微調整できます。



注意! ファームウェアファイルへのパスの長さとファイル名は50文字を超えてはなりません。そうしないとUSB_Bootにバグがあります。



2.ピッカーminios.bin






ここからダウンロード: ifolder.ru/20663735

そのまま広がります。 上記の説明を読んだ後、何が何であるかが明確になることを願っています。




All Articles