HPラップトップでWifiホワイトリストを無効にする

このトピックを書くために、私はラップトップのホワイトリストBIOSに欠けていたwifi 802.11nボードのインストールに苦労しました。 動機と自信がポスト与えましたHP Pavilion dv6-1319erにサポートされていないWifiカードをインストールします



最初の時間は、他の無線LANカードを入れて、このメッセージを見ました:

104-Unsupported wireless network device detected.

System halted. Remove device and restart.






最初に考えたのは、互換性のないデバイスのようなハードウェアであり、ボードの交換の問題は完全に絶望的だということでした。 しかし、Googleの検索により、すべてがまだ失われているわけではないことが明らかになりました。 インターネットは多くのソリューションを提供しませんでした:



1.ホワイトリストを完全に無効にするか、\を追加する正しいパッチでBIOSをフラッシュすると、ホワイトリストのVEN、DEV、SUBSYSが必要なボードに置き換えられます。

2. リフラッシュ自体の無線LANカードを交換するには、VEN、DEV、チェックされているホワイトリスト、および能力であるものにSUBSYSは、特定のボードをインストールします。



wifi-nボードを入手するプロセスは汚れていて犯罪でしたそれについては説明しませんので、 Marteens博士に感謝します。 ラップトップのマザーボードはIntel WM3945ABGでした。 それを置き換えるために、Intel Wifi Link 5100 AGNが取得されました。 同法は、空腹時、上記の手順を開始しました。



3か月前にこの問題に対処し始めたとき、インターネットで検索した結果、Intelからwifiカードを再フラッシュすることが不可能であることが明らかになり、何らかの理由でパッチが適用されたBIOSがまったく見つかりませんでした...多分見た目が悪いかもしれません。



フェニックスツールが失敗し使用してBIOSを解凍します。 BIOSは、一部の古い基づいて収集されています。

画像



私はBIOSプログラミングをしたことがないので、アセンブラとしてあなたと一緒にいます。 Compaq BIOSをアンパックするユーティリティを検索しても結果は得られず、WinHEXを使用してライブでBIOSを選択することになりました。 ファームウェアはHPQFlash.exeフラッシャーであり、ファームウェアファイルを含むCABアーカイブです。



画像



画像



自宅で無線LANカードのハードウェアIDは、そのようなでした

PCI \ VEN_8086&DEV_4222&SUBSYS_135C103C



逆の順序で格納されたファームウェアの値:

> 8680 - VEN_8086

> 2242 - DEV_4222

SUBSYS_135C103C-> 3C105C13



最初の2つの値で検索結果の多くを与えたが、3C105C13なしで不審だったとROM.binよりファームウェアは何とかパックまたは暗号化することを考えました。 別のブレーンストーミングgugleniya、数時間のアドレスマップに所望の値を指定してコンパイルし、ローカライズされたファームウェアのホワイトリストにある場所を見つけることでした。 多くのスペースを使用しないようにするためには、BIOSのプログラマはバイトのみ3C105B13完全に記録されたSUBSYSのカップルを保存することを決定し、その他の値は明らかにアルゴリズムをトリップしています。



画像



Intelマザーボードは緑、 Broadcom青で強調表示されています。 個々の値は、ボード5C、5D、5E、5Fの変更です。 そして同様に記録されたBroadcom。



Intelドライバーの.infファイルを開き、同じVEN、DEV、SUBSYSを見つけます



; HP_3945_ABG

%NIC_MPCIEX_3945ABG% = Install_MPCIEX_HP_3945_ABG_VISTA64_MOW1 , PCI\VEN_8086&DEV_4222&SUBSYS_135B103C ; MOW1

%NIC_MPCIEX_3945ABG% = Install_MPCIEX_HP_3945_ABG_VISTA64_MOW2 , PCI\VEN_8086&DEV_4222&SUBSYS_135C103C ; MOW2

