返回列表 发新帖

[悬赏求助] 求助云科技后端代码有盗版检测不会改

[复制链接]

3

主题

498

帖子

1396

积分

高中生

Rank: 4

金币
464
好评
0
信誉
100

考神MT论坛帅哥MT论坛新人MT论坛最佳新人

发表在  2022-4-9 23:13:24 | 显示全部楼层 | 阅读模式  来自 山东济宁
50金币
大佬们看图,看不懂代码改怎么改,   如果注释这里的代码   那个提示框会小时 但是点登录会没反应

  1. <?php
  2. namespace Home\Controller;

  3. use Common\Controller\BaseController;
  4. use Home\Tool\HJCTool;
  5. use Home\Tool\Secret;
  6. require getcwd() . '/Application/Home/Common/Rsa/BigInteger.php';
  7. require getcwd() . '/Application/Home/Common/Rsa/rsa.php';
  8. require getcwd() . '/Application/Home/Common/Des/DES.php';
  9. class AuthController extends BaseController
  10. {
  11.     private $_jsonArr;
  12.     private $_param;
  13.     private $key;
  14.     public function __construct()
  15.     {
  16.         parent::__construct();
  17.        $this->key = substr(md5($_SERVER['SERVER_NAME']),0,8);
  18.     }
  19.     public function getplugin()
  20.     {
  21.             $mysql1 = M('Plugin');
  22.             $ret1 = $mysql1->query("SELECT * FROM cloud_plugin ");
  23.             echo json_encode($ret1);
  24.             exit;
  25.     }
  26.     public function getnotice()
  27.     {
  28.             $mysql1 = M('Notice');
  29.             $ret1 = $mysql1->query("SELECT * FROM cloud_notice ");
  30.             echo json_encode($ret1);
  31.             exit;
  32.     }
  33.     public function login_user()
  34.     {
  35.         header('Content-Type:application/json');//加上这行,前端那边就不需要var result = $.parseJSON(data);
  36.         $username = $_POST['UserName'];
  37.         $password = HJCTool::secret( $_POST['PassWord']);
  38.         $mysql = M('user');
  39.         $user_ret = $mysql->query("SELECT * FROM cloud_user WHERE username='" . $username . "'");
  40.         if (!$user_ret) {
  41.              $ret = ["Code" => 404,"Msg" => '用户不存在'];
  42.              echo json_encode($ret);
  43.              exit;
  44.         } else {
  45.             if ($user_ret[0]['password'] != $password) {
  46.                  $ret = ["Code" => 404,"Msg" => '密码不正确'];
  47.                  echo json_encode($ret);
  48.                  exit;
  49.             }
  50.         }
  51.         $ret = ["Code" => 200,"Msg" => '请求成功'];
  52.         $ret["UserName"] = $user_ret[0]['username'];
  53.         $ret["Reg_Time"] = $user_ret[0]['reg_time'];
  54.         $ret["Login_Count"] = $user_ret[0]['login_count'];
  55.         $ret["Login_Time"] = $user_ret[0]['currentlogin_time'];
  56.         if($user_ret[0]['vip']==1){
  57.         $ret["Vip"] = true;
  58.         }else{
  59.         $ret["Vip"] = false;
  60.         }
  61.         echo json_encode($ret);
  62.         exit;
  63.     }
  64.     /*
  65.     Op=操作符
  66.     Mac=机器码
  67.     Appid=应用id
  68.     Card=注册码
  69.     Ip=请求ip
  70.     Ver=版本号
  71.     Time=请求时间戳
  72.     Token=返回token
  73.     Type=试用 正式
  74.    
  75.     Code码 200成功 404失败 300更新
  76.     */
  77.     public function signin()
  78.     {
  79.         $this->beforeHandle();
  80.         // Op=操作 -1初始化,0登录,1解绑,2试用,3机器码取卡密
  81.         switch ($this->_jsonArr->Op) {
  82.             case -1:
  83.                 $this->init();
  84.                 break;
  85.             case 0:
  86.                 $this->login();
  87.                 break;
  88.             case 1:
  89.                 $this->unbind();
  90.                 break;
  91.             case 2:
  92.                 $this->sy();
  93.                 break;
  94.             case 3:
  95.                 $this->getcard();
  96.                 break;
  97.             case 4:
  98.                 $this->ApiLogin();
  99.                 break;
  100.         }
  101.     }
  102.     public function check()
  103.     {
  104.         $this->beforeHandle();
  105.         $softret = $this->isSoftwareFrozen();
  106.         // formal正式,trial试用
  107.         if ($this->_jsonArr->Type == 'formal') {
  108.             $ret = $this->isCodeValid();
  109.             if ($ret[0]['computer_uid'] == '') {
  110.                 $this->offline();
  111.                 $this->returnJson('404', '验证不通过,请重新登录!');
  112.             }
  113.             if ($ret[0]['computer_uid'] != $this->_jsonArr->Mac) {
  114.                 $this->offline();
  115.                 $this->returnJson('404', '验证不通过,机器码被改变!');
  116.             }
  117.             if ($ret[0]['token'] != $this->_jsonArr->Token) {
  118.                 $this->returnJson('404', '验证不通过,禁止多开!');
  119.             }
  120.             $mysql = M('Regcode');
  121.             $code = $this->_jsonArr->Card;
  122.             $update_ret = $mysql->execute("UPDATE cloud_regcode SET isonline = 1 WHERE code = '{$code}'");
  123.             $this->returnJson('200', '验证通过');
  124.         } else {
  125.             if ($this->_jsonArr->Type == 'trial') {
  126.                 $computer_uid = $this->_jsonArr->Mac;
  127.                 $softid = $softret[0]['id'];
  128.                 $trialsql = M('Trial');
  129.                 $trialret = $trialsql->query("SELECT * FROM cloud_trial WHERE computer_uid = '{$computer_uid}' AND software_id = '{$softid}'");
  130.                 if (!$trialret) {
  131.                     $this->returnJson('404', '验证不通过!');
  132.                 }
  133.                 // 时间差
  134.                 $cle = time() - strtotime($trialret[0]['last_time']);
  135.                 $m = $cle / 60;
  136.                 // 如果大于软件最大使用时间
  137.                 if ($m > $softret[0]['try_minutes']) {
  138.                     $this->returnJson('404', '验证不通过,试用到期!');
  139.                 } else {
  140.                     // token是否改变
  141.                     if ($trialret[0]['Token'] != $this->_jsonArr->Token) {
  142.                         $this->returnJson('404', '验证不通过,禁止多开!');
  143.                     } else {
  144.                         $this->returnJson('200', '验证通过');
  145.                     }
  146.                 }
  147.             } else {
  148.                 $ret = $this->isCodeValid();
  149.                 if ($ret[0]['computer_uid'] == '') {
  150.                     $this->offline();
  151.                     $this->returnJson('404', '验证不通过,请重新登录!');
  152.                 }
  153.                 if ($ret[0]['computer_uid'] != $this->_jsonArr->Mac) {
  154.                     $this->offline();
  155.                     $this->returnJson('404', '验证不通过,机器码被改变!');
  156.                 }
  157.                 if ($ret[0]['token'] != $this->_jsonArr->Token) {
  158.                     $this->returnJson('404', '验证不通过,禁止多开!');
  159.                 }
  160.                 $mysql = M('Regcode');
  161.                 $code = $this->_jsonArr->Card;
  162.                 $update_ret = $mysql->execute("UPDATE cloud_regcode SET isonline = 1 WHERE code = '{$code}'");
  163.                 $this->returnJson('200', '验证通过');
  164.             }
  165.         }
  166.     }
  167.     //解绑
  168.     private function unbind()
  169.     {
  170.         $softret = $this->isSoftwareFrozen();
  171.         $ret = $this->isCodeValid();
  172.         if ($softret[0]['unbindmode'] == '1') {
  173.             $this->returnJson('404', '解绑失败,该软件不允许用户解绑!');
  174.         }
  175.         if ($ret[0]['computer_uid'] != '') {
  176.             if ($ret[0]['computer_uid'] != $this->_jsonArr->Mac) {
  177.                 $this->returnJson('404', '解绑失败,只能在原设备解绑!');
  178.             }
  179.         } else {
  180.             $this->returnJson('404', '解绑失败,已经解绑过了!');
  181.         }
  182.         $update_ret;
  183.         $mysql = M('Regcode');
  184.         $code = $this->_jsonArr->Card;
  185.         $update_ret = $mysql->execute("UPDATE cloud_regcode SET computer_uid = '', isonline = 0 WHERE code = '{$code}'");
  186.         if (!$update_ret) {
  187.             $this->returnJson('404', '解绑失败!');
  188.         } else {
  189.             $this->returnJson('200', '解绑成功!');
  190.         }
  191.     }
  192.     private function ApiLogin()
  193.     {
  194.         $this->beforeHandle();
  195.         $username = $this->_jsonArr->User;
  196.         $password = HJCTool::secret($this->_jsonArr->Pass);
  197.         $mysql = M('user');
  198.         $user_ret = $mysql->query("SELECT * FROM cloud_user WHERE username='" . $username . "'");
  199.         if (!$user_ret) {
  200.             $this->returnJson('404', '用户不存在!');
  201.         } else {
  202.             if ($user_ret[0]['password'] != $password) {
  203.                 $this->returnJson('404', '密码不正确!');
  204.             } else {
  205.                 if ($user_ret[0]['vip'] == 0) {
  206.                     $this->returnJson('404', '商户未审核 请联系系统管理员进行审核!');
  207.                 }
  208.             }
  209.         }
  210.         $id = $user_ret[0]['id'];
  211.         $lastlogin_time = $user_ret[0]['currentlogin_time'] ?: date('Y-m-d H:i:s', time());
  212.         $lastlogin_ip = $user_ret[0]['currentlogin_ip'];
  213.         $currentlogin_ip = HJCTool::getRealIP();
  214.         $currentlogin_time = date('Y-m-d H:i:s', time());
  215.         $login_count = $user_ret[0]['login_count'] + 1;
  216.         $ret = $mysql->execute("UPDATE cloud_user SET lastlogin_time = '{$lastlogin_time}', lastlogin_ip = '{$lastlogin_ip}', currentlogin_time = '{$currentlogin_time}', currentlogin_ip = '{$currentlogin_ip}', login_count = '{$login_count}' WHERE id = '{$id}'");
  217.         if ($ret) {
  218.             $_SESSION['user'] = $username;
  219.             $_SESSION['last_logn_time'] = time();
  220.             $this->returnJson('200', '登录成功 欢迎使用 天狼星注入平台!');
  221.         } else {
  222.             $this->returnJson('404', '未知异常!');
  223.         }
  224.     }
  225.     private function sy()
  226.     {
  227.         $softret = $this->isSoftwareFrozen();
  228.         $computer_uid = $this->_jsonArr->Mac;
  229.         $softid = $this->_jsonArr->Appid;
  230.         $last_ip = HJCTool::getRealIP();
  231.         $last_time = date('Y-m-d H:i:s', time());
  232.         $mysql = M('Software');
  233.         $ret = $mysql->query("SELECT * FROM cloud_software WHERE id = {$softid}");
  234.         if (!$ret) {
  235.             $this->returnJson('404', '试用失败,软件没找到!');
  236.         }
  237.         $try_minutes = $ret[0]['try_minutes'];
  238.         $try_count = $ret[0]['try_count'];
  239.         if ($try_minutes <= 0 || $try_count <= 0) {
  240.             $this->returnJson('404', '试用失败,软件不支持试用!');
  241.         }
  242.         $token = substr(md5($this->_jsonArr->Mac . time()), 0, 5);
  243.         $trialsql = M('Trial');
  244.         $trialret = $trialsql->query("SELECT * FROM cloud_trial WHERE computer_uid = '{$computer_uid}' AND software_id = '{$softid}'");
  245.         // 机器码没找到,第一次试用
  246.         if (!$trialret) {
  247.             $update_ret = $trialsql->execute("INSERT INTO cloud_trial (computer_uid, software_id, last_ip, last_time, token) VALUES ('{$computer_uid}', '{$softid}', '{$last_ip}', '{$last_time}', '{$token}')");
  248.             if ($update_ret) {
  249.                 $hours = $ret[0]['try_minutes'];
  250.                 $expire_time = date('Y-m-d H:i:s', strtotime("+{$hours} minute"));
  251.                 $this->_param['Expire_Time'] = $expire_time;
  252.                 $this->_param['Code'] = '200';
  253.                 $this->_param['Key'] = $softret[0]['jmkey'];
  254.                 $this->_param['Msg'] = '试用成功!还可以试用' . ($ret[0]['try_count'] - 1) . '次';
  255.                 $this->_param['Token'] = $token;
  256.                 $this->_param['Time'] = $this->_jsonArr->Time;
  257.                 $this->secretReturn($this->_param);
  258.             }
  259.             exit;
  260.         }
  261.         $remainder_count = $ret[0]['try_count'] - $trialret[0]['has_try_count'];
  262.         if ($remainder_count > 0) {
  263.             $has_try_count = $trialret[0]['has_try_count'] + 1;
  264.             $update_ret = $trialsql->execute("UPDATE cloud_trial SET has_try_count = '{$has_try_count}', last_ip = '{$last_ip}', last_time = '{$last_time}', token = '{$token}' WHERE computer_uid = '{$computer_uid}' AND software_id = '{$softid}'");
  265.             if ($update_ret) {
  266.                 $hours = $ret[0]['try_minutes'];
  267.                 $expire_time = date('Y-m-d H:i:s', strtotime("+{$hours} minute"));
  268.                 $this->_param['Expire_Time'] = $expire_time;
  269.                 $this->_param['Code'] = '200';
  270.                 $this->_param['Key'] = $softret[0]['jmkey'];
  271.                 $this->_param['Msg'] = '试用成功!还可以试用' . ($remainder_count - 1) . '次';
  272.                 $this->_param['Token'] = $token;
  273.                 $this->_param['Time'] = $this->_jsonArr->Time;
  274.                 $this->secretReturn($this->_param);
  275.             }
  276.         } else {
  277.             $this->returnJson('404', '试用失败,试用次数已用完!');
  278.         }
  279.     }
  280.     //初始化
  281.     private function init()
  282.     {
  283.         $softid = $this->_jsonArr->Appid;
  284.         $mysql = M('Software');
  285.         $softret = $mysql->query("SELECT * FROM cloud_software WHERE id = {$softid}");
  286.         if (!$softret) {
  287.             $this->returnJson('404', '验证不通过,Appid不正确,没有该软件! 商户审核请联系系统管理员');
  288.         }
  289.         if ($softret[0]['frozen'] == '1') {
  290.             $this->returnJson('404', '验证不通过,软件被禁用!');
  291.         }
  292.         $this->_param['AuthMode'] = $softret[0]['authmode'];
  293.         if($softret[0]['authmode'] == '0') {
  294.         //网络验证模式
  295.         if ($this->_jsonArr->Ver != '' && $this->_jsonArr->Ver != $softret[0]['version']) {
  296.             $this->_param['Code'] = '300';
  297.             $this->_param['Hint'] = $softret[0]['hint'];
  298.             $this->_param['Edit'] = $softret[0]['edit'];
  299.             //公告
  300.             $this->_param['Msg'] = $softret[0]['gg'];
  301.             //标题
  302.             $this->_param['Title'] = $softret[0]['title'];
  303.             //模式
  304.             $this->_param['Model'] = $softret[0]['model'];
  305.             //更新方式
  306.             if ($softret[0]['updatemode'] == '1') {
  307.                 $this->_param['UpdateMode'] = true;
  308.             } else {
  309.                 $this->_param['UpdateMode'] = false;
  310.             }
  311.             //更新提示内容
  312.             $this->_param['UpdataMsg'] = $softret[0]['updatamsg'];
  313.             //更新地址
  314.             $this->_param['Url'] = $softret[0]['update_url'];
  315.             //是否开启试用
  316.             if ($softret[0]['sy'] == 1) {
  317.                 $this->_param['Sy'] = false;
  318.             } else {
  319.                 $this->_param['Sy'] = true;
  320.             }
  321.             //是否开启发卡网
  322.             if ($softret[0]['web'] == 1) {
  323.                 $this->_param['Web'] = false;
  324.             } else {
  325.                 $this->_param['Web'] = true;
  326.                 //发卡网
  327.                 $this->_param['WebUrl'] = $softret[0]['weburl'];
  328.             }
  329.             //请求时间戳
  330.             $this->_param['Time'] = $this->_jsonArr->Time;
  331.             $this->secretReturn($this->_param);
  332.         } else {
  333.             //返回公告 标题 试用 发卡网
  334.             $this->_param['Code'] = '200';
  335.             $this->_param['Hint'] = $softret[0]['hint'];
  336.             $this->_param['Edit'] = $softret[0]['edit'];
  337.             //公告
  338.             $this->_param['Msg'] = $softret[0]['gg'];
  339.             //标题
  340.             $this->_param['Title'] = $softret[0]['title'];
  341.             //模式
  342.             $this->_param['Model'] = $softret[0]['model'];
  343.             //是否开启试用
  344.             if ($softret[0]['sy'] == 1) {
  345.                 $this->_param['Sy'] = false;
  346.             } else {
  347.                 $this->_param['Sy'] = true;
  348.             }
  349.             //是否开启发卡网
  350.             if ($softret[0]['web'] == 1) {
  351.                 $this->_param['Web'] = false;
  352.             } else {
  353.                 $this->_param['Web'] = true;
  354.                 //发卡网
  355.                 $this->_param['WebUrl'] = $softret[0]['weburl'];
  356.             }
  357.             //请求时间戳
  358.             $this->_param['Time'] = $this->_jsonArr->Time;
  359.             $this->secretReturn($this->_param);
  360.         }
  361.         }else if($softret[0]['authmode'] == '1') {
  362.         //引流加群模式
  363.             $this->_param['Code'] = '200';
  364.             $this->_param['Msg'] = $softret[0]['msg'];
  365.             $this->_param['Title'] = $softret[0]['title'];
  366.             $this->_param['Count'] = $softret[0]['count'];
  367.             $this->_param['Color'] = $softret[0]['color'];
  368.             $this->_param['StartTime'] = $softret[0]['starttime'];
  369.             $this->_param['QQ'] = $softret[0]['qq'];
  370.             $this->_param['GroupKey'] = $softret[0]['groupkey'];
  371.             if ($softret[0]['groupon'] == 1) {
  372.                 $this->_param['GroupOn'] = false;
  373.             } else {
  374.                 $this->_param['GroupOn'] = true;
  375.             }
  376.             if ($softret[0]['qqon'] == 1) {
  377.                 $this->_param['QQOn'] = false;
  378.             } else {
  379.                 $this->_param['QQOn'] = true;
  380.             }
  381.             $this->_param['Time'] = $this->_jsonArr->Time;
  382.             $this->secretReturn($this->_param);
  383.         }else if($softret[0]['authmode'] == '2') {
  384.         //易游单码验证模式
  385.             $this->_param['Code'] = '200';
  386.             $this->_param['LoginUrl'] = $softret[0]['loginurl'];
  387.             $this->_param['Title'] = $softret[0]['title'];
  388.             $this->_param['DqTimeUrl'] = $softret[0]['dqtimeurl'];
  389.             $this->_param['Color'] = $softret[0]['color'];
  390.             $this->_param['GgUrl'] = $softret[0]['ggurl'];
  391.             $this->_param['Ver'] = $softret[0]['yiyouver'];
  392.             $this->_param['Time'] = $this->_jsonArr->Time;
  393.             $this->secretReturn($this->_param);
  394.         }else if($softret[0]['authmode'] == '3') {
  395.         //Ck验证模式
  396.             $this->_param['Code'] = '200';
  397.             $this->_param['Hint'] = $softret[0]['hint'];
  398.             $this->_param['Edit'] = $softret[0]['edit'];
  399.             $this->_param['Msg'] = $softret[0]['gg'];
  400.             $this->_param['Title'] = $softret[0]['title'];
  401.            $this->_param['Url'] = $softret[0]['update_url'];
  402.             if ($softret[0]['sy'] == 1) {
  403.                 $this->_param['Sy'] = false;
  404.             } else {
  405.                 $this->_param['Sy'] = true;
  406.             }
  407.             if ($softret[0]['web'] == 1) {
  408.                 $this->_param['Web'] = false;
  409.             } else {
  410.                 $this->_param['Web'] = true;
  411.                 $this->_param['WebUrl'] = $softret[0]['weburl'];
  412.             }
  413.             $this->_param['Time'] = $this->_jsonArr->Time;
  414.             $this->secretReturn($this->_param);
  415.         }else if($softret[0]['authmode'] == '4') {
  416.         //Piling验证模式
  417.             $this->_param['Code'] = '200';
  418.             $this->_param['Hint'] = $softret[0]['hint'];
  419.             $this->_param['Edit'] = $softret[0]['edit'];
  420.             $this->_param['Msg'] = $softret[0]['gg'];
  421.             $this->_param['Title'] = $softret[0]['title'];
  422.            $this->_param['Url'] = $softret[0]['update_url'];
  423.             if ($softret[0]['sy'] == 1) {
  424.                 $this->_param['Sy'] = false;
  425.             } else {
  426.                 $this->_param['Sy'] = true;
  427.             }
  428.             if ($softret[0]['web'] == 1) {
  429.                 $this->_param['Web'] = false;
  430.             } else {
  431.                 $this->_param['Web'] = true;
  432.                 $this->_param['WebUrl'] = $softret[0]['weburl'];
  433.             }
  434.             $this->_param['Time'] = $this->_jsonArr->Time;
  435.             $this->secretReturn($this->_param);
  436.         }
  437.     }
  438.     // 注册:登录注册码修改数据库信息
  439.     private function login()
  440.     {
  441.         $this->isComputerIdValid();
  442.         $softret = $this->isSoftwareFrozen();
  443.         $ret = $this->isCodeValid();
  444.         if ($ret[0]['computer_uid'] != '') {
  445.             // 只有绑机单开模式才需要判断机器码相不相同
  446.             if ($softret[0]['bindmode'] == '0') {
  447.                 if ($ret[0]['computer_uid'] != $this->_jsonArr->Mac) {
  448.                     $this->returnJson('404', '登录失败,该注册码已绑定其他设备!');
  449.                 }
  450.             }
  451.         }
  452.         // 判断注册码和软件编号是否对应
  453.         if ($ret[0]['software_id'] != $this->_jsonArr->Appid) {
  454.             $this->returnJson('404', '登录失败,注册码不属于该软件!');
  455.         }
  456.         // 修改注册码的到期时间、机器码、登录时间、登录ip、登录次数、在线
  457.         $hours = $ret[0]['all_minutes'] / 60;
  458.         $expire_time = $ret[0]['expire_time'];
  459.         $computer_uid = $this->_jsonArr->Mac;
  460.         $last_time = date('Y-m-d H:i:s', time());
  461.         $last_ip = HJCTool::getRealIP();
  462.         $use_count = $ret[0]['use_count'] + 1;
  463.         // 绑机单开:机器码+注册码+请求时间戳
  464.         // 绑机多开:机器码+注册码
  465.         // 不绑机多开:注册码
  466.         switch ($softret[0]['bindmode']) {
  467.             case '0':
  468.                 $token = substr(md5($computer_uid . $this->_jsonArr->Card . time()), 0, 5);
  469.                 break;
  470.             case '1':
  471.                 $token = substr(md5($computer_uid . $this->_jsonArr->Card), 0, 5);
  472.                 break;
  473.             case '2':
  474.                 $token = substr(md5($this->_jsonArr->Card), 0, 5);
  475.                 break;
  476.         }
  477.         $update_ret;
  478.         $mysql = M('Software');
  479.         $code = $this->_jsonArr->Card;
  480.         if ($ret[0]['beginuse_time'] == '') {
  481.             $beginuse_time = date('Y-m-d H:i:s', time());
  482.             $expire_time = date('Y-m-d H:i:s', strtotime("+{$hours} hour"));
  483.             $update_ret = $mysql->execute("UPDATE cloud_regcode SET beginuse_time = '{$beginuse_time}', expire_time = '{$expire_time}', computer_uid = '{$computer_uid}', last_time = '{$last_time}', last_ip = '{$last_ip}', use_count = 1, isonline = 1, token = '{$token}' WHERE code = '{$code}'");
  484.         } else {
  485.             $update_ret = $mysql->execute("UPDATE cloud_regcode SET computer_uid = '{$computer_uid}', last_time = '{$last_time}', last_ip = '{$last_ip}', use_count = '{$use_count}', isonline = 1, token = '{$token}' WHERE code = '{$code}'");
  486.         }
  487.         if (!$update_ret) {
  488.             $this->returnJson('404', '登录异常!');
  489.         }
  490.         $this->_param['Code'] = '200';
  491.         $this->_param['Msg'] = '校验成功';
  492.         $this->_param['Token'] = $token;
  493.         $this->_param['Key'] = $softret[0]['jmkey'];
  494.         $this->_param['Expire_Time'] = $expire_time;
  495.         $this->_param['Time'] = $this->_jsonArr->Time;
  496.         $this->secretReturn($this->_param);
  497.     }
  498.     // 下线
  499.     private function offline()
  500.     {
  501.         $mysql = M('Regcode');
  502.         $code = $this->_jsonArr->Card;
  503.         $mysql->execute("UPDATE cloud_regcode SET isonline = 0 WHERE code = '{$code}'");
  504.     }
  505.     //检测参数
  506.     private function beforeHandle()
  507.     {
  508.         if (!isset($_POST['data'])) {
  509.             $this->returnJson('404', '非法参数!');
  510.         }
  511.         //decrypt
  512.         $data = $_POST['data'];
  513.         $des = \DES::decrypt($this->key, base64_decode($data));
  514.         $this->_jsonArr = json_decode($des);
  515.     }
  516.     //检测机器码
  517.     private function isComputerIdValid()
  518.     {
  519.         if ($this->_jsonArr->Mac == '') {
  520.             $this->returnJson('404', '验证不通过,机器码为空!');
  521.         }
  522.     }
  523.     // 软件是否禁用
  524.     private function isSoftwareFrozen()
  525.     {
  526.         // 软件是否禁用
  527.         $softid = $this->_jsonArr->Appid;
  528.         $mysql = M('Software');
  529.         $ret = $mysql->query("SELECT * FROM cloud_software WHERE id = {$softid}");
  530.         // 软件没找到
  531.         if (!$ret) {
  532.             $this->offline();
  533.             $this->returnJson('404', '验证不通过,Appid不正确,没有该软件! 商户审核请联系系统管理员');
  534.         }
  535.         if ($ret[0]['frozen'] == '1') {
  536.             $this->offline();
  537.             $this->returnJson('404', '验证不通过,软件被禁用!');
  538.         }
  539.         return $ret;
  540.     }
  541.     // 注册码是否可用
  542.     private function isCodeValid()
  543.     {
  544.         $code = $this->_jsonArr->Card;
  545.         if ($code == '') {
  546.             $this->returnJson('404', '注册码不能为空!');
  547.         }
  548.         $mysql = M('Regcode');
  549.         $ret = $mysql->query("SELECT * FROM cloud_regcode WHERE code = '{$code}'");
  550.         // 注册码没找到
  551.         if (!$ret) {
  552.             $this->returnJson('404', '注册码不存在!');
  553.         }
  554.         // 注册码过期
  555.         if ($ret[0]['overdue'] == 1) {
  556.             $this->offline();
  557.             $this->returnJson('404', '注册码已过期!');
  558.         }
  559.         if ($ret[0]['expire_time']) {
  560.             if (strtotime(date('Y-m-d H:i:s', time())) - strtotime($ret[0]['expire_time']) > 0) {
  561.                 $mysql->execute("UPDATE cloud_regcode SET overdue = 1 WHERE code = '{$code}'");
  562.                 $this->offline();
  563.                 $this->returnJson('404', '注册码已过期!');
  564.             }
  565.         }
  566.         // 注册码冻结
  567.         if ($ret[0]['frozen'] == 1) {
  568.             $this->offline();
  569.             $this->returnJson('404', '注册码被冻结!');
  570.         }
  571.         return $ret;
  572.     }
  573.     //机器码取卡密
  574.     private function getcard()
  575.     {
  576.         $code = $this->_jsonArr->Mac;
  577.         if ($code == '') {
  578.             $this->returnJson('404', '机器码不能为空!');
  579.         }
  580.         $mysql = M('Regcode');
  581.         $ret = $mysql->query("SELECT * FROM cloud_regcode WHERE computer_uid = '{$code}'");
  582.         // 机器码没找到
  583.         if (!$ret) {
  584.             $this->returnJson('404', '机器码不存在!');
  585.         }
  586.         $this->_param['Code'] = '200';
  587.         $this->_param['Msg'] = $ret[0]['code'];
  588.         $this->_param['Time'] = $this->_jsonArr->Time;
  589.         $this->secretReturn($this->_param);
  590.     }
  591.     // 保存上次的error编号并返回json
  592.     private function returnJson($error, $msg)
  593.     {
  594.         $this->_param['Code'] = $error;
  595.         $this->_param['Msg'] = $msg;
  596.         $this->secretReturn($this->_param);
  597.         exit;
  598.     }
  599.     // 返回json
  600.     private function secretReturn($data)
  601.     {
  602.         $data['Time'] = $this->_jsonArr->Time;
  603.         $data['Anti'] = 'N2MzMGJiMGE3ZjJiMmEwMTkzYmMzMDA1N2I0NzY0NzU=';
  604.         $data['AntiMsg'] = "安全信息校验失败\r\n请不要二改本软件! \r\n云科技网络验证提供技术支持 \r\nhttp://www.baidu.com/\r\n";
  605.         $anti = array();
  606.         $anti[0] = ["Anti"=>"M2E1ZDQ2NTY0YjFlM2Y0MGY3MDEyYWZjZDJlMTdhNmY="];
  607.         $anti[1] = ["Anti"=>"NmRmOWIxMDQzMDAzZjI2NTk4MGEyMTk1MDZmNTViZmY="];
  608.         $anti[2] = ["Anti"=>"N2M0NjY5YWQwNDQ0NmQwMTU4MjYzMWY1MjhmNTY4NQ=="];
  609.         $anti[3] = ["Anti"=>""];
  610.         $data['AntiList'] = $anti;
  611.         header('Content-Type:application/json; charset=utf-8');
  612.         $des = \DES::encrypt($this->key, json_encode($data));
  613.         $out = base64_encode($des);
  614.         echo $out;
  615.     }
  616. }
