3年前 (2014-12-23)  未分类 |   3 条评论  521 
文章评分 0 次,平均分 0.0

用wordpress还在自己写博文,个人写还行,如果是商业集中推广,你就out了,估计很多人都会考虑自动抓取网络资源重写发布,即所谓的为原创,那必定会关注自动抓取工具wp-autopost-pro;

老实讲这个工具写wp-autopost-pro的代码一般般,基本的功能都实现了,网上能下载的版本加密了function.php,要解密才能破解,怎么解密呢?在这里先讲一下:

用到工具:

phpDesigner 8

第一步:分解function.php文件,由于文件还是蛮大的,先用editplus根据calss定义切分一下文件,并且逐个文件用phpdesigner工具格式化一下代码,让代码有个像样的格式,便于程序识别行,注意命名有规则顺序,最后会写个php文件包含这些文件,会有个文件包含顺序。

第二步:提炼出变量文件,function.php这个文件前面部分会有很多乱七八糟的变量名,可以提炼到一个文件中,我是截取出来放在config.php,然后把这些文件存在在一个目录,放在在线站或者可以执行的目录

第三步:把下面的代码存放入到a.php,文件名我在代码里排除了本文件的替换,所以叫a.php,看得懂代码的可以自己修改。访问的方式执行一次a.php

第四步:检查产生的文件目录exc中替换第一次的文件,每个都检查,看哪些文件还有乱码的,再提取,再用工具格式化代码;仍然把提取的内容新村成php文件,命名顺序规则注意一下;

反复替换执行以上的替换方法,直至把变量名全替换正常为止,然后检查null值和空值得变量有没有被替换成空的了,基本上空null变量是不影响代码后期执行的,最多出现notice错误,然后重新定义一下就可以了。

下面是a.php的代码,有需要解密function.php代码的朋友可以留下邮箱地址,有时间集中发给大家。

'),'',$config);
$_replace=explode(";",$config);
//print_r($_replace);

$_replaceAll=array();
foreach($_replace as $_rep){
$_rep=trim($_rep);
if(!empty($_rep)){
$_reps=explode('=',$_rep);
if(stripos($_reps[0],'GLOBALS')!==false && !empty($_reps[1])){
$_replaceAll['{'.trim($_reps[0]).'}']=trim(str_replace('"','',$_reps[1]));
}
}
}

//print_r($_replaceAll);
//die();
$_config=array();
//$tofile=$_tofile.'config.php';
foreach($files as $file){
$file=$_filep.$file;
$tofile=$_tofile.$file;
if (file_exists($file)){
$content = file_get_contents($file);
$content=str_replace(';',";\n",$content);
//获得所有全局变量
$config = getGlobalVars($content);
$_config =array_merge($_config,$config);

$content=preg_replace("/\[\"(\s)+/",'["',$content);
$content=preg_replace("/\{\"(\s)+/",'{"',$content);
$content=preg_replace("/\(\"(\s)+/",'("',$content);
$content=preg_replace("/\](\s)+\}/",']}',$content);
$content=preg_replace("/\{(\s)+\"/",'{"',$content);
$content=preg_replace("/\[(\s)+\"/",'["',$content);
$content=preg_replace("/\((\s)+\"/",'("',$content);
$content=preg_replace("/\"(\s)+\]\"/",'"]',$content);
$content=preg_replace("/\"(\s)+\}\"/",'"}',$content);
$content=preg_replace("/\"(\s)+\)\"/",'")',$content);
$content=preg_replace("/(\s)+\"/",'"',$content);
$content=preg_replace("/\$\{(\s)+\$/",'${$',$content);
$content=preg_replace("/(\s)+\}\[/",'}[',$content);
$content=preg_replace("/\{(\s)+\(/",'{(',$content);
$content=preg_replace("/\)(\s)+\}/",')}',$content);
$content=preg_replace("/\}(\s)+\)/",'})',$content);
$content=preg_replace("/\{(\s)+\[/",'{[',$content);
$content=preg_replace("/\}(\s)+\[/",'}[',$content);
list($config_arr,$clearArr)=getConfigArr($content);
$content = str_replace(array_keys($config_arr),array_values($config_arr),$content);
$content = str_replace(array_keys($_replaceAll),array_values($_replaceAll),$content);
$content = str_replace($clearArr,'',$content);
list($config_arr,$clearArr)=getConfigArr($content);
$content = str_replace(array_keys($_replaceAll),array_values($_replaceAll),$content);
$content = str_replace(array_keys($config_arr),array_values($config_arr),$content);
$content = str_replace($clearArr,'',$content);
list($config_arr,$clearArr)=getConfigArr($content,true);
$content = str_replace(array_keys($config_arr),array_values($config_arr),$content);
$content = str_replace(array_keys($_replaceAll),array_values($_replaceAll),$content);
$content = str_replace($clearArr,'',$content);

$content = preg_replace("#(\\\x[0-9A-F]{2})#ei", "chr(hexdec('\\1'))",$content);

}
}
$_config=array_unique($_config);
$content= '';
file_put_contents($tofile,$content);

function getGlobalVars($content){
$_config=array();
$_array=explode("\n",$content);
foreach($_array as $strs){
$strs = trim($strs);
if(stripos($strs,'global')!==false && stripos($strs,'global')==0){
$_config[]=$strs;
}
}
return $_config;//implode("\n",$_config);
}

function getConfigArr($str,$twice=false){
$_clearArr=$_config=array();
$_array=explode("\n",$str);
foreach($_array as $strs){
if(stripos($strs,'GLOBALS')!==false){
$_strs=explode(';',$strs);
foreach($_strs as $_str){
if(stripos($_str,'GLOBALS')!==false){
$_reps = explode('=',$_str);
if(count($_reps)==2 && (stripos($_reps[0],'GLOBALS')!==false)){
$_val=trim(str_replace('"','',$_reps[1]));
if(strtolower($_val)!='null') $_clearArr[]=$_str.';';
$_config['{'.trim($_reps[0]).'}']=$_val;
}
}
}
}
if($twice){
$_strs=explode(';',$strs);
foreach($_strs as $_str){
$_str=trim($_str);
if($_str!=""){
$_reps = explode('=',$_str);
if(count($_reps)==2){
$_reps[1]=trim(str_replace(array('"',"\n"),'',$_reps[1]));
if(!preg_match("/(\W+)/", $_reps[1]) && !is_numeric($_reps[1]) && !is_bool($_reps[1]) && !in_array(strtolower($_reps[1]),array('true','false','null')) && !empty($_reps[1])){
if(strcmp($_reps[1],strtoupper($_reps[1]))){
$_clearArr[]=$_str.';';
$_config['{'.trim($_reps[0]).'}']=str_replace('"','',$_reps[1]);
}
}
}
}
}
}
}
return array($_config,$_clearArr);
}
echo 'end';
?>

 

除注明外本站所有文章均为火星博客原创,本文地址http://www.fromars.com/17.html

就爱翻翻墙,寻找些新奇好玩的。 如果对建站有兴趣也欢迎加我微信:fromarss

发表评论

  1. 10。2898。685。1@qq.c。om谢谢破解教程看到不太懂

    xiexie 6个月前 (12-24) [0] [0]
  2. 623626830@qq.com 给我一份 谢谢

    cnbgfm 2年前 (2015-11-30) [0] [0]
  3. 你好,我要一份破解版,richang@vip.qq.com

    hiben111 2年前 (2015-11-10) [0] [0]
切换注册

登录

忘记密码 ?

切换登录

注册

扫一扫二维码分享