如果要修改磁盘中的程序,而这个程序正在运行中,可以用MoveFile把这个程序移到temp目录,然后在原位复制这个程序的副本,对副本进行修改。只要重新启动系统,或者注销再登陆(看程序由谁调用),或者在内存中杀掉原来进程再重新运行,都可以使使修改后的程序生效。
: c7 Z( i. c9 @* x, `3 ~0 O不过对于系统文件,由于2000/XP有系统文件保护,应该先把\WINNT\system32\dllcache中的同名文件也改了,否则会自动恢复。如果系统发现文被修改,有提示要求插入系统盘,直接跳过。
5 @* S$ _0 z5 u4 _
# U0 |2 W- J5 E6 j- W如果仅仅想对内存中的进程进行修改,用WriteProcessMemory函数就可以了。
: \( b: @4 o5 m+ V% b3 u0 T
* n6 K& ~+ m* kxp下我没有试过。; ]6 O0 n1 h/ \8 ?
" [ A, C9 ~5 v4 M
% @% q! x! v8 k/ `5 y* g t0 ?% P( P6 m5 J
3 Y! G" P/ b% Z5 o4 H% j- u
* X/ K& m3 z4 S
% V& k$ e; `! _0 ?' d, F
[此贴子已经被作者于2003-5-15 11:57:51编辑过] + r2 D% [' O7 n9 @
|