复制代码


附件: 您需要 登录 才可以下载或查看,没有账号?立即注册

最佳答案

查看完整内容

你这表情大鼻孔挺大
回复

使用道具 举报

20

主题

4473

帖子

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
513
好评
25
信誉
100

MT论坛最佳新人考神MT论坛活跃会员

发表于 2022-4-9 23:13:25 来自手机  | 显示全部楼层  来自 广东佛山
你这表情大鼻孔挺大
回复

使用道具 举报

29

主题

2099

帖子

5548

积分

硕士生

Rank: 6Rank: 6

金币
1592
好评
11
信誉
121

MT论坛新人考神MT论坛最佳新人MT论坛帅哥MT论坛活跃会员

发表于 2022-4-10 06:52:02 来自手机  | 显示全部楼层  来自 福建厦门
直接发原包出来
回复

使用道具 举报

20

主题

4473

帖子

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
513
好评
25
信誉
100

MT论坛最佳新人考神MT论坛活跃会员

发表于 2022-4-10 13:04:38 来自手机  | 显示全部楼层  来自 广东佛山
后面三个base64,是不是原来签名的mds sha1 sha256
回复

使用道具 举报

3

主题

498

帖子

1396

积分

高中生

Rank: 4

金币
464
好评
0
信誉
100

