如果要修改磁盘中的程序,而这个程序正在运行中,可以用MoveFile把这个程序移到temp目录,然后在原位复制这个程序的副本,对副本进行修改。只要重新启动系统,或者注销再登陆(看程序由谁调用),或者在内存中杀掉原来进程再重新运行,都可以使使修改后的程序生效。
1 {0 Z* E2 i9 u" O# N* Y5 w不过对于系统文件,由于2000/XP有系统文件保护,应该先把\WINNT\system32\dllcache中的同名文件也改了,否则会自动恢复。如果系统发现文被修改,有提示要求插入系统盘,直接跳过。
0 D3 L: }7 Y0 c4 S
& _3 A/ k8 [; p如果仅仅想对内存中的进程进行修改,用WriteProcessMemory函数就可以了。
, O& }; Y1 _2 }
3 L4 q; O) Q0 Q- Y/ l6 Lxp下我没有试过。; K# E V: }, h7 K' r
: m3 b/ J p9 a0 c P1 v5 h
0 T5 C3 C" _8 h7 L! q8 ]
7 T8 |1 c7 B. |4 D0 T3 e9 F) x+ U
6 @( h- A$ N- C% j x. X: K
1 E- V, f$ J4 Z; D. A. \# \% @+ H
[此贴子已经被作者于2003-5-15 11:57:51编辑过]
" a7 y; r7 g/ N9 z |