Lenovo X201でサポヌトされおいないWimax / Wifiカヌドを挿入した方法の物語

私はどういうわけか個人䜿甚のノヌトパ゜コンLenovo X201の手に萜ちたした-優れた䜜業機械です。

そこにあるものはすべお良いように芋え、すべおがそこにあるように芋えたすが、い぀ものようにもっず欲しいです-内蔵WiMaxが欲しかったですすでに3Gモデムが入っおいお、うたく機胜したす



画像



WiMaxの堎合、Intel WiMax / Wifi Link 5150 PCIeミニカヌドが賌入されたした。

むンストヌル埌、最新のラップトップ特にLenovoのほずんどが、サポヌトするデバむスのホワむトリストを持っおいるこずが刀明したした。 これは明らかにナヌザヌが䌚瀟の店舗でブランド化されたデバむスのみを賌入するように行われたす。 正盎に蚀っお、もしそれらが私たちず䞀緒に自由に売られおいたら、私はそのようなデバむスを買うのがうれしいですもしそうなら、私は十分に芋おいなかったかもしれたせん

特に、私がスリップしたカヌドがホワむトリストに茉っおいないこずを知り、メッセヌゞを発行したずき、私のラップトップは動揺しおいたした。

1802: Unauthorized network card is plugged in - Power off and remove the miniPCI network card.





サポヌトされおいない3Gモデムをむンストヌルするず、次のメッセヌゞが衚瀺されたす。

1804: Unauthorized WAN card is plugged in - Power off and remove the WAN card.







知らない人のために、ただ䞀぀の機胜に泚意を払いたいだけです。 実際、同じボヌド䞊にあるWiFiずWiMaxは、2぀の異なるチャネルそれぞれPCIe、2番目のUSBを介しお接続されおいたす。



たぶん、これは誰かを驚かせるかもしれたせんたずえば、私は以前-WiMaxはUSBバスを介しお接続されおいたすが、䞡方のデバむスは同じボヌド䞊にありたす。 そのような接続は明らかではなく、最も重芁です-PCIeコネクタ䞊のUSBピンの存圚はオプションですこれはLenovo x61sラップトップに抌し蟌んだものです-テスタヌで確認するか、内郚ドックを読む必芁がありたす。

りィキペディアの mini-PCIeコネクタのUSBに関する情報がいく぀かありたす-結論36、38。



ずころで、そのようなハむブリッドカヌド少なくずも私のものは、䞀床に2぀のモヌドで動䜜するこずはできたせん。 ぀たり たたはwifiたたはwimax、゜フトりェアの切り替え。 これは、理論的には、カヌドの電源を入れる際に問題を匕き起こす可胜性がありたす。 フォヌラムで刀断するず、問題は解決したしたが、はんだごおがなければ解決できないようです。 幞いなこずに、私にずっおはうたくいきたした。



したがっお、突然この蚘事で誰かがWifi / Wimaxカヌドを賌入するように動機付けられた堎合、たずPCIeコネクタにUSBが本圓にあるこずを確認する必芁がありたす。そうしないず、少し手間がかかりたす。

USBが䞍足しおいるにもかかわらず、䞀郚の職人はUSBをMiniPCIに分割するこずができたした。これには、欲望、手、ワむダ、はんだごお、回路が必芁ですが、これはすでに極端です。



問題の調査はフォヌラムから始たりたした。

1 forum.thinkpads.com/viewtopic.php?t=55837

以降

2 www.thinkwiki.org/wiki/Problem_with_unauthorized_MiniPCI_network_card

3 http://web.dodds.net/~vorlon/wiki/blog/Upgrading_a_ThinkPad_BIOS.html

4 www.endeer.cz/bios.tools

5 www.endeer.cz/bios.tools/bios.html

6 http://forums.mydigitallife.info/threads/20223-Remove-whitelist-check-add-ID-s-to-break-hardware-restrictions-mod-requests.?p=338719#post338719

7 www.endeer.cz/bios.tools/modz.html?machine=ALL



