Win32API質問箱 Build ..
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