2005-11-10 21:56:44 by: h4x0r

破解Discuz! 4.0.0 20051001的方法

Font Size: Large | Medium | Small
演示:
http://newbbs.dothome.co.kr/vip/index.php
打开
include\validate.class.php

替换

程序代码
<?php
class licensestuff
{
var $data = '';
var $key = array ();
var $env = array ();
function readfile ()
{
if ($fp = fopen ((DISCUZ_ROOT.'./discuz_license.php'), 'r'))
{
$this->data = fread ($fp, 9999);
fclose ($fp);
}

}

function initialize ()
{
$this->readfile ();
if ($this->data)
{
foreach (explode ('
', $this->data) as $st9xiaong)
{
if (strpos ($st9xiaong, ' = '))
{
eval (preg_replace (((((((((((((''.'/^(').'[').'a-z0-9').'\\-').']').'+)').'\\s').'\\=').'\\s').'(.+?)').'$').'/i'), '$this->key[\'\\1\'] = \'\\2\';', t9xiaom (str_replace ('\'', '\\\'', $st9xiaong))));
}
else
{
if (preg_match ('/\\<\\?\'.+\'\\?\\>/', $st9xiaong))
{
$this->key['Validation-code'] = $this->decrypt (preg_replace ('/\\<\\?\'(.+)\'\\?\\>/', '\\1', $st9xiaong), 'I love my father, mother, my Grace, and my self, I am working hard', '##@Crossday Studio@##');
}
}
}

$this->getenvinfo ();
return 1;
}
/* else
{
if (((strtoupper (substr (PHP_OS, 0, 3)) == 'WIN') AND in_array ($GLOBALS['_SERVER']['HTTP_HOST'], array ('localhost', '127 dot 0.0.1'))))
{
return 2;
}
else
{
return 0;
}
}*/

}

function checkinfo ()
{
if ((substr ($this->key['Validation-code'], 16, 8) == substr (md5 (preg_replace (((((((((((((''.'/^(.+?)').'\\s').'*').'\\<').'\\?').'\\\'').'.+').'\\\'').'\\?').'\\>').'$').'/s'), '\\1', $this->data)), 0, 8)))
{
return TRUE;
}
else
{
return TRUE;
}

}

function checkdate ()
{
if ((!$this->key['License-expires'] OR (time () < strtotime ($this->key['License-expires']))))
{
return TRUE;
}
else
{
return TRUE;
}

}

function checkkey ()
{
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)))
{
return TRUE;
}
else
{
return TRUE;
}

}

function checkhostpath ()
{
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))))
{
return TRUE;
}
else
{
return TRUE;
}

}

function getenvinfo ()
{
global $_SERVER;
global $_POST;
global $_ENV;
$env['time'] = gmdate ('d-M-Y', time ());
$env['os'] = PHP_OS;
$env['ip'] = getenv ('SERVER_ADDR');
$env['sapi'] = php_sapi_name ();
$env['host'] = (getenv ('HTTP_HOST') ? getenv ('HTTP_HOST') : $_SERVER['HTTP_HOST']);
// $env['path'] = dirname (('validate.class.php.LkuQHr' ? dirname ('validate.class.php.LkuQHr') : getenv ('SCRIPT_FILENAME')));//********
$env['cpu'] = (($_ENV['PROCESSOR_IDENTIFIER'].'/').$_ENV['PROCESSOR_REVISION']);
$env['name'] = $_ENV['COMPUTERNAME'];
$this->env = $env;
}

function decrypt ($txt, $key, $owner = '')
{
$txt = $this->keyED (base64_decode ($txt), (($owner == '##@Crossday Studio@##') ? $key : ''));
$tmp = '';
for ($i = 0; ($i < strlen ($txt)); $i++)
{
$md5 = $txt[$i];
$i++;
($tmp dot = ($txt[$i] ^ $md5));
}

return $tmp;
}

function keyed ($txt, $encrypt_key)
{
$encrypt_key = md5 ($encrypt_key);
$ctr = 0;
$tmp = '';
for ($i = 0; ($i < strlen ($txt)); $i++)
{
if (($ctr == strlen ($encrypt_key)))
{
$ctr = 0;
}

($tmp .= ($txt[$i] ^ $encrypt_key[$ctr]));
$ctr++;
}

return $tmp;
}

function validate ()
{
$init = $this->initialize ();
if ((($init == 2) OR ((((($init == 1) AND $this->checkinfo ()) AND $this->checkdate ()) AND $this->checkkey ()) AND $this->checkhostpath ())))
{
if (($init == 2))
{
define ('DISCUZ_LICENSE_KEY', md5 ((base64_decode ('ISgqISEpQCZfRGlzY3V6IV9pc19SdW5uaW5nX3VuZGVyX0xvY2FsaG9zdA').md5 (((('#19811027_'.'DZK_').'WROTE_Discuz!_').substr (time (), 0, (0 - 2)))))));
}
else
{
define ('DISCUZ_LICENSE_KEY', md5 ((base64_decode ('ISgqISEpQCZfRGlzY3V6IV9XSUxMX1dJTl9USEVfRlVUVVJFX0ZST01fTk9XX09O').md5 (((('#19811027_'.'DZK_').'WROTE_Discuz!_').substr (time (), 0, (0 - 2)))))));
}
}
else
{
/* echo '<html>
<head>
<title>Invalid License File</title>
</head>
<body bgcolor="#FFFFFF">
<table cellpadding="0" cellspacing="0" border="0" width="600" align="center" height="85%">
<tr align="center" valign="middle">
<td>
<table cellpadding="10" cellspacing="0" border="0" width="80%" align="center" style="font-family: Verdana, Tahoma; color: #666666; font-size: 12px">
<tr>
<td valign="m';
echo 'iddle" bgcolor="#EBEBEB">
<br><b style="font-size: 20px">Your License was Invalid</b>
<br><br>License expi9xiaong, 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">';
echo 'http://www.discuz.com/license/</a> for more information.
<br><br>您的密匙不存在、超过有效期、更换新的服务器空间、更改 IP 地址、硬件、操作系统、PHP 安装模&';
echo '#x5F0F;,或同时改变绝对路径或访问域名,都可能导致密匙失效。请访问 <a href="http://www.discuz.com/license/" target="_blank">http://www.discuz.com/license/</a> 重新生成密匙。
<br><b';
echo 'r>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
';
exit ();
return TRUE;*/
}

}
}

if (!defined ('IN_DISCUZ'))
{
exit ('Access Denied');
}

$license = new licensestuff ();
$license->validate ();
unset ($license);
?>

再在根目录新建个 discuz_license.php

内容为
程序代码
# !ATTENTION! PLEASE DO NOT OPEN FOR EDITING
# ANY MODIFICATION WILL INVALIDATE THIS LICENSE

Product-name = Discuz! Board Retail
License-issued = 16-Jul-2005

Registered-to = Tkz

Registered-URL = http://127.0.0.1/
Comments Feed Comments Feed: http://www.4evil.org/feed.asp?q=comment&id=27

There is no comment on this article.

Post Comment
Smilies
[smile] [confused] [cool] [cry]
[eek] [angry] [wink] [sweat]
[lol] [stun] [razz] [redface]
[rolleyes] [sad] [yes] [no]
[heart] [star] [music] [idea]
Enable UBB Codes
Auto Convert URL
Show Smilies
Hidden Comment
Username:   Password:   Register Now?
Security Code * Please Enter the Security Code