考神MT论坛帅哥MT论坛新人MT论坛最佳新人

发表于 2022-4-10 21:32:24 | 显示全部楼层  来自 山东济宁
北辰没有林安 发表于 2022-4-10 13:04
后面三个base64,是不是原来签名的mds sha1 sha256

加密了 看不出来
回复

使用道具 举报

3

主题

498

帖子

1396

积分

高中生

Rank: 4

金币
464
好评
0
信誉
100

考神MT论坛帅哥MT论坛新人MT论坛最佳新人

发表于 2022-4-10 22:06:46 | 显示全部楼层  来自 山东济宁

谢谢大佬指点,   这关过了    又 无限提示  是否打开读取手机信息权限   看了看 软件根本就没这项
回复

使用道具 举报

3

主题

498

帖子

1396

积分

高中生

Rank: 4

金币
464
好评
0
信誉
100

考神MT论坛帅哥MT论坛新人MT论坛最佳新人

发表于 2022-4-11 00:20:17 | 显示全部楼层  来自 山东济宁
本帖最后由 hb8787 于 2022-4-11 00:21 编辑

这个表情 那是眼睛好不好,竟然把眉毛当眼睛

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

20

主题

4473

帖子

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
513
好评
25
信誉
100

MT论坛最佳新人考神MT论坛活跃会员

