nleddrvr.dll解析 ~ROMファイルの抽出~ | objective-cをちょい研究!ブログ

objective-cをちょい研究!ブログ

WILLCOMを卒業してiOS開発者に転身しました。。
コメント&トラックバック大歓迎です。

ZERO3のLEDでいろんな色が出せないか nleddrvr.dll ファイルを調べてみた。
nleddrvr.dllファイルは、Windows Mobile のWindowsフォルダにあるLEDを制御するファイルと思われる。


新しい色を出すことはできなかったが、充電LEDをオレンジ(充電中時)や黄色(満充電時)に光らせるイベントが見つかった。
イベントらしいものをリストアップしてみた。


・電波LEDオン/オフ
PhoneLibLEDOn/PhoneLibLEDOff


・無線LANLEDオン/オフ
LedDrvOffEventWLAN/LedDrvOnEventWLAN


・メール未読?LED(青)オン/オフ
LedDrvOnEventNotRead/LedDrvOffEventNotRead


・不在着信?LED(青)オン/オフ
LedDrvOnEventNotAnswer/LedDrvOffEventNotAnswer


・点滅パターンオン/オフ
LedDrvOnEventIncoming0~4/LedDrvOffEventIncoming0~4


・LED(青)点滅/オフ
LedDrvOnEventIncoming/LedDrvOffEventIncoming


・バイブ制御
LedDrvOffEventVib0~4
LedDrvContinueEventVib0~4
LedDrvContinueEventVib
LedDrvOnEventVib/LedDrvOffEventVib


・ネット接続?(LED変化の確認できず)
LedDrvPPPEndEvent
LedDrvPPPOffEvent
LedDrvPPPOnEvent


・充電LED黄オン
LedDrvOff2EventCharge


・充電LED黄点滅/オフ
LedDrvOnEventNotification/LedDrvOffEventNotification


・充電LED橙オン/オフ
LedDrvOnEventCharge/LedDrvOffEventCharge

LedDrvOff2EventChargeとLedDrvOnEventChargeを使うと、微妙に色が混ざった感じになる。


・充電LED橙点滅
LedDrvBlinkEventCharge


・レジストリ \HKEY_CURRENT_USER\ControlPanel\Utility とセットで使う?
ChgOnTime/ChgOffTime
RFIndicator


電波状態ランプ切り替え(tDiary::mozurinさん)
http://dislife.com/?date=20061009
RFIndicatorの使い方が記載されてます。


・レジストリ \HKEY_LOCAL_MACHINE\Drivers\BuiltIn\NLed とセットで使う?
IncData/IncData0~4
IncOnTime/IncOffTime
VibData/VibData0~4
VibOnTime/VibOffTime
VibMute
Grp2LedOn/Grp3LedOn


イベントの使い方はこんな感じ
hEvent = CreateEvent(Nothing, False, False, "イベント名")
SetEvent(hEvent)
CloseHandle(hEvent)


私作成のVB支援ソースでも可能です。
WmSetEventMsg("イベント名")


■ついでにEXPORTS関数名の一覧
Close
Deinit
IOControl
Init
Open
PowerDown
PowerUp

Init → PowerUp or PowerDown → Deinit の順番で使うみたい。LEDが消えたりしたが、使い方は良くわからない。


ファイルの調べ方だが、ROMファイルなのでPCにコピーして調べることができなかったので、GetProcAddressで関数名の代わりに1を指定して先頭のEXPORTS関数のポインタを取得。ポインタの前後のメモリを読み込んでみた。ただ、メモリ上に展開されているデータは実際のファイルとは違うみたい。


今回使ったプログラムもアップしておきます。EXPORT関数が無いファイルは読み込めないので、抽出できるファイルは限定的ですが…。EXEファイルはほぼ不可だと思います。
使い方は、DLLファイルを選択してLOADボタンで抽出。成功した場合、プログラムと同じフォルダに DLLファイル名.Dat というファイルができます。
http://www.ne.jp/asahi/phs/phs/blog/loadrommodule.lzh


プログラムをダウンロードしたら投票してください。


LoadRomModule


【関連情報】


次のツールを使うとROMファイルを完全な形で取得できました。

WM5_Files_Dumper.exe


入手先は他のページでも直リンクを自粛してるみたいなんで自粛(^^;

Googleでウェブ全体から検索すると、英語の掲示板っぽいところにEXEのリンク貼ってました。


実行すると全ROMファイルを吸い上げるのでサイズが膨大です。

次のパッチツールを使うと、microSDに保存してくれるようになるので便利です。


http://blog.tauchi.net/2008/06/rom.html

ROMファイル(tauchi.netさん)


人気ブログ ←携帯・モバイルの人気ブログへGO!