Skip to content

Latest commit

 

History

History
65 lines (36 loc) · 2.31 KB

2022-03-27.md

File metadata and controls

65 lines (36 loc) · 2.31 KB

2022-03-27

課題について

課題をやりました

WinDbgを使ってimm32_apitestを解析、ImmCreateContextの呼び出し履歴を調べると、kernel32!BaseProcessStartから呼び出されているようです。

imm32_apitest実行時なのと関数名から推察する限りではkernel32!BaseProcessStartからwinMainが呼び出され、himcテスト部分に来て止まっていると思うのですが...

Win2k3のBaseProcessStartはプロセス開始のシステム関数ですね。+0x23だからこれは一致していない。。。 「Following frames may be wrong.」だから間違っているかも。

hello12で試してごらん

プロセス開始したら呼ばれるのだから、これが呼ばれているのは当たり前ってことかな。

注意。Win2k3の関数名とReactOSの関数名は非公開のものは異なることがある。

わかりました 試してみます

imm32はユーザ空間の関数。NtUserなんちゃらはカーネル空間の関数。

あーなるほど 確かに忘れてたかもです

だったらhello12の最初のデバッグブレイクでプロセスをアタッチして、さらにImmCreateContextにブレイクポイントを置く。 再実行。ImmCreateContextで止まる。あとは料理。

お、ちゃんとHello12基準になりました

ではImmCreateContextの中を見ますか

やり方わかる?

わからないです

[Home]タブの[Ass*mbly]ボタンをクリックして

Disasmまではできました

何十行かを個人のメモ帳にでもコピーしといてくれ。

[Step Into]で少しづつ進むことができる。

ハッカーみたいになってきただろう。

[Stack]ペインで呼び出し履歴が見れる。またasmでも関数名が表示されている。これで呼び出している関数名がわかる。

[Stack]が表示されていないときは[View]タブから[Stack]ボタンをクリックしてくれ。

今日はここまでにします。

わかりました 色々とありがとうございます

時間があったらここからデバッガ拡張のMEXをインストールして:https://www.microsoft.com/en-us/download/details.aspx?id=53304 Install Instructionsに従ってインストール。

あとで入れてみます


戻る | 次へ