如果要修改磁盘中的程序,而这个程序正在运行中,可以用MoveFile把这个程序移到temp目录,然后在原位复制这个程序的副本,对副本进行修改。只要重新启动系统,或者注销再登陆(看程序由谁调用),或者在内存中杀掉原来进程再重新运行,都可以使使修改后的程序生效。
# P5 ~: c V8 m8 p x% J不过对于系统文件,由于2000/XP有系统文件保护,应该先把\WINNT\system32\dllcache中的同名文件也改了,否则会自动恢复。如果系统发现文被修改,有提示要求插入系统盘,直接跳过。
( x, A5 n Z' l7 N% t1 i2 s2 T& j1 N) n0 |2 B6 _5 k. d
如果仅仅想对内存中的进程进行修改,用WriteProcessMemory函数就可以了。
6 ]6 h* N5 S3 @' Z! g, q9 H( \4 l! v
xp下我没有试过。' @9 [0 T/ s9 m' X5 h
4 a/ g: b& E: s. s! M9 d- j# M6 M3 J: g* Y
: N+ h* T$ G4 q
8 C* \5 |/ v) F& D* p' t/ `# i3 P) A2 T
" B9 G4 b8 o7 y, O% v8 f
[此贴子已经被作者于2003-5-15 11:57:51编辑过]
6 ^/ O! r+ z, e9 T |