由于Imagevue是一款非常棒的php相册,所以一直在使用,但是没有购买许可在上方会有一个Imagevue的广告,所以一直使用PHP.NULL-DGT的破解版,但是有一个缺点就是更新不及时,而且下载比较难找,http://xtu2.com/有提供最新的Imagevue下载,遂准备通过Beyond Compare 3对比,自己破解。
Imagevue X3的授权保护机制研究(2017-09-09)
对比发现主要的差异在functions.inc.php和imagevue-check.php
首先是iv-includes\include\functions.inc.php,对比发现其中515行的authCheck()这个函数主要负责进行授权检查工作,检查的方法是通过cookie的authcheck参数,在函数开头手动设置cookie,并返回true,骗过检查程序。
1 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 |
function authCheck() { setcookie('authCheck', 'good'); $_COOKIE['authCheck'] = 'good'; return true; if (false == strpos($_SERVER['SERVER_NAME'], '.') || preg_match('/^[\d\.]+$/', $_SERVER['SERVER_NAME'])) { return true; } if (!isset($_COOKIE['authCheck'])) { $url = getHost() . $_SERVER['REQUEST_URI']; if (false !== strpos($url, '?')) { $url = substr($url, 0, strpos($url, '?')); } $options = array( 'http' => array( 'method' => 'POST', 'header' => array("Content-type: application/x-www-form-urlencoded"), 'content' => http_build_query(array( 'v' => '2.8.10.3', 'url' => $url, )), 'timeout' => 3, 'ignore_errors' => true ) ); $context = stream_context_create($options); ivErrors::disable(); $response = file_get_contents('http://auth.imagevuex.com/check.php', false, $context); ivErrors::enable(); if (!headers_sent()) { setcookie('authCheck', $response); } $_COOKIE['authCheck'] = $response; } return in_array($_COOKIE['authCheck'], array('good', false)); } |
另外一处是iv-includes\imagevue-check.php,在第241行在无cookie的时候会从服务器获取验证信息,
$response = file_get_contents('http://auth.imagevuex.com/check.php', false, $context);
直接手动改为good,跳过验证。
$response = "good";
下面放出官方原版文件,仅供学习
Imagevue 2.8.10.3 – July 10, 2013
Download link : http://pan.baidu.com/s/1eQIfJVG 密码: vs1a
9 comments