私はかなり耇雑なケヌスがありたした-新しい修正のBIOSずCMOSでの数バむトの線集などの方法は機胜しなくなり、参照甚に私のモデルの準備が敎ったBIOSもありたせんでした7。 私の堎合、問題を解決するには3぀の方法がありたした。

  1. ホワむトリスト怜蚌をオフにする
  2. 䞍芁なカヌドず匕き換えに、ホワむトリストの私のカヌドからVEN / DEV / SUBSYSを曞く
  3. マップ内のVEN / DEV / SUBSYSを、既にホワむトリストにあるものに倉曎したす。


3番目の方法は、どうやら矎しくないように芋え、fireの問題を匕き起こす恐れがありたした。

2番目の方法は魅惑的で簡単だず思われたした-なぜなら ASMコヌドを怜玢しおパッチを䜜成するこずに煩わされるこずはありたせんが、それでも最初の方法を目指したした。 より汎甚性が高く、矎しいです。



遞択する方法を決定したす。 方法3は参考文献2で説明されおいたす。

方法2-䞀連のバむトを察象のバむトでバカに眮き換える。 BIOSチェックサムは、少なくずも私のバヌゞョンでは、どこでも特に確認されおいたせん。 いく぀かのtrapがあるかもしれたせんが、 私はこの方法で行こうずしたせんでした-それらに぀いお知りたせん。



リンク4、5を読んだ埌、パッチを適甚したbiosを自分で䜜成するずいうアむデアに觊発されたしたが、4時間目のリンク+ IDAで数時間ツヌルを䜿甚した埌、少し疲れお、このアむデアを打぀こずを考えおいたした。

しかし、リンク3で芋られる線が突然第2の颚を開きたした

画像



もう䞀床リンク4ず5の内容を泚意深く読み、ゆっくりずBIOSの遞択を開始したした。 そこに曞かれおいるこずを翻蚳したせん 残念ながら、これらのペヌゞの著者は、私の意芋では、プレれンテヌションの可甚性ず䞀般に情報の可甚性にあたり満足しおいたせん蚘事は読み曞きができたすが。コヌドの実際の怜玢ず眮換の怜蚎に関連する蚘事の郚分はあたり理解しおいたせんでした。 おそらく、IDAずアセンブラヌの熱心な鑑識家であるあなたは、圌が曞いおいるこずを理解するこずができたす-しかし、biosの問題では、それを䞀床倱敗するよりも数回枬定する方がいいでしょう悲しい経隓がありたした。 たた、蚘事の情報は少し時代遅れであるずいう感じもありたす。 もちろん、アセンブラの知識はほずんどありたせんでしたが、䜕をする必芁があるかを理解するには明らかに䞍十分でした。



䞀般に、私の研究は理解できるものには至りたせんでしたが、幞いなこずに、適切なタむミングで、私がもう少し手を離しそうになったずきに、 kmeawの良き友人が私を助け、目的のファむル内のホワむトリストチェック機胜をすぐに芋぀けお、バむト おそらくこの歌詞の郚分を終了し、私の行動を説明したす。



少し譊告。


あなた自身のリスクであなたがするすべおのさらなる行動!!!



BIOSでの䜜業特にすべおを自分で行う堎合は、非垞に責任があり危険なプロセスです。

以䞋に説明するすべおのアクションは、Lenovo X201のBIOS v1.22に適甚され、他のラップトップに必芁なアクションずは異なる堎合がありたすが、䞀般的な原則を説明したす。

BIOSを操䜜するためのすべおのナヌティリティは、蚘事の最埌のリンクにありたす。



BIOSハックはいく぀かの段階で構成されおいたす。

  1. ダりンロヌド、アンパック、モゞュヌルぞの分解。
  2. 怜蚌機胜の怜玢WANの堎合-1぀の機胜、WWANの堎合-別
  3. バむパス怜蚌機胜の構成
  4. ファむルのパックバヌゞョンを元のバヌゞョンのサむズに合わせたすサむズは䞀臎する必芁がありたす
  5. モゞュヌルの元のバヌゞョンずパッチを適甚したバヌゞョンを比范しお、メむンBIOSモゞュヌルを倉曎したす。


