Win32API質問箱 Build ..
[2ch|▼Menu]
809:デフォルトの名無しさん
07/07/13 08:09:20
>>806
強引な荒技もあるよ。

デフラグのAPIを使ってファイルのディスク上の所在を調べて、そこを直に読んでしまうという手もある。
もちろん、そんな行儀の悪いことは、よほどの理由がないとダメだが。

810:デフォルトの名無しさん
07/07/13 17:13:50
CreateProcessでCREATE_SUSPENDEDを利用してNotepad.exeを起動して、
とまってるときのMessageBoxAとMessageBoxWのアドレスと、

その後、ResumeThreadした後のMessageBoxAとMessageBoxWのアドレスが違うような気がするんですけど、
これって気のせいですか?

811:デフォルトの名無しさん
07/07/13 17:17:33
DefineDosDevice()で、特定のフォルダを新規ドライブとしてマウントできるけど、
そのとき、元のフォルダのほうをACLなりEFSなりで自プロセス以外から見えなくすることは可能?




812:デフォルトの名無しさん
07/07/13 17:53:48
>>810
CREATE_SUSPENDEDで作成されたプロセスは初期化が完了している保証は無い

813:デフォルトの名無しさん
07/07/13 18:37:58
むしろ初期化終わってないのが普通じゃない?
この段階だとGetModuleFileNameExのようなAPIが失敗するもんで、
どうやってこの初期化だけを完了させるのか知りたかったりする
(forでResume/sleep/Suspendを細切れにしてまわしてた)

814:デフォルトの名無しさん
07/07/13 18:45:57
PEヘッダ解析して、PE.EntryPointのアドレスを書き換えるか、
ブレークポイントをしかけておくってのはどうだい?

815:デフォルトの名無しさん
07/07/13 19:50:28
CREATE_SUSPENDEDで止まっているときに色々やるのはオススメしない。

Windowsのサービスパックで挙動が変るのならまだしも、
WindowsUpdateで配られるモジュールのアップデートで挙動が変ってしまうから。

安全なのはプロセスのエントリポイントを乗っとること。


最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4316日前に更新/179 KB
担当:undef