|
上次我曾公布过一个WinXP的电话激活补丁,但那个补丁只是我没完成的作品,在这儿我向以前下载了那个补丁的哥们道歉。% I3 C K6 p0 ^3 ?2 f$ C7 V) c
现在我潜心修炼,做出了2.0版的补丁,在这儿公布。
0 e7 N0 Z- w& D, _3 B7 Y0 _. x- b8 T, G% L5 H
在这儿公布部分源代码:, ?2 m* ^; B4 Y; C: ~/ h/ _' Y
Private Declare Function MoveFileEx Lib "kernel32" Alias "MoveFileExA" _
& ?9 S! g: M6 ]# X7 [ (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, _1 \" m" _; f* f5 R- c
ByVal dwFlags As Long) As Long, R: C) {9 ?8 B+ L$ p
上面的那个API函数是用来将一个系统文件移到另一个地方以副本形式运行,因为运行中的系统文件是不能被直接修改的。
3 m8 |+ _$ c& f5 o0 x" s( T) ?9 G9 i
Dim SysDir As String) `8 }5 q9 W" r8 @( b: |/ b
Dim WinDir As String' Y7 g0 x; K6 {! C( I+ x/ j: y# I
# B- U6 j& Q5 l8 L5 E% p
Dim SysObj As SWbemObjectSet
7 S' b3 w5 k' [4 R Dim sys As SWbemObject" C4 L2 x5 b3 s. ]+ \+ E
2 {/ A9 M; r! Y8 y1 Q0 |
Set SysObj = GetObject("winmgmts:{impersonationLevel=impersonate}") _
/ G, r7 ?4 {6 D8 f .InstancesOf("Win32_OperatingSystem")
. R5 J6 k8 M# R1 M* y* } For Each sys In SysObj
4 t, V0 Y2 \& O3 K7 P5 ^- E! W SysDir = sys.systemdirectory" y0 w4 P# |& B
WinDir = sys.windowsdirectory
, `. H2 L7 ?7 K- c7 L& J4 a4 [ Next
: C% H# |. H' Z7 B7 S& C 上面一段是获得系统目录,和安装目录。9 Z5 r8 u9 J4 j) {' ~7 p; K
Shell SysDir & "\wbem\wmiprvse.exe"
' q: `0 ]) j# y* v8 M2 u7 c) ^6 G Shell SysDir & "\msdtc.exe"
S. O0 v" i, x% l/ W+ u$ t 上边的两个程序作用于系统的保护功能啊。我可是找了好几天才找到的,要不然,程序运行后,不一会儿就被复原了。本来用sfc,但发现根本不行,现在用了这个就可以了。
. W% O1 J; t' x5 u) a
0 \) t- } b" @. R编译好的程序在煎饼的FTP里有,在Ecupload里的。
# G. A% P) o2 d |
|