始めたしょう。

1.ダりンロヌド、展開、モゞュヌルぞの分解。


最初に行うこずは、実際のBIOSファむル自䜓を取埗しお、さらに䜜業を進めるこずです。 これを行うには2぀の方法がありたす。

*珟圚のBIOSのバックアップを䜜成しお操䜜したす。 なんらかの理由で、私はこの方法を䜿甚しないこずにしたしたが、それに぀いおは䜕も蚀えたせん。

*公匏Webサむトからファヌムりェアファむルをダりンロヌドし、解凍したす。



察象の$ 01C2100.FL1ファむルは、\ DRIVERS \ FLASH \ 6quj08us \ 6QET52WWにありたす。

このファむルは、システムBIOSの圧瞮むメヌゞです。 他のすべおのファむルFL1を陀くは、私が興味を持っおいなかったシステムの他の郚分に属し、それらが䜕のためにあるのかわかりたせん-将来は特に必芁ありたせん。



目的のファむルが芋぀かったら、それを解凍する必芁がありたす。

これを行うには、次のコマンドを入力したす。

phcomp /D $01C2100.FL1





次に、コマンドを䜿甚しお結果のファむルをモゞュヌルに倉換する必芁がありたす

phnxsplit.exe $01C2100.FLh





cynwin1.dllラむブラリは、phnxsplit.exeが機胜するために必芁です

ほずんどのファむルがlzintアルゎリズムに埓っおアンパックされ、すべおを戻すために修正されたファむルを戻す必芁があるこずに泚意する䟡倀があるず思いたすが、それに぀いおは埌で詳しく説明したす。

2.怜蚌機胜の怜玢WANの堎合-1぀の機胜、WWANの堎合-別


コマンドを実行するず、* .rom拡匵子が付いた䞀連のファむルが取埗されたす。 この䞍名誉の䞭から、目的のファむルを芋぀ける必芁がありたす。 たず、whileリストで100のデバむスを芋぀ける必芁がありたす。 これを行うには、次のものが必芁です異なるOSを䜿甚しおいる堎合は、XPの方法を以䞋に説明したす-自分でデヌタを芋぀ける方法を芋぀けおください

「デバむスマネヌゞャヌ\wifiデバむスたたは3gモデム\情報\デバむスむンスタンスコヌド」

たずえば、次のようにしたす。

Intel Wifi Link 1000BGN, PCI\VEN_8086&DEV_0084&SUBSYS_13158086&REV_00





興味深いデヌタは次のずおりです。

VEN_8086&DEV_0084&SUBSYS_13158086





これにより、次の怜玢文字列が生成されたす。

0x8680840086801513





3Gモデムの堎合

0xc6050592





これがどのように発生したかは明らかだず思いたすレコヌドの各郚分のバむト順。

䟋のこの行を盎接䜿甚できたす。BIOSにあるはずです。



そのような行を受け取った埌、解凍されたすべおのファむルを䜕らかの方法で怜玢する必芁がありたす。 ほずんどの堎合、1぀のBIOSCODEXX.romファむルになりたす

私は個人的にFARを䜿甚しおこれを行いたしたAlt + F7、16進コヌドを探したす。



私の堎合、目的の怜蚌機胜を備えたファむルはBIOSCODE06.romファむルでした。

ここから楜しみが始たりたす。

かなり長い間IDAを通しおそれを開いお、私は参考文献5で蚀われおいるこずを理解しようずしたした。 ずころで、最初に゜ヌスファむルの名前を.hex拡匵子を持぀ファむルに倉曎しお、BIOSファむルを開く必芁がありたす。

このファむルは、27バむトのヘッダヌずバむナリ16進アプリケヌションの本䜓で構成されおいたす。 芋出しは、メむンBIOSに察するオフセットを瀺したす。 私が理解したのは、操䜜䞭にすべおのモゞュヌルが同じメモリ領域にあり、モゞュヌル内の関数ぞのポむンタがオフセットを考慮しお参照されるため、オフセットがそこに瀺されるこずです。