发表于 2022-4-11 07:35:51 来自手机  | 显示全部楼层  来自 广东佛山
hb8787 发表于 2022-4-11 00:20
这个表情 那是眼睛好不好,竟然把眉毛当眼睛

这个弹窗可以去掉。功能估计没影响
回复

使用道具 举报

52

主题

1102

帖子

2477

积分

大学生

Rank: 5Rank: 5

金币
565
好评
0
信誉
100
发表于 2022-4-11 08:56:20 来自手机  | 显示全部楼层  来自 山东菏泽
学习学习
回复

使用道具 举报

3

主题

498

帖子

1396

积分

高中生

Rank: 4

金币
464
好评
0
信誉
100

考神MT论坛帅哥MT论坛新人MT论坛最佳新人

发表于 2022-4-11 09:06:49 | 显示全部楼层  来自 山东济宁
北辰没有林安 发表于 2022-4-11 07:35
这个弹窗可以去掉。功能估计没影响

主要搞不清 是要获取 短信权限还是啥权限,  
回复

使用道具 举报

3

主题

498

帖子

1396

积分

高中生

Rank: 4

金币
464
好评
0
信誉
100

考神MT论坛帅哥MT论坛新人MT论坛最佳新人

发表于 2022-4-11 09:19:01 | 显示全部楼层  来自 山东济宁
北辰没有林安 发表于 2022-4-11 07:35
这个弹窗可以去掉。功能估计没影响

调用注释掉后  窗口时没了 点确定没反应了
回复

使用道具 举报

3

主题

498

帖子

1396

积分

高中生

Rank: 4

金币
464
好评
0
信誉
100

考神MT论坛帅哥MT论坛新人MT论坛最佳新人

发表于 2022-4-11 15:10:52 | 显示全部楼层  来自 山东济宁
貌似不支持安卓10以上的原因,  罢了,不捣鼓了
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表