%NIC_MPCIEX_3945ABG% = Install_MPCIEX_HP_3945_ABG_VISTA64_RoW , PCI\VEN_8086&DEV_4222&SUBSYS_135D103C ; RoW

%NIC_MPCIEX_3945ABG% = Install_MPCIEX_HP_3945_ABG_VISTA64_JPN , PCI\VEN_8086&DEV_4222&SUBSYS_135E103C ; JPN

%NIC_MPCIEX_3945ABG% = Install_MPCIEX_HP_3945_ABG_VISTA64_KRA , PCI\VEN_8086&DEV_4222&SUBSYS_135F103C ; KRA








そして、すべてがすでに非常に単純であるように思われます。ある値を別の値に置き換え、すべてを保存し、BIOSを再フラッシュします。 しかしながら、INFファイルのドライバによれば、5つの異なるバージョンとインテル5100の改変のインテル3945合計は、理論的に十分にのみ1つのIDカードを登録する既に8が。 当然、VEN、DEV、SUBSYSを知るために、ホワイトリストのない別のラップトップにそれを挿入する必要があります。 私はこのベンチャーを延期し、1つの重要なポイントをチェックすることにしました:CRCフラッシャーはファームウェアをチェックしますか? 結局のところ、Phoenix Toolユーティリティ自体がすべてを収集し、CRCを再カウント/書き換えます。私の場合は、手作業で行う必要があります。



ROM.binの数バイトを変更した後、別の質問が生じました。これをすべてCABアーカイブに戻すにはどうすればよいですか? 結局のところ、標準セットアーカイバはその形式でのみ機能し、プラス3から4党、およびCAB形式のMicrosoftで開発された、と誰もが、特にzapakovkiのためにサポートされていません。 しばらくして、2007 Cab Maker 2.0.0.120プログラムが見つかりました。このプログラムで、最初に変更されたBIOSアーカイブを収集しました。



画像



BIOSチェックサムが保存されている場所は知りませんでしたが、ファームウェアの構造に関する情報が見つかりませんでした。



ROM.sigファイルに疑いがありましたが、確認するものはありませんでした。 さまざまなアルゴリズム(CRC32、MD5、SHA1-SHA512など)でROM.binをハッシュしてファイルハッシュを見つけようとしましたが、その両方とROM.sigは成功しませんでしたが、驚くことではありません。



瞬時に生まれたの進め方のアイデア。 フラッシャーがCRCをチェックする場合、CRCをどこかで取得するか計算して、別の値と比較します。 したがって、HPQFlash.exeを逆アセンブルし、デバッグモードで、ステップ内のステップまたはこのチェックサムチェックが行われる場所を見つける必要があります。



もっとフラッシャー検査CRCをオフにするアイデアだったが、それは満ちていたノートPCは、CRCのためのBIOSのチェックを開始するとすれば、一般的に鉄を殺しました。



あった別のオプションは、ドイツ人が一つのサイト上で行ったように、。 彼らはまた、チェックサムの保存場所を見つけませんでしたが、どこかでそれを計算するためのアルゴリズムを見つけた、または拾い上げ、Broadcomボードに関する情報が保存されている残りのバイトに正しく計算された値をスリップすることを決定しました。その結果、結果としてRom.binファイルのCRCが変更されません そして、どうやら、彼らはそれを得ました。



上で書いたように、ASMではすべてが非常に悪く、デバッグモードでIDA Pro Advancedの逆アセンブラを使用すると、チェックサムが通過する場所を見つけることができますが、CRC値を見つけることができませんでした。 それから私は、同じチェックサムを見つけるためにASMで長い間書いた友人に助けを求めました。 しかし、この前に到達していません。 別のGoogleの攻撃は、ユーザーがラップトップのBIOSにパッチを適用するよう求められる、嘆きの壁リンクを提供しまし 。 私はガラスのハエのように打ち負かすために、さらなる研究を中止することに決めました。



ホワイトリストが無効になっているHP用のパッチ済みBIOSのリスト



All Articles