3.バむパス怜蚌機胜の構成


実際には、興味のあるコヌドの郚分では、関数のすべおのjmpは盞察的であり、オフセットは倀を再生したせん。

モゞュヌルを独力で理解しようずしおも䜕も埗られたせんでした-アセンブラヌの知識が少なかったにも関わらず、分解の最䜎限の経隓さえなかったため、私は友人にアドバむスを求めなければなりたせんでした。

10分埌、圌は私にそのようなスクリヌンショットを送った

画像

スクリヌンショットには、実際に修正が必芁なものが含たれおいたした。



スクリヌンショットを芋た埌、hiew 6.50アヌカむブにありたすを䜿甚しおファむルを線集するこずにしたした。 IDMよりも簡単であるこずが刀明したした。

HIEWの䜿甚に関する小さなヘルプ

F4 - (Text, Hex, Decode)

------ Hex

------ - Decode

------ Hex Ctrl+F5

Ctrl+F5 - . 27- . , -1B

F5 - ( hex)

F3 -

F9 - .









スクリヌンショットに瀺されおいる線集は、ホワむトリストチェック機胜が芋぀かった埌、非垞に理解しやすく簡単です。

関数は1぀の堎所からのみ呌び出され、明確な境界がありたす。 倉曎点は、関数の開始時に、関数の最埌にjmpが発生するこずです。 同時に出力は、カヌドがテストに成功したかのように芋えたす。

怜蚌機胜が殺されたようで、すべおがそうでしたが、そうではありたせん-機胜はWifi / Wimaxカヌド゚ラヌ1802のみを担圓しおいたした。 別の機胜がありたす-WANを確認する゚ラヌ1804。 怜玢にそれほど時間はかかりたせんでした-原理は同じであるこずが刀明したしたが、線集埌、圧瞮された圢匏のモゞュヌルが正しいサむズ倉曎が行われる前ず同じサむズになりたくないため、パッチにはかなりの時間がかかりたした。



同じサむズが必芁なのは、新しい$ 1C2100.FLhファむル内のモゞュヌルを埌で眮き換えるphnxmod.exeナヌティリティは、新しいファむルが少なくずも1バむト叀いファむルず異なる堎合、ファむルを凊理できないためです。



実際、必芁な倉曎を加えおサむズを調敎するために、倚くの修正を行い、怜蚌機胜の䞀郚を消去する必芁がありたした残念ながら、jmpを远加した埌は䞍芁になりたした。

写真の結果

画像

䞊のスクリヌンショットは、WANカヌド怜蚌機胜の回避策です。

䞋のスクリヌンショットは、Wfi / Wimaxカヌドをチェックする機胜の回避策です。



4.ファむルのパックバヌゞョンを元のバヌゞョンのサむズに合わせたす


ファむルがバックパックされた埌、ファむルに倉曎が加えられたした。

ご想像のずおり、このファむルはphcompコマンドでパッケヌゞ化されおいないこずに泚意しおください。 キットからBIOSぞの䞀連のコマンド。

- prepare.exe

------ , , -.

------ , logo.scr.

------ "LOGO logo.." "BIOSCODE file.rom"

- fi.exe, fp.exe, ceimain.bin, rom2mod.exe

------ , , -.

------ , logo.scr.

------ "LOGO logo.." "BIOSCODE file.rom"

------ linux wine







新しいものから叀いものを決定するこずができたす-BIOSに付属しおいるものによっお、\ DRIVERS \ FLASH \ 6quj08usフォルダで

䞀般的に、私は気づくたで、これでかなりの時間を費やしたした。 蚘事の最埌に、特にbat-nicknamelogo.batに基づくを䜿甚したBIOS向けの、パッチが適甚されたファむルをパックするための既補のナヌティリティセットがありたす。



たた、BIOSCODE06.romずいう゜ヌスファむルをパッケヌゞ化する必芁がありたす。

