アセンブラ… (0w0)ウェーイ

このエントリーをはてなブックマークに追加
412デフォルトの名無しさん
621 名前:ppp1826.va-east.my-users.ne.jp 投稿日:2005/08/20(土) 07:53:27 ID:eLPWq2Y20
お願いします・・・
【板名*】 PC等->プログラム
【スレ名*】 アセンブラ… (´・∀・`)ヘー
【スレのURL*】 http://pc8.2ch.net/test/read.cgi/tech/1101390110/l5
【名前欄】 397,398
【メール欄】
【本文*】↓
>>399

>>代入ではなくWriteProcessMemory()を使ってるのは、WPM()ならPAGE_READONLYが付いてもWPM自信が属性書き換えてデータを書き込むからだそうな(そういう意味ではVirtualProtect()呼ぶのは無意味)。
だからそう書いてるんだが。>>自信

>>あと、プロセスメモリ内にある以上はシステムDLLだろうが何だろうが書き換えはできるし、
本当?そりゃ悪かった。今XPが使えないんで試せないんだが、少なくともWin98ではシステムDLL(のリードオンリー属性変更)にVirtualProtect()は通用しない。

>>そうでなきゃKERNEL32.DLLにブレークポイントしかけられない
だからWin98では仕掛けられないわな。
まあDRxならできるが。

>>copy on writeでそのプロセス独自のコピーが作られるから、他プロセスには影響しない。
本当?そりゃ悪かった。今XPが使えないんで試せないんだが、少なくともWin98では共有されている。
例えばKERNEL32やUSER32は、データやインポートテーブルは共有セクション上に置かれているので、例えプロセスごとにコピーが作られてもデータは共有される。
すなわちcopy on writeはコード(とかリソース等の)部分だけ、というわけだが。
Win98で共有されててWinXPで共有されていないって事は無いと思ったんだが、違うんか?