過去の投稿記事 new!
・【画像】漫画でわかる外国人参政権
・東京電力のHPで停電状態が確認できたり(サービス再開!)
・戦国時代 ~ 江戸時代の徳川家康が熱かった
・vaio のバッテリは寿命が短いような気がする
・話題の Western Digital 製 WD20EARS を購入した
・C01LC をビックカメラで買ってきた
・2025年には空中都市が現実化?!
・【動画】わかりやすい「宇宙ひも理論」
・今世紀には「富士山噴火」「東海連動地震」「首都圏直下型地震」か?
・滅びた町、南浜町が Googleストリートビューで見れる

【 amazon 送料無料キャンペーン 】

バックリンクはご自由にどうぞ!     http://mfsocket.blogspot.com/feeds/posts/default?alt=rss リンク集 / ログイン

2011/08/12
CreateRemoteThread で ERROR_ACCESS_DENIED

 
Windows7 SP1 64bit 環境で cmd.exe に対して CreateRemoteThread
実行すると ERROR_ACCESS_DENIED になる。
 
OpenProcess() の段階で PROCESS_CREATE_THREAD が成功しており、
かつ特権をさらに与えても失敗。
 
セキュリティなもの?
 
CreateRemoteThread() では 実行に LoadLibrary() で引数に 64bit カーネル
dll を渡してやっているだけなのに。
 
フック関連の書籍は Advanced Windows 下巻が参考になります。

Advanced Windows 第5版 下 (マイクロソフト公式解説書)
 
CreateRemoteThread() に関しては 298ページから記載。概念的なものも含め、
非常に細かく解説してるのは、この本以外では見たことない。
 
うーん、Windows7 でセキュリティが厳しくなったのでしょうか。
それとも 64bit で何か考慮するべき事を忘れてるのか…
 
とおもって色々試してみた所…
 
dll が 64bit でも、CreateRemoteProcess を行うプロセスが 32bit では
失敗してしまう事がわかりました。

0 コメント:

  • コメントには <b>, <strong>, <em>, <i>, <a> など一部の HTML タグを使用できます。