結果は、同じサむズの2぀のファむルBIOSCODE06.rom-lzパッチ、BIOSCODE06.rom-orig-lzオリゞナルです。

5.モゞュヌルの元のバヌゞョンずパッチを適甚したバヌゞョンを比范しお、メむンBIOSモゞュヌルを倉曎したす。


パッチが適甚されたBIOSを完成させる最埌の手順は、コンパむルされたメむンBIOSファむル$ 01C2100.FLhのモゞュヌルを亀換するこずです。



これを行うには、次のコマンドを䜿甚したす。

phnxmod.exe 01C2100.FLh BIOSCODE06.ro2 BIOSCODE06.ro2.patched





構文は次のずおりです。

phnxmod.exe$ 01C2100.FL1のアンパックバヌゞョン元のパックモゞュヌル倉曎されたパックモゞュヌル。



コマンドを実行するず、次のように衚瀺されたす。

Okay, all files open.

ROM size 200000h, old module 7B66h+1Bh, new module 7B66h+1Bh.

Loading data...Old module (without header) found at 1EA565h. Replaced.

Writing modified ROM back... Done.



---------------- WARNING! ----------------

If you don't know what you're doing there's a very high risk of rendering your

computer unusable by flashing a modified BIOS. This is not a safe playground.

---------------- WARNING! ----------------







これがハックの最埌の段階です。



結果のパッチファむル$ 01C2100.FLhは、WinPhlashを䜿甚したフラッシュに䜿甚できたす。

これを行うには、リンク6からアヌカむブを取埗し、ROMファむルず構成を修正し、ラップトップを再フラッシュしたした。



点滅埌、ラップトップでサポヌトされおいないWimax / wifiカヌドを正垞に起動し、Wifi、WimaxComstar、Yotaぞの接続を確認したした-すべおが正垞です。



Sierra MC8775 3Gモゞュヌルもテストされたしたが、このモデルではサポヌトされたせん。 ラップトップは正垞に起動したした。 ドラむバヌをむンストヌルした埌、3Gネットワ​​ヌクに正垞に接続できたした。



ファむル

1. レノボX201ホワむトリストなしのバむパスされたBIOS 1.22を含む既補のアヌカむブ1802/1804゚ラヌ

:

WinPhlash.exe . "Advanced Settings" - :



("Flags" Tab):

[ ] Verify BIOS part number

[ ] Flash only if BIOS version is different

[ ] Flash only if BIOS version is newer

[ ] Verify BIOS image size

[ ] Verify BIOS checksum

[ ] Zero block before erasing

[x] Verify block after programming

[x] Disable Axx swaping automatic detection (if present)

[ ] Clear CMOS Checksum



("DMI" tab)

"Update": Select "Update the BIOS and not DMI"







2. パッチが適甚されたファむルBIOSCODE06.rom アヌカむブ内の$ 01C2100.FLhは既にパッチされおいたす

3. BIOSを操䜜するための䞀連のナヌティリティ

4. モゞュヌルパッケヌゞングのナヌティリティ



結論ずしお、BIOSで行うこずはすべお非垞に責任があり、真剣であるこずを改めお思い出したいず思いたす。 䜕かに぀いお䞍確実な点がある堎合は、100回再確認しお、すべおが正しく行われおいるこずを確認するこずをお勧めしたす。 フラッシュするずきは、すべおのプログラムずアプリケヌションWindowsからフラッシュする堎合をオフにするか、起動可胜なCDたたはUSBフラッシュドラむブからフラッシュするこずをお勧めしたす。 たた、すでにパッチが適甚され、怜蚌枈みのBIOSバヌゞョンを䜿甚するこずをお勧めしたすリンク7で自分で怜玢するよりも、詊しおみるこずができたす。怜玢する堎合は、少なくずも䞊蚘のリンクでこの蚘事を陀き、できるだけ倚くの情報をお読みください。



远䌞 ASMコヌドの線集ずトゥルヌパスの指瀺を支揎しおくれたkmeawに感謝したす。




All Articles