破解Discuz! 4.0.0 20051001的方法
演示:
http://newbbs.dothome.co.kr/vip/index.php
打开
include\validate.class.php
替换
程序代码
1
<?
php
2
class
licensestuff
3
{
4
var
$data
=
''
;
5
var
$key
=
array
();
6
var
$env
=
array
();
7
function
readfile
()
8
{
9
if
(
$fp
=
fopen
((DISCUZ_ROOT
.
'
./discuz_license.php
'
)
,
'
r
'
))
10
{
11
$this
->
data
=
fread
(
$fp
,
9999
);
12
fclose
(
$fp
);
13
}
14
15
}
16
17
function
initialize ()
18
{
19
$this
->
readfile
();
20
if
(
$this
->
data)
21
{
22
foreach
(
explode
(
'
23
'
,
$this
->
data)
as
$string
)
24
{
25
if
(
strpos
(
$string
,
'
=
'
))
26
{
27
eval
(
preg_replace
(((((((((((((
''
.
'
/^(
'
)
.
'
[
'
)
.
'
a-z0-9
'
)
.
'
\\-
'
)
.
'
]
'
)
.
'
+)
'
)
.
'
\\s
'
)
.
'
\\=
'
)
.
'
\\s
'
)
.
'
(.+?)
'
)
.
'
$
'
)
.
'
/i
'
)
,
'
$this->key[\
'
\\
1
\
'
] = \
'
\\
2
\
'
;
'
,
trim
(
str_replace
(
'
\
''
,
'
\\\
''
,
$string
))));
28
}
29
else
30
{
31
if
(
preg_match
(
'
/\\<\\?\
'
.+
\
'
\\?\\>/
'
,
$string
))
32
{
33
$this
->
key
[
'
Validation-code
'
]
=
$this
->
decrypt (
preg_replace
(
'
/\\<\\?\
'
(
.+
)\
'
\\?\\>/
'
,
'
\\1
'
,
$string
)
,
'
I love my father, mother, my Grace, and my self, I am working hard
'
,
'
##@Crossday Studio@##
'
);
34
}
35
}
36
}
37
38
$this
->
getenvinfo ();
39
return
1
;
40
}
41
/*
else
42
{
43
if (((strtoupper (substr (PHP_OS, 0, 3)) == 'WIN') AND in_array ($GLOBALS['_SERVER']['HTTP_HOST'], array ('localhost', '127.0.0.1'))))
44
{
45
return 2;
46
}
47
else
48
{
49
return 0;
50
}
51
}
*/
52
53
}
54
55
function
checkinfo ()
56
{
57
if
((
substr
(
$this
->
key
[
'
Validation-code
'
]
,
16
,
8
)
==
substr
(
md5
(
preg_replace
(((((((((((((
''
.
'
/^(.+?)
'
)
.
'
\\s
'
)
.
'
*
'
)
.
'
\\<
'
)
.
'
\\?
'
)
.
'
\\\
''
).
'
.+
'
).
'
\\\
''
)
.
'
\\?
'
)
.
'
\\>
'
)
.
'
$
'
)
.
'
/s
'
)
,
'
\\1
'
,
$this
->
data))
,
0
,
8
)))
58
{
59
return
TRUE
;
60
}
61
else
62
{
63
return
TRUE
;
64
}
65
66
}
67
68
function
checkdate
()
69
{
70
if
((
!
$this
->
key
[
'
License-expires
'
] OR (
time
()
<
strtotime
(
$this
->
key
[
'
License-expires
'
]))))
71
{
72
return
TRUE
;
73
}
74
else
75
{
76
return
TRUE
;
77
}
78
79
}
80
81
function
checkkey ()
82
{
83
if
((
substr
(
$this
->
key
[
'
Validation-code
'
]
,
8
,
8
)
==
substr
(
md5
(((((((((
$this
->
env[
'
os
'
]
.
'
|
'
)
.
$this
->
env[
'
ip
'
])
.
'
|
'
)
.
$this
->
env[
'
sapi
'
])
.
'
|
'
)
.
$this
->
env[
'
cpu
'
])
.
'
|
'
)
.
$this
->
env[
'
name
'
]))
,
0
,
8
)))
84
{
85
return
TRUE
;
86
}
87
else
88
{
89
return
TRUE
;
90
}
91
92
}
93
94
function
checkhostpath ()
95
{
96
if
((((
substr
(
$this
->
key
[
'
Validation-code
'
]
,
24
,
6
)
==
((
dechex
(
ord
(
'
d
'
))
.
dechex
(
ord
(
'
z
'
)))
.
dechex
(
ord
(
'
k
'
)))) OR (
substr
(
$this
->
key
[
'
Validation-code
'
]
,
0
,
8
)
==
substr
(
md5
(
$this
->
env[
'
host
'
])
,
0
,
8
))) OR (
substr
(
$this
->
key
[
'
Validation-code
'
]
,
24
,
8
)
==
substr
(
md5
(
$this
->
env[
'
path
'
])
,
0
,
8
))))
97
{
98
return
TRUE
;
99
}
100
else
101
{
102
return
TRUE
;
103
}
104
105
}
106
107
function
getenvinfo ()
108
{
109
global
$_SERVER
;
110
global
$_POST
;
111
global
$_ENV
;
112
$env
[
'
time
'
]
=
gmdate
(
'
d-M-Y
'
,
time
());
113
$env
[
'
os
'
]
=
PHP_OS
;
114
$env
[
'
ip
'
]
=
getenv
(
'
SERVER_ADDR
'
);
115
$env
[
'
sapi
'
]
=
php_sapi_name
();
116
$env
[
'
host
'
]
=
(
getenv
(
'
HTTP_HOST
'
)
?
getenv
(
'
HTTP_HOST
'
)
:
$_SERVER
[
'
HTTP_HOST
'
]);
117
//
$env['path'] = dirname (('validate.class.php.LkuQHr' ? dirname ('validate.class.php.LkuQHr') : getenv ('SCRIPT_FILENAME')));//********
118
$env
[
'
cpu
'
]
=
((
$_ENV
[
'
PROCESSOR_IDENTIFIER
'
]
.
'
/
'
)
.
$_ENV
[
'
PROCESSOR_REVISION
'
]);
119
$env
[
'
name
'
]
=
$_ENV
[
'
COMPUTERNAME
'
];
120
$this
->
env
=
$env
;
121
}
122
123
function
decrypt (
$txt
,
$key
,
$owner
=
''
)
124
{
125
$txt
=
$this
->
keyED (
base64_decode
(
$txt
)
,
((
$owner
==
'
##@Crossday Studio@##
'
)
?
$key
:
''
));
126
$tmp
=
''
;
127
for
(
$i
=
0
; (
$i
<
strlen
(
$txt
));
$i
++
)
128
{
129
$md5
=
$txt
[
$i
];
130
$i
++
;
131
(
$tmp
.=
(
$txt
[
$i
]
^
$md5
));
132
}
133
134
return
$tmp
;
135
}
136
137
function
keyed (
$txt
,
$encrypt_key
)
138
{
139
$encrypt_key
=
md5
(
$encrypt_key
);
140
$ctr
=
0
;
141
$tmp
=
''
;
142
for
(
$i
=
0
; (
$i
<
strlen
(
$txt
));
$i
++
)
143
{
144
if
((
$ctr
==
strlen
(
$encrypt_key
)))
145
{
146
$ctr
=
0
;
147
}
148
149
(
$tmp
.=
(
$txt
[
$i
]
^
$encrypt_key
[
$ctr
]));
150
$ctr
++
;
151
}
152
153
return
$tmp
;
154
}
155
156
function
validate ()
157
{
158
$init
=
$this
->
initialize ();
159
if
(((
$init
==
2
) OR (((((
$init
==
1
) AND
$this
->
checkinfo ()) AND
$this
->
checkdate
()) AND
$this
->
checkkey ()) AND
$this
->
checkhostpath ())))
160
{
161
if
((
$init
==
2
))
162
{
163
define
(
'
DISCUZ_LICENSE_KEY
'
,
md5
((
base64_decode
(
'
ISgqISEpQCZfRGlzY3V6IV9pc19SdW5uaW5nX3VuZGVyX0xvY2FsaG9zdA
'
)
.
md5
((((
'
#19811027_
'
.
'
DZK_
'
)
.
'
WROTE_Discuz!_
'
)
.
substr
(
time
()
,
0
,
(
0
-
2
)))))));
164
}
165
else
166
{
167
define
(
'
DISCUZ_LICENSE_KEY
'
,
md5
((
base64_decode
(
'
ISgqISEpQCZfRGlzY3V6IV9XSUxMX1dJTl9USEVfRlVUVVJFX0ZST01fTk9XX09O
'
)
.
md5
((((
'
#19811027_
'
.
'
DZK_
'
)
.
'
WROTE_Discuz!_
'
)
.
substr
(
time
()
,
0
,
(
0
-
2
)))))));
168
}
169
}
170
else
171
{
172
/*
echo '<html>
173
<head>
174
<title>Invalid License File</title>
175
</head>
176
<body bgcolor="#FFFFFF">
177
<table cellpadding="0" cellspacing="0" border="0" width="600" align="center" height="85%">
178
<tr align="center" valign="middle">
179
<td>
180
<table cellpadding="10" cellspacing="0" border="0" width="80%" align="center" style="font-family: Verdana, Tahoma; color: #666666; font-size: 12px">
181
<tr>
182
<td valign="m';
183
echo 'iddle" bgcolor="#EBEBEB">
184
<br><b style="font-size: 20px">Your License was Invalid</b>
185
<br><br>License expiring, shifting to a new server, changing server IP, hardware, OS, PHP SAPI module, or, changing both host name and absolute directory on your disk, may invalidate your license. If you have trouble in activation, please visit <a href="http://www.discuz.com/license/" target="_blank">';
186
echo 'http://www.discuz.com/license/</a> for more information.
187
<br><br>您的密匙不存在、超过有效期、更换新的服务器空间、更改 IP 地址、硬件、操作系统、PHP 安装模&';
188
echo '#x5F0F;,或同时改变绝对路径或访问域名,都可能导致密匙失效。请访问 <a href="http://www.discuz.com/license/" target="_blank">http://www.discuz.com/license/</a> 重新生成密匙。
189
<br><b';
190
echo 'r>
191
</td>
192
</tr>
193
</table>
194
</td>
195
</tr>
196
</table>
197
</body>
198
</html>
199
';
200
exit ();
201
return TRUE;
*/
202
}
203
204
}
205
}
206
207
if
(
!
defined
(
'
IN_DISCUZ
'
))
208
{
209
exit
(
'
Access Denied
'
);
210
}
211
212
$license
=
new
licensestuff ();
213
$license
->
validate ();
214
unset
(
$license
);
215
?>

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

192

193

194

195

196

197

198

199

200

201

202

203

204

205

206

207

208

209

210

211

212

213

214

215

再在根目录新建个 discuz_license.php
内容为
程序代码
1
#
!ATTENTION! PLEASE DO NOT OPEN FOR EDITING
2
#
ANY MODIFICATION WILL INVALIDATE THIS LICENSE
3
4
Product
-
name
=
Discuz
!
Board Retail
5
License
-
issued
=
16
-
Jul
-
2005
6
7
Registered
-
to
=
Tkz
8
Registered
-
URL
=
http
:
//
127.0.0.1/
9

2

3

4

5

6

7

8

9
