方维o2o系统域名绑定破解详解

方维o2o系统是一款电子商城类的网站系统,提供给需要快速建立电子商城的用户,因为该系统可供用户自主安装,网站通过后台的操作,可塑性比较强, 若想对该系统进行二次开发,则必须让每个程序员都可以在本地安装并使用,由于方维开发团队对该系统进行了绑定唯一域名的限制,以限制系统被滥用,重复建 站;此时就产生了矛盾,所以以下是个人的一下开发经验,仅供参考,不可用于非法活动,一经转载请说明出处 http://blog.csdn.net/haiqiao_2010 

 

方维o2o系统绑定唯一域名的原理

1.      项目在安装成功后,首次运行,程序会自动生成该文件~public/runtime/~core.php,该文件的主页用途是判断当前域名是否授权

2.      文件~public/runtime/~core.php是根据项目加密文件license(位于项目根目录下,是方维经过加密后的域名许可证文件,该文件会在网站运行时进行判断是否存在,不存在则抛出异常”domain not authorized”即域名未经授权),进行解密并生成的,密钥为文件~system/utils/es_key.php;

3.      文件~public/runtime/~core.php不仅承当着域名是否授权的功能,还有项目运行的基本框架文件的加载及配置的作用,所以单纯的删除文件~public/runtime/~core.php会导致网站无法运行,此时就需要对该文件进行破解,补充网站运行所缺少的项目构架

 

方维o2o系统绑定唯一域名的破解方法

1.      在网站运行前,需要主动创建文件~public/runtime/~core.php避免方维系统程序对该文件自动生成

2.      文件~public/runtime/~core.php的作用是绑定指定域名,并是完善项目构架,保证项目正常运行;

 

文件~public/runtime/~core.php的重新编写

对文件~core.php的重写,代码如下:

 1     <?php   
 2     /* 
 3     * desc: init_checker()检测当前域名是否授权 
 4     *return:true or false 
 5     */  
 6     function init_checker($str)  
 7     {  
 8         If(empty($str))  
 9         {  
10             return false;  
11         }  
12         $arr = explode("|",base64_decode($str));          
13         $arr = unserialize($arr[1]);  
14         foreach($arr as $k=>$v)  
15         {  
16             $arr[$k] = base64_decode(base64_decode($v));  
17         }     
18         $host = $_SERVER['HTTP_HOST'];  
19         $host = explode(":",$host);  
20         $host = $host[0];  
21         $passed = false;  
22         if(!in_array($host,$arr))  
23         {  
24             return false;  
25         }  
26         return true;  
27     }   
28     //调用方法,判断当前域名是否授权,若未经授权则抛出异常,结束进程  
29     $urldecode=" ";//已经被加密的编码字符串  
30         $checker = init_checker($urldecode);  
31     if(!$checker)die("domain not authorized");  
32       
33     //域名授权通过后,完善项目构架,保证项目正常运行  
34     //定义缓存  
35     require APP_ROOT_PATH.'system/cache/Cache.php';  
36     $cache = CacheService::getInstance();  
37     require_once APP_ROOT_PATH."system/cache/CacheFileService.php";  
38     $fcache = new CacheFileService();  //专用于保存静态数据的缓存实例  
39     $fcache->set_dir(APP_ROOT_PATH."public/runtime/data/");  
40     //end 定义缓存  
41       
42     //定义DB  
43     require APP_ROOT_PATH.'system/db/db.php';  
44     define('DB_PREFIX', app_conf('DB_PREFIX'));   
45     if(!file_exists(APP_ROOT_PATH.'public/runtime/app/db_caches/'))  
46         mkdir(APP_ROOT_PATH.'public/runtime/app/db_caches/',0777);  
47     $pconnect = false;  
48     $db = new mysql_db(app_conf('DB_HOST').":".app_conf('DB_PORT'), app_conf('DB_USER'),app_conf('DB_PWD'),app_conf('DB_NAME'),'utf8',$pconnect);  
49     //end 定义DB  
50       
51       
52     //定义模板引擎  
53     require  APP_ROOT_PATH.'system/template/template.php';  
54     if(!file_exists(APP_ROOT_PATH.'public/runtime/app/tpl_caches/'))  
55         mkdir(APP_ROOT_PATH.'public/runtime/app/tpl_caches/',0777);   
56     if(!file_exists(APP_ROOT_PATH.'public/runtime/app/tpl_compiled/'))  
57         mkdir(APP_ROOT_PATH.'public/runtime/app/tpl_compiled/',0777);  
58     $tmpl = new AppTemplate;  
59       
60     //end 定义模板引擎  
61     $_REQUEST = array_merge($_GET,$_POST);  
62     filter_request($_REQUEST);  
63     $lang = require APP_ROOT_PATH.'/app/Lang/'.app_conf("SHOP_LANG").'/lang.php';  
64       
65     ?>  

该文件中, 变量$urldecode为已经授权并加密后的域名字符串,对授权的域名进行加密的方法domain_encryption()

 1     /* 
 2      * desc:domain_encryption()对授权的域名进行加密的方法 
 3     * param:$arr授权的域名或者ip的数组 
 4     * return:$str 返回已经加密后的域名字符串 
 5     */  
 6     function domain_encryption($arr=array())  
 7     {  
 8         if (count($arr>0))  
 9         {  
10             foreach ($arr as $k=>$v)  
11             {  
12                 $domain_array[]=base64_encode(base64_encode($v));  
13             }  
14         }  
15         return base64_encode(base64_encode(serialize($domain_array))."|".serialize($domain_array));  
16     }  
17       
18     echo domain_encryption(array("imember.cc","localhost","127.0.0.1"));  

以上是本人自己总结的经验,希望对大家有所帮助
仅供参考,不可用于非法活动,一经转载请说明出处 http://blog.csdn.net/haiqiao_2010

转载于:https://www.cnblogs.com/zjy954/p/5461814.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值