如果要修改磁盘中的程序,而这个程序正在运行中,可以用MoveFile把这个程序移到temp目录,然后在原位复制这个程序的副本,对副本进行修改。只要重新启动系统,或者注销再登陆(看程序由谁调用),或者在内存中杀掉原来进程再重新运行,都可以使使修改后的程序生效。0 h5 X) r" C9 {0 M0 I# J) @7 y/ p
不过对于系统文件,由于2000/XP有系统文件保护,应该先把\WINNT\system32\dllcache中的同名文件也改了,否则会自动恢复。如果系统发现文被修改,有提示要求插入系统盘,直接跳过。
& X$ `/ \, C' e+ @0 ` ^
( O$ \- `! y9 K0 |3 M如果仅仅想对内存中的进程进行修改,用WriteProcessMemory函数就可以了。+ i9 X7 h; h5 F; \! U6 ]
3 B/ ~! m+ f1 y5 l& q& N
xp下我没有试过。
B& X) z |0 d/ D0 L# l
0 i3 A7 Y/ ~% k3 H
i4 ~3 w. _5 V& s8 y. [# Q% C3 ]# N* z" N* G, e+ j, w
Y4 u( l7 O5 Z4 J" }3 F* T- u
2 f$ b# i' Y2 c. c; J }& m
" Z+ x9 _9 [: w9 ^5 p( s/ ~( g[此贴子已经被作者于2003-5-15 11:57:51编辑过]
3 u6 X1 O8 c, C/ U1 T1 o R |