标签: 解密

  • 微擎加密goto完全解密系统php源码

    微擎加密goto完全解密系统php源码

    很多php源码会进行goto加密,比如大多的微擎应用。对于已加密的应用很多人是不敢直接使用的,因为不知道里面有些什么内容。

    今天,无错源码为您整理分享一套goto解密的php源码

    直接上传服务器就可以使用的

    微擎加密goto完全解密系统php源码-百谷资源网

    使用方法:

    微擎加密goto完全解密系统php源码-百谷资源网

    1.PHP-Parser必须要在php7.0以上运行,所以php版本要在7.0或以上

    2.需要解密的文件放在decodeFile文件夹里面,支持多个文件,但最好不要太多,耗内存,如果php.ini已经设置内存在1024,还遇到单个文件内存溢出的话,问题可能就出在文件,搞不定可以找下店家看看。

    3.解密后的源代码在complete文件中。

    4.直接运行index.php就会解密。

    5.批量解密,然后又一次性替换全部项目文件,如果运行遇到问题的,建议检查看一眼解密后的文件(或者分批替换查找)。看是否有个别特殊文件是字符串混淆了的。

    微擎加密goto完全解密系统php源码-百谷资源网
  • PHP破解Goto与十六进制混乱加密

    PHP破解Goto与十六进制混乱加密

    这是一个使用PHP破解GOTO加密和十六进制加密的单文件破解文件。

    我一个破解实例。

    以下是goto加密过的文件

    <?php
    goto liRQD; liRQD: global $_W, $_GPC; goto PoUl_; IYTCt: goto EOaxM; goto aIEjt; rQ0Zm: $url = $_W["\163\151\x74\145\162\x6f\157\164"] . "\x2f\x61\160\x70\57\151\x6e\x64\x65\x78\x2e\160\x68\160\x3f\151\75" . $_W["\165\156\x69\x61\143\151\144"] . "\x26\143\75\x65\156\164\x72\x79\46\144\x6f\x3d\154\x6f\x67\x69\156\x26\155\x3d" . $this->module["\156\x61\x6d\x65"]; goto yLa2S; hzbEh: $_share["\x69\155\x67\x55\162\154"] = tomedia($_share["\x69\x6d\147\x55\162\x6c"]); goto xXs61; LHyQI: Header("\114\x6f\143\141\164\x69\x6f\x6e\72\40{$url}"); goto HUmDI; zRuPl: $url = $_W["\x73\x69\164\x65\x72\x6f\x6f\x74"] . "\x2f\141\160\160\x2f\x69\x6e\x64\x65\x78\56\160\x68\x70\x3f\151\75" . $_W["\x75\156\151\x61\143\x69\144"] . "\46\x63\x3d\145\x6e\164\x72\171\x26\144\x6f\x3d\154\157\147\x69\x6e\x62\141\156\144\46\155\75" . $this->module["\x6e\141\x6d\x65"]; goto KI140; cEK0T: $elevator = 0; goto NEDiu; TizKU: $member = pdo_fetch("\163\x65\154\x65\143\x74\x20\x2a\40\x66\x72\157\155\40" . tablename(GARCIA_PREFIX . "\155\x65\155\142\145\x72\163") . "\40\x77\150\x65\162\x65\40\x77\x65\151\144\x20\75\40\72\167\x65\x69\144\40\x61\156\x64\40\157\160\x65\156\x69\144\x20\75\40\x3a\157\160\145\x6e\x69\x64", array("\x3a\x77\x65\x69\x64" => $_W["\x75\x6e\151\141\143\151\x64"], "\72\x6f\x70\145\x6e\x69\x64" => $openid)); goto np_Om; lM4Zi: load()->func("\146\x69\154\145"); goto LeJZ0; tAzgC: if ($set["\x61\x75\144\151\164"] == 1) { goto XHnge; } goto Dg0iD; o6hdT: if (!empty($memberid)) { goto t8Gqz; } goto HTrdS; xoc7t: $data = array("\167\x65\x69\x64" => $_W["\x75\156\x69\141\143\x69\x64"], "\x74\151\x74\x6c\x65" => $_GPC["\x74\x69\164\154\145"], "\x70\162\x69\143\x65" => $_GPC["\160\162\151\143\145"], "\141\166\137\160\x72\x69\x63\x65" => $_GPC["\141\166\137\160\162\151\143\x65"], "\x68\157\165\163\x65\137\141\162\145\x61" => $_GPC["\x68\x6f\165\x73\x65\x5f\141\x72\x65\141"], "\x73\x68\x6f\160\163\x5f\x74\171\160\145" => $_GPC["\163\150\x6f\x70\x73\137\164\x79\160\145"], "\163\150\x6f\160\163\x5f\156\145\x61\162" => $_GPC["\x73\150\157\160\163\x5f\156\145\x61\x72"], "\x6f\x72\x69\x65\156\x74\141\164\x69\x6f\x6e" => $_GPC["\x6f\162\151\145\x6e\164\x61\164\151\x6f\x6e"], "\157\x77\156\x65\162\163\150\151\x70" => $_GPC["\x6f\x77\x6e\x65\x72\x73\x68\x69\x70"], "\145\x6c\x65\166\x61\164\x6f\162" => $_GPC["\145\x6c\145\x76\x61\x74\x6f\162"], "\x66\151\156\x69\163\x68" => $_GPC["\146\151\x6e\x69\163\150"], "\144\145\143\x61\144\x65" => $_GPC["\x64\x65\x63\x61\x64\145"], "\154\x61\x62\x65\154" => $_GPC["\x6c\141\142\145\154\x73\x74\x72"], "\154\156\x67" => explode("\54", $_GPC["\152\x77\144"])[1], "\154\x61\164" => explode("\x2c", $_GPC["\152\167\144"])[0], "\x61\144\x64\x72\145\163\163" => $_GPC["\141\x64\x64\162\x65\163\x73"], "\x68\x6f\165\x73\x65\137\x70\151\143" => $imgstr, "\x74\145\154\145\160\150\x6f\156\x65" => $_GPC["\164\x65\154\x65\160\x68\157\156\145"], "\143\157\156\x74\145\x6e\164" => $_GPC["\x63\x6f\156\164\145\156\x74"], "\141\144\x6d\151\x6e" => $nick, "\x75\151\x64" => $memberid, "\x61\x75\x64\151\164" => $audit, "\x73\x6f\x75\162\x63\x65" => 1, "\x75\x70\144\x74\x69\x6d\145" => TIMESTAMP); goto LRrx0; bT5LV: $_share = pdo_fetch("\x73\x65\154\145\x63\164\40\163\150\x61\x72\x65\x74\x69\x74\154\145\40\141\163\x20\x74\151\164\154\145\54\x73\150\141\162\145\144\x65\x73\x63\x20\x61\x73\x20\140\144\145\163\143\140\x2c\x73\x68\141\x72\x65\x70\151\143\40\141\x73\x20\x69\155\x67\x55\162\154\40\x66\x72\x6f\x6d\x20" . tablename(GARCIA_PREFIX . "\142\141\163\x69\x63\163\145\164\164\151\x6e\x67") . "\x20\x77\x68\x65\x72\x65\40\167\x65\151\x64\40\75\x20\x3a\167\x65\151\x64", array("\x3a\167\x65\x69\x64" => $_W["\165\156\x69\141\x63\151\x64"])); goto gfh62; qUx5j: goto jsYqC; goto mJGK7; OfvgE: $imgarr = $_FILES["\146\x69\x6c\x65"]["\156\x61\155\x65"]; goto inReK; mJGK7: s2J4I: goto oW4T7; Z044W: $url = $_W["\163\x69\164\145\x72\x6f\x6f\164"] . "\x2f\141\160\x70\x2f\x69\156\x64\145\x78\56\160\150\x70\x3f\151\x3d" . $_W["\x75\x6e\151\x61\x63\151\x64"] . "\x26\x63\75\145\x6e\x74\162\171\x26\144\x6f\75\x6c\157\147\151\156\x62\x61\156\144\x26\x6d\x3d" . $this->module["\x6e\141\x6d\x65"]; goto btxNW; xGlof: JnHOX: goto e7d7F; Nsmra: EOaxM: goto lM4Zi; JWUmR: $nick = $_COOKIE["\x6e\151\143\x6b\x6e\141\x6d\145"]; goto I6H9E; aA2pI: $set = pdo_fetch("\x73\145\154\145\143\164\40\52\40\146\x72\x6f\155\40" . tablename(GARCIA_PREFIX . "\163\x68\x6f\x70\163\150\157\x75\x73\x65\163") . "\x20\167\150\145\x72\145\x20\167\145\x69\x64\x20\75\x20\x3a\167\145\x69\144", array("\x3a\x77\145\151\144" => $_W["\165\x6e\x69\141\143\151\x64"])); goto IzFy1; VZu3t: FWBZd: goto qUx5j; WMQWM: exit; goto h3wpO; yLa2S: Header("\x4c\x6f\143\141\164\151\x6f\156\72\40{$url}"); goto ZxFrP; KI140: Header("\114\157\143\141\x74\x69\x6f\x6e\x3a\x20{$url}"); goto k84Xf; jQAcC: BEOfM: goto IqeOH; bVkSQ: Tfq6l: goto I8vCn; o27Do: pdo_insert(GARCIA_PREFIX . "\x73\x68\157\x70\x73\150\x6f\165\163\x65\163\x6c\151\163\164", $data); goto VhijL; inReK: if (empty($o_imgarr)) { goto jsBpk; } goto rQj0l; VjEgf: $memberid = $_COOKIE["\155\x65\155\142\145\x72\x69\x64"]; goto JWUmR; obyWA: $sql = "\x73\x65\x6c\145\x63\x74\40\x2a\x20\146\162\x6f\x6d\x20" . tablename(GARCIA_PREFIX . "\163\x68\x6f\160\163\150\x6f\x75\163\145\163\x6c\x69\163\x74") . "\40\167\x68\145\162\145\x20\167\x65\151\x64\x20\75\x20\72\167\x65\151\144\x20\141\156\x64\40\x69\x64\40\75\x20\x3a\151\x64"; goto EXQve; np_Om: setcookie("\x6e\151\143\153\x6e\141\155\x65", $member["\x6e\151\143\153\156\141\155\145"], time() + 7200 * 60); goto l1VO5; m0fZT: T89Ka: goto aA2pI; o9Od0: pdo_insert(GARCIA_PREFIX . "\142\x69\154\x6c\x72\145\x63\x6f\162\x64", $data); goto VZu3t; RAhAP: setcookie("\x6d\x6f\142\x69\x6c\145", $member["\155\157\142\x69\x6c\145"], time() + 7200 * 60); goto a0zQ9; QfP4i: if (empty($member)) { goto boUId; } goto en22k; Pg1NJ: $data = array("\x77\145\151\144" => $_W["\x75\x6e\151\141\x63\x69\144"], "\155\145\155\x62\x65\162\151\144" => $memberid, "\x6f\160\x65\156\151\x64" => $openid, "\143\x6f\x6d\155\x69\x73\x73\151\157\x6e" => $set["\x66\142\x5f\145\170\160\145\156\x64"], "\x61\144\144\x74\151\155\x65" => TIMESTAMP, "\x73\164\x61\164\165\163" => 1, "\x74\171\160\145" => 4, "\162\165\156\x6e\x69\156\x67" => 1, "\x63\x72\145\x64\x69\164" => 1, "\x73\157\165\x72\x63\145" => $id); goto o9Od0; gfh62: if (empty($_share)) { goto Tfq6l; } goto hzbEh; Y84wC: $elevator = 1; goto ua27T; btxNW: Header("\114\157\x63\141\x74\x69\x6f\156\72\x20{$url}"); goto WMQWM; en22k: if (!empty($member["\x6d\x6f\142\151\x6c\x65"])) { goto RsDVn; } goto Z044W; naRRz: $i = 0; goto XDeQL; LJITR: $url = $_W["\163\x69\164\x65\x72\x6f\157\164"] . "\57\141\x70\x70\57\x69\156\x64\145\x78\56\x70\x68\x70\x3f\151\x3d" . $_W["\165\156\x69\141\x63\x69\x64"] . "\46\x63\75\145\x6e\164\x72\171\46\144\157\75\163\150\x6f\160\163\137\150\x6f\165\x73\145\46\x6d\75" . $this->module["\x6e\141\155\145"]; goto LHyQI; hsfxr: t8Gqz: goto zRDnu; a0zQ9: setcookie("\155\x65\x6d\x62\x65\162\x75\x69\x64", $member["\x75\151\x64"], time() + 7200 * 60); goto VjEgf; qoXoX: W6odu: goto MuDAt; sk24l: boUId: goto rQ0Zm; zRDnu: $member = pdo_fetch("\163\x65\x6c\x65\x63\164\40\52\x20\x66\x72\157\155\x20" . tablename(GARCIA_PREFIX . "\155\145\155\x62\145\x72\163") . "\x20\x77\150\x65\162\145\40\167\x65\151\144\x20\x3d\x20\x3a\x77\x65\x69\x64\40\141\156\144\40\x69\144\x20\75\x20\x3a\151\144", array("\x3a\x77\x65\151\144" => $_W["\x75\x6e\151\141\143\x69\144"], "\x3a\x69\144" => $memberid)); goto QfP4i; ZxFrP: he7Ax: goto xGlof; MV1I_: Header("\x4c\157\x63\141\x74\x69\x6f\x6e\x3a\40{$url}"); goto LHMrE; I6H9E: if (!empty($member["\155\157\142\x69\154\145"])) { goto W6odu; } goto zRuPl; LHMrE: goto JnHOX; goto hsfxr; OLKuw: if ($_GPC["\145\x6c\x65\x76\x61\164\157\x72"] == "\346\x9c\x89") { goto OsEoL; } goto cEK0T; l1VO5: setcookie("\155\145\x6d\x62\x65\162\151\144", $member["\x69\144"], time() + 7200 * 60); goto RAhAP; AeL7C: $nick = $_COOKIE["\x6e\x69\x63\153\156\141\155\x65"]; goto o6hdT; JSKqY: $data["\141\144\144\164\x69\x6d\x65"] = TIMESTAMP; goto o27Do; JAxUY: e6rAj: goto jQAcC; P5U8i: $audit = 1; goto Nsmra; VhijL: $id = pdo_insertid(); goto liWs1; sXRpw: jsYqC: goto LJITR; k84Xf: exit; goto qoXoX; nnXyw: goto he7Ax; goto sk24l; liWs1: if (!($set["\x66\x62\137\x65\170\160\145\x6e\x64"] > 0)) { goto FWBZd; } goto clywp; Dg0iD: $audit = 0; goto IYTCt; NEDiu: goto AfHx0; goto R83fh; LRrx0: if (!empty($_GPC["\x68\151\x64\x69\144"])) { goto s2J4I; } goto JSKqY; PoUl_: if ($_W["\143\x6f\156\x74\x61\151\x6e\145\162"] == "\x77\x65\143\x68\x61\164") { goto z9pqT; } goto bi3Ev; HUmDI: nddfm: goto uivx0; xXs61: $_share["\154\151\x6e\153"] = $_W["\x73\151\x74\x65\165\162\x6c"]; goto bVkSQ; I8vCn: if (!($_GPC["\144\157\x70\157\163\164"] == "\142\x6a")) { goto T89Ka; } goto obyWA; lBV0z: $openid = $_W["\157\x70\145\156\151\144"]; goto TizKU; bi3Ev: $memberid = $_COOKIE["\x6d\145\155\x62\x65\x72\151\144"]; goto AeL7C; HTrdS: $url = $_W["\x73\151\x74\145\162\157\157\x74"] . "\57\x61\x70\x70\x2f\x69\156\144\145\x78\56\x70\x68\160\77\x69\75" . $_W["\165\156\x69\141\143\x69\144"] . "\46\143\75\145\156\164\x72\x79\x26\144\x6f\x3d\x6c\157\147\x69\156\46\155\x3d" . $this->module["\x6e\141\155\145"]; goto MV1I_; XDeQL: foreach ($imgarr as $img) { goto vQcZE; vQcZE: if (empty($_FILES["\146\151\154\x65"]["\156\141\x6d\x65"][$i])) { goto ugELA; } goto weYVh; UMZ5E: ugELA: goto pcgTW; PUkN6: $imgs = "\x69\155\141\x67\145\x73\x2f" . $this->module["\x6e\141\155\145"] . "\x2f" . $_W["\165\x6e\x69\141\143\151\x64"] . "\x5f" . $file . "\137" . $i . $format; goto hiRZU; uXO8v: $imgstr .= $imgs . "\46"; goto UMZ5E; pcgTW: $i++; goto kWSoH; PLJv6: if (!($_W["\x73\145\x74\164\x69\x6e\147"]["\x72\x65\155\x6f\164\145"]["\x74\x79\x70\145"] == 3)) { goto RltSW; } goto ofUTE; weYVh: $format = strrchr($img, "\56"); goto YTVLh; aGRCa: RltSW: goto uXO8v; ofUTE: $retimg = $this->qiniu_img($imgs); goto aGRCa; kWSoH: zeyok: goto QWsdx; hiRZU: $img = file_move($_FILES["\146\151\x6c\145"]["\164\155\x70\137\156\141\x6d\145"][$i], "\x2e\56\x2f\141\164\x74\x61\x63\x68\x6d\x65\x6e\x74\57" . $imgs); goto PLJv6; YTVLh: $file = date("\x59\155\144\150\x69\163", time()); goto PUkN6; QWsdx: } goto JAxUY; R83fh: OsEoL: goto Y84wC; Mh2zE: if (!is_array($imgarr)) { goto BEOfM; } goto naRRz; LeJZ0: $o_imgarr = $_GPC["\x68\151\x64\x5f\165\160\154"]; goto OfvgE; rQj0l: foreach ($o_imgarr as $o_img) { goto hCkcr; hCkcr: array_push($imgarr, $o_img); goto nHdt5; mFkC0: oCEF4: goto EovO1; nHdt5: $imgstr .= $o_img . "\x26"; goto mFkC0; EovO1: } goto uZ_tE; oW4T7: pdo_update(GARCIA_PREFIX . "\x73\150\157\160\x73\x68\x6f\x75\163\145\163\154\151\163\164", $data, array("\x69\x64" => $_GPC["\x68\151\x64\x69\144"])); goto sXRpw; aIEjt: XHnge: goto P5U8i; Qixhj: jsBpk: goto Mh2zE; uZ_tE: loqKs: goto Qixhj; e7d7F: goto QLrZK; goto WaMdT; EXQve: $item = pdo_fetch($sql, array("\x3a\x77\x65\151\144" => $_W["\165\x6e\x69\x61\x63\151\x64"], "\72\x69\144" => $_GPC["\x69\x64"])); goto m0fZT; MuDAt: QLrZK: goto bT5LV; ua27T: AfHx0: goto xoc7t; IzFy1: if (!($_GPC["\144\157\160\x6f\163\x74"] == "\141\144\144\157\153")) { goto nddfm; } goto tAzgC; clywp: pdo_update(GARCIA_PREFIX . "\x6d\x65\x6d\142\x65\x72\x73", "\143\162\145\x64\x69\164\61\75\143\162\145\144\151\164\61\x2d" . $set["\x66\x62\x5f\145\x78\x70\x65\x6e\x64"], array("\151\144" => $memberid)); goto Pg1NJ; h3wpO: RsDVn: goto nnXyw; WaMdT: z9pqT: goto lBV0z; IqeOH: $imgstr = rtrim($imgstr, "\x26"); goto OLKuw; uivx0: include $this->template("\162\145\x6c\145\141\163\145\x5f\x6d\x6d");

    使用本解密文件解密后得到的文件

    global $_W, $_GPC;
    if ($_W["container"] == "wechat") {
    $openid = $_W["openid"];
    $member = pdo_fetch("select * from " . tablename(GARCIA_PREFIX . "members") . " where weid = :weid and openid = :openid", array(":weid" => $_W["uniacid"], ":openid" => $openid));
    setcookie("nickname", $member["nickname"], time() + 7200 * 60);
    setcookie("memberid", $member["id"], time() + 7200 * 60);
    setcookie("mobile", $member["mobile"], time() + 7200 * 60);
    setcookie("memberuid", $member["uid"], time() + 7200 * 60);
    $memberid = $_COOKIE["memberid"];
    $nick = $_COOKIE["nickname"];
    if (!empty($member["mobile"])) {
    $_share = pdo_fetch("select sharetitle as title,sharedesc as `desc`,sharepic as imgUrl from " . tablename(GARCIA_PREFIX . "basicsetting") . " where weid = :weid", array(":weid" => $_W["uniacid"]));
    if (empty($_share)) {
    if (!($_GPC["dopost"] == "bj")) {
    $set = pdo_fetch("select * from " . tablename(GARCIA_PREFIX . "shopshouses") . " where weid = :weid", array(":weid" => $_W["uniacid"]));
    if (!($_GPC["dopost"] == "addok")) {
    include $this->template("release_mm");
    

    使用方式比较傻瓜,将待要破解的php文件改名为pp.php放在jm.php同目录下,然后浏览器访问jm.php,破解后的文件会保存在pp.php.02.txt中。

    本解密对GOTO加密的一些变种,比如xend类的也可以解密。

    最后声明:goto解密的种类较多,本文件不保证可以解密所有goto加密的文件,如遇不可解密的文件本站不会退款。

    如遇不能解密的文件,也可以联系站长进行收费人工解密。

  • 船说4.2破解开源完整版(简繁转移、长尾词插件、开源无加密)

    船说4.2破解开源完整版(简繁转移、长尾词插件、开源无加密)

    2023年9月15日 修复了长尾词页面打开404的Bug

    2023年8月9日 修复了长尾词插件不完整及后台操作的BUG

    2023年7月15日 长尾词插件不完整,功能不能正常使用

    使用环境: php5.6 – php8.x (开发环境php7.3)

    使用教程,

    1. 上传三个文件夹 ( www, shipsay, themes ) 到服务器
    2. 将网站的入口文件指向 /www/index.php (或运行目录用 /www), 宝塔用户请”关闭防跨站攻击”
    3. 建立数据库: ( 建子站,请跳过这步 ) 3.1、使用船说做源站:
      新建空白数据库
      导入 /sql/船说优化版.sql ( 或 /sql/船说分表版.sql )
      所有选择编码的地方都选择 utf8 3.2、使用杰奇做源站
      在杰奇数据库中导入 /sql/update.sql
    4. 配置服务器伪静态 ( 伪静态规则在最后 )
    5. 浏览器打开 http://你的域名/admin/ 进入后台, 完成最后配置.

    其他:

    • 免维护站点地图
      访问地址:
      百度: http://你的域名/sitemap/sitemap.xml
      神马: http://你的域名/sitemap/sm_sitemap.xml
      物理文件: /www/sitemap/, 可点开文件看使用说明.

    * 伪静态规则 **

    rewrite ^/sitemap/sitemap_([0-9]+).xml$  /sitemap/ss_sitemap.php?page=$1;
    rewrite ^/sitemap/sitemap.xml$  /sitemap/ss_sitemap.php;
    rewrite ^/sitemap/sm_sitemap_([0-9]+).xml$  /sitemap/sm_sitemap.php?page=$1;
    rewrite ^/sitemap/sm_sitemap.xml$  /sitemap/sm_sitemap.php;
    if (!-d $request_filename){
    	set $rule_0 1$rule_0;
    }
    if (!-f $request_filename){
    	set $rule_0 2$rule_0;
    }
    if ($rule_0 = "21"){
    	rewrite ^/(.*)$ /index.php last;
    }

    Apache 伪静态: 无需设置.

     IIS伪静态规则

    <?xml version="1.0" encoding="UTF-8"?>
    <rules>
        <rule name="ShipSay SiteMap for ss_page">
            <match url="^sitemap/sitemap_([0-9]+).xml$" ignoreCase="false" />
            <action type="Rewrite" url="sitemap/ss_sitemap.php?page={R:1}" appendQueryString="false" />
        </rule>
        <rule name="ShipSay SiteMap for ss_index">
            <match url="^sitemap/sitemap.xml$" ignoreCase="false" />
            <action type="Rewrite" url="sitemap/ss_sitemap.php" />
        </rule>
        <rule name="ShipSay SiteMap for sm_page">
            <match url="^sitemap/sm_sitemap_([0-9]+).xml$" ignoreCase="false" />
            <action type="Rewrite" url="sitemap/sm_sitemap.php?page={R:1}" appendQueryString="false" />
        </rule>
        <rule name="ShipSay SiteMap for sm_index">
            <match url="^sitemap/sm_sitemap.xml$" ignoreCase="false" />
            <action type="Rewrite" url="sitemap/sm_sitemap.php" />
        </rule>    
        <rule name="ShipSay CMS" stopProcessing="true">
            <match url="^(.*)$" ignoreCase="false" />
            <conditions logicalGrouping="MatchAll">
                <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
                <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
            </conditions>
            <action type="Rewrite" url="index.php" appendQueryString="true" />
        </rule>
    </rules>
    

    关于长尾词插件的说明,本4.2版本长尾词插件不完整。完整版请到此下载

    此版本已替换为完整版本,如需要单独长尾词插件,请到以下地址

    [b2_insert_post id=”5200″]

    gggg20230703092224
    wfg230703093136

    修复完如下图:

    111fffw120230703092506
    qqqw20230703092527

    船说CMS4.2全开源小说站群程序,外带长尾词插件最新版。程序功能就不多介绍了,比较强大威猛,这里直接上图。本程序船说cms 这个版本的功能已经非常完善,后期不需要在去增加额外的功能了,做小说的都知道,无非就是性能和资源的快慢,在此之前我们从2.4版本一直发布到目前的3.7版本,使用反馈非常好,因为代码全部开源,我们去除了一些作者自己加入的无用验证授权逻辑代码,这样减少了一些无用的请求,并且大家用了之后开源的才放心,否则网站做起来被人黑了太不值得了!

    现在这款我们同时把长尾词插件也加入了进来(具体效果看截图),原版本的船说cms长尾词插件也是加密的,我们也做了解密做到了整套程序完全性的开源!

    sssffd333fc00ec1d26798

    注意事项

    1、如果开启Redis需要数据库为外网,打开/shipsay/class/router.php 第164行将127.0.0.1改成你的数据库服务器IP(数据库记得开启外网访问/安全性可以指定访问 宝塔有这个功能)

    这个程序缓存可以使用的,是CENTOS 安装的redis版本兼容问题redis版本为6.0.6,改为5.0.8有用2、船说cms长尾词插件使用空白原因: 那是因为模板使用tpl_info.php或tpl_indexlist.php的不同,如果使用tpl_info.php那么就不需要改动。如果模板使用的是tpl_indexlist.php空白解决方法:shipsay/app/info_langtail.php将“require_once __THEME_DIR__.’/tpl_info.php’;”改为“require_once __THEME_DIR__.’/tpl_indexlist.php’;”

    功能增加:
    增加静态首页生成
    增加神马结构化站点地图
    增加TXT下载和小说推荐功能
    增加Gzip选项,通过压缩网页从而大幅提升访问速度. ( 注: 如服务器已开启Gzip, 则效果不明显. )
    增加搜索记录开关
    数据库增加 “持久连接” 选择
    路径增加小说拼音方式: 如 /book/cangyuantu.html

    源码优化:
    SEO 优化: 增加 Last-modified 返回
    对文本内容特殊符号 ( 如: & < > 等 ) 的优化处理
    数据库 “测试连接” 更准确

    船说CMS前台演示效果

    ssdfbb2-13552aef02517ed

    船说CMS后台功能演示效果

    111683798438-c27b4ac3820bc43
    221683798431-d1824301fd5b73b
    33683798435-c26671041ac050f
    441683798436-45acc9c93fbfe44
    551683798434-1c603e9c2804ead
    661683798433-22f9ba0c939bc23
    771683798437-059433452069fdf
    881683798448-5c70c6a4f42f745
    99683798450-ba856ba89478f04
    10101683798439-ec007b2f23f29bc
    11111683798449-f02d89376b03a69
    12121683798446-35c702c99a4c70d
    1313683798447-ec7fe6a3eac5398
  • JSJiaMi V6 解密工具

    JSJiaMi V6 解密工具

    解密效果

    源代码
    function cancelMacWithUserNameAndMac(userId, userMac, trid) {
    	var test = confirm("关闭无感认证后,只能在设备本机上再次开启!");
    	if (test) {
    		AuthInterFace.cancelMacWithUserNameAndMac(userId, userMac, function (data) {
    			if (data.result == 'success') {
    				//$("#"+trid).hide();
    				//$("#autoMacNumTip").html($("#autoMacNumTip").html()-1);
    				var userIndex = getQueryStringByName("userIndex");
    				AuthInterFace.freshOnlineUserInfo(userIndex, function (freshOnline) {
    					getTime = 1;
    					fillData();
    				});
    			} else {
    				alert(data.message);
    			}
    		});
    	}
    }
    加密后

    已省略全局解密函数

    为方便对比已进行格式化处理

    function cancelMacWithUserNameAndMac(_0x1437f8, _0x17c421, _0x18daca) {
    	var _0x18d784 = {
    		'OGRic': '4|2|6|8|0|5|7|3|9|1',
    		'AAvHe': function (_0x4a9629, _0x140a6c) {
    			return _0x4a9629(_0x140a6c);
    		},
    		'wIUwe': 'margin-left',
    		'TQJfu': '#loginFrameLogofood_hk_2',
    		'Ussjm': function (_0x3a631e, _0x5a538a) {
    			return _0x3a631e - _0x5a538a;
    		},
    		'mwhyn': function (_0x5c1515, _0x3e12d0) {
    			return _0x5c1515 * _0x3e12d0;
    		},
    		'eMmnc': '#hk_margin_left_1',
    		'pROLs': _0x64f0('9c5', 'DWlJ'),
    		'RtPyd': function (_0x1a2925, _0x3178e2) {
    			return _0x1a2925(_0x3178e2);
    		},
    		'ktmyn': _0x64f0('9c6', 'NMy2'),
    		'gxaAs': 'width',
    		'QzLeH': function (_0x52c760, _0x2740a1) {
    			return _0x52c760(_0x2740a1);
    		},
    		'MhTAi': _0x64f0('9c7', '*6xD'),
    		'FkPFD': '#leftId',
    		'izkEP': _0x64f0('9c8', 'a5h*'),
    		'qjdIA': function (_0x2af297, _0xb650bb) {
    			return _0x2af297 * _0xb650bb;
    		},
    		'feKqI': function (_0x1f7f78, _0x596751) {
    			return _0x1f7f78 === _0x596751;
    		},
    		'hmFcx': 'yhlbV',
    		'lNkRh': function (_0x16de55) {
    			return _0x16de55();
    		},
    		'mGvzI': _0x64f0('9c9', 'hSvn'),
    		'mjXUQ': function (_0x112f06, _0x404547) {
    			return _0x112f06 - _0x404547;
    		},
    		'dKWSL': function (_0x5dba1c, _0x2b83a9) {
    			return _0x5dba1c(_0x2b83a9);
    		},
    		'oOHzr': function (_0x3e2c53, _0x4c0c40) {
    			return _0x3e2c53 - _0x4c0c40;
    		},
    		'KnyVW': function (_0x1a0714, _0x336008) {
    			return _0x1a0714(_0x336008);
    		},
    		'oJrGK': function (_0x3f8456, _0x1ddba4) {
    			return _0x3f8456 / _0x1ddba4;
    		},
    		'hQFPI': function (_0xd930d9, _0x1db4bd) {
    			return _0xd930d9 - _0x1db4bd;
    		},
    		'EZHrV': function (_0x5ab773, _0x3893c7) {
    			return _0x5ab773(_0x3893c7);
    		},
    		'lMeUM': function (_0x34d463, _0x4d6b7b) {
    			return _0x34d463 - _0x4d6b7b;
    		},
    		'aycWe': function (_0x58ef0e, _0x3891ab) {
    			return _0x58ef0e - _0x3891ab;
    		},
    		'lKwci': _0x64f0('9ca', 'OJFQ'),
    		'ZkOVs': function (_0x4a6dbd, _0x4542cb) {
    			return _0x4a6dbd - _0x4542cb;
    		},
    		'zyJTu': function (_0x5e1b93, _0x446452) {
    			return _0x5e1b93 / _0x446452;
    		},
    		'vjWbs': function (_0x2575e0, _0x11c14c) {
    			return _0x2575e0 / _0x11c14c;
    		},
    		'NFCIT': _0x64f0('9cb', 'Zg5['),
    		'dsuhf': function (_0x89f937, _0x597b3f) {
    			return _0x89f937 + _0x597b3f;
    		},
    		'ncXTx': function (_0x12a7de, _0x22e70b) {
    			return _0x12a7de > _0x22e70b;
    		},
    		'lPPfO': function (_0x275710, _0x5a84db) {
    			return _0x275710(_0x5a84db);
    		},
    		'JBQXr': function (_0x287953, _0x123071, _0x2eab92) {
    			return _0x287953(_0x123071, _0x2eab92);
    		},
    		'AMUoZ': _0x64f0('9cc', 'NMy2'),
    		'OzLtF': _0x64f0('9cd', 'DWlJ'),
    		'TBrqo': 'userIndex',
    		'zaUUW': function (_0x43ad2d, _0x154b85) {
    			return _0x43ad2d !== _0x154b85;
    		},
    		'GJkAC': _0x64f0('9ce', 'gS57'),
    		'uJjdS': _0x64f0('9cf', 'y@FJ'),
    		'GKNWk': function (_0x446ff5, _0x613452) {
    			return _0x446ff5 !== _0x613452;
    		},
    		'PcETE': _0x64f0('9d0', 'tkAR')
    	};
    	var _0x3c08d6 = _0x18d784[_0x64f0('9d1', 'HmCh')](confirm, _0x18d784[_0x64f0('9d2', ')rYM')]);
    	if (_0x3c08d6) {
    		if (_0x18d784[_0x64f0('9d3', 'y@FJ')](_0x64f0('9d4', '7#T0'), _0x18d784['PcETE'])) {
    			var _0x2cfb1e = _0x18d784[_0x64f0('9d5', 'a5h*')][_0x64f0('9d6', 'z1V4')]('|'), _0x234a2d = 0x0;
    			while (!![]) {
    				switch (_0x2cfb1e[_0x234a2d++]) {
    					case'0':
    						_0x18d784[_0x64f0('9d7', 'fv0b')]($, _0x64f0('9d8', 'A4bS'))[_0x64f0('9d9', '*E$X')](_0x18d784['wIUwe'], $marginLeft - 0x64);
    						continue;
    					case'1':
    						$(_0x18d784[_0x64f0('9da', '7zoT')])[_0x64f0('871', 'G%jM')]('margin-left', _0x18d784['Ussjm'](0xc8, _0x18d784['mwhyn']($body, 0.1)));
    						continue;
    					case'2':
    						_0x18d784[_0x64f0('9db', 'TR]&')]($, _0x18d784['eMmnc'])['css'](_0x18d784['pROLs'], $marginLeft);
    						continue;
    					case'3':
    						_0x18d784[_0x64f0('9dc', 'JsoZ')]($, _0x18d784['ktmyn'])['css'](_0x18d784[_0x64f0('9dd', 'nO3k')], $width);
    						continue;
    					case'4':
    						if ($marginLeft < 0x6e) {
    							$marginLeft = 0x6e;
    						}
    						continue;
    					case'5':
    						_0x18d784[_0x64f0('9de', 'Zg5[')]($, _0x18d784['ktmyn'])['css'](_0x64f0('9df', 'xViR'), $marginLeft);
    						continue;
    					case'6':
    						_0x18d784[_0x64f0('9e0', 'xViR')]($, _0x18d784[_0x64f0('9e1', '8Vu)')])['css'](_0x18d784[_0x64f0('9e2', '(DaA')], $marginLeft);
    						continue;
    					case'7':
    						$(_0x18d784[_0x64f0('9e3', 't7O$')])['css'](_0x64f0('9e4', 'HmCh'), $width);
    						continue;
    					case'8':
    						$(_0x18d784[_0x64f0('9e5', '8Vu)')])[_0x64f0('289', 'hSvn')](_0x64f0('9e6', 'OJFQ'), $marginLeft - 0x6e);
    						continue;
    					case'9':
    						$(_0x18d784['izkEP'])[_0x64f0('26f', 'fv0b')](_0x18d784['wIUwe'], 0xc8 - _0x18d784[_0x64f0('9e7', 'kUYz')]($body, 0.1));
    						continue;
    				}
    				break;
    			}
    		} else {
    			AuthInterFace[_0x64f0('9e8', 'j510')](_0x1437f8, _0x17c421, function (_0x2380dc) {
    				var _0x3d57b1 = {
    					'MfrKs': function (_0x423e2b, _0x595c7e) {
    						return _0x18d784[_0x64f0('9e9', 'hY8M')](_0x423e2b, _0x595c7e);
    					},
    					'riefY': _0x18d784[_0x64f0('9ea', '8Vu)')],
    					'XnjaP': function (_0x154812, _0x17b089) {
    						return _0x18d784[_0x64f0('9eb', '4Ats')](_0x154812, _0x17b089);
    					},
    					'BtknR': function (_0x4afb84, _0x199c9f) {
    						return _0x18d784[_0x64f0('9ec', 'DWlJ')](_0x4afb84, _0x199c9f);
    					},
    					'qyGnJ': function (_0x489a77, _0x12aaa3) {
    						return _0x18d784[_0x64f0('9ed', 'Bk0K')](_0x489a77, _0x12aaa3);
    					},
    					'AFDMo': function (_0x4abfba, _0x219d81) {
    						return _0x18d784[_0x64f0('9eb', '4Ats')](_0x4abfba, _0x219d81);
    					},
    					'mPxnb': function (_0x3693d8, _0x598331) {
    						return _0x18d784['lPPfO'](_0x3693d8, _0x598331);
    					},
    					'eoqvl': function (_0x24b619, _0xfe706) {
    						return _0x18d784[_0x64f0('9ee', 'NMy2')](_0x24b619, _0xfe706);
    					},
    					'YICcj': '</div><div\x20class=\x27secondLine\x27>小时</div>',
    					'sUjOF': function (_0x1661d8, _0x395e79, _0x34d552) {
    						return _0x18d784['JBQXr'](_0x1661d8, _0x395e79, _0x34d552);
    					}
    				};
    				if (_0x18d784[_0x64f0('9ef', 'JsoZ')](_0x18d784['AMUoZ'], _0x18d784['OzLtF'])) {
    					limit = limit[_0x64f0('9f0', 'FBUA')](0x0, limit[_0x64f0('9f1', 'EeGR')]('B'));
    					limit = _0x3d57b1[_0x64f0('9f2', 'kUYz')](limit, 0x400) + 'KB';
    				} else {
    					if (_0x2380dc['result'] == _0x64f0('9f3', 'hSvn')) {
    						var _0x36923d = getQueryStringByName(_0x18d784[_0x64f0('9f4', 'fv0b')]);
    						AuthInterFace[_0x64f0('9f5', '3Pmi')](_0x36923d, function (_0x5c66cc) {
    							if (_0x18d784[_0x64f0('9f6', '(DaA')](_0x18d784['hmFcx'], 'IAutA')) {
    								var _0x130c29 = _0x3d57b1['riefY']['split']('|'), _0x5d6347 = 0x0;
    								while (!![]) {
    									switch (_0x130c29[_0x5d6347++]) {
    										case'0':
    											var _0x2d9053 = _0x3d57b1[_0x64f0('9f7', '3Pmi')](theTime2, '');
    											continue;
    										case'1':
    											if (_0x3d57b1['BtknR'](_0x2d9053[_0x64f0('9f8', 'Q((!')]('.'), -0x1)) {
    												_0x2d9053 = _0x2d9053['substring'](0x0, _0x2d9053['indexOf']('.'));
    											}
    											continue;
    										case'2':
    											if (_0x3d57b1[_0x64f0('9f9', 'j510')](_0x542dd2, 0x0)) {
    												_0x2d9053 = _0x3d57b1[_0x64f0('9fa', '7zoT')](_0x3d57b1[_0x64f0('9fb', '8Vu)')](parseInt, _0x2d9053), _0x542dd2);
    											}
    											continue;
    										case'3':
    											result = _0x3d57b1['AFDMo'](_0x3d57b1[_0x64f0('9fc', '7#T0')]('<div\x20class=\x27firstLine\x27>', _0x2d9053), _0x3d57b1['YICcj']);
    											continue;
    										case'4':
    											var _0x542dd2 = _0x3d57b1[_0x64f0('9fd', 'kUYz')](fomatFloat, _0x3d57b1[_0x64f0('9fe', '(DaA')](_0x3d57b1[_0x64f0('9ff', 'Lclw')](parseInt, theTime1), 0x3c), 0x1);
    											continue;
    									}
    									break;
    								}
    							} else {
    								getTime = 0x1;
    								_0x18d784[_0x64f0('a00', 'xViR')](fillData);
    							}
    						});
    					} else {
    						if (_0x18d784[_0x64f0('a01', 'DWlJ')](_0x18d784[_0x64f0('a02', 'hSvn')], _0x18d784[_0x64f0('a03', '*6xD')])) {
    							var _0x529cc9 = _0x18d784[_0x64f0('a04', 'A4bS')][_0x64f0('a05', 'EeGR')]('|'),
    								_0x5cbedb = 0x0;
    							while (!![]) {
    								switch (_0x529cc9[_0x5cbedb++]) {
    									case'0':
    										_0x18d784[_0x64f0('a06', 'wpSi')]($, _0x64f0('a07', 'tUE5'))[_0x64f0('894', 'nO3k')](_0x18d784[_0x64f0('a08', 'Lclw')], _0x18d784[_0x64f0('a09', 'F[EM')](_0x18d784[_0x64f0('a0a', 'F[EM')]($body, 0x384) / 0x2, 0xfa));
    										continue;
    									case'1':
    										_0x18d784[_0x64f0('a0b', 'tkAR')]($, '#divPop')['css'](_0x18d784[_0x64f0('a0c', 'fv0b')], _0x18d784['oOHzr'](_0x18d784[_0x64f0('a0d', '3Pmi')]($body, 0x384) / 0x2, 0xfa));
    										continue;
    									case'2':
    										_0x18d784['KnyVW']($, _0x64f0('a0e', ')rYM'))['css'](_0x18d784[_0x64f0('a0f', 'G%jM')], _0x18d784[_0x64f0('a10', 'wpSi')](_0x18d784[_0x64f0('a11', 'hSvn')]($body, 0x384), 0x2) - 0xfa);
    										continue;
    									case'3':
    										_0x18d784['EZHrV']($, _0x64f0('a12', 'G%jM'))[_0x64f0('4ed', '4Ats')](_0x64f0('a13', 'xViR'), _0x18d784[_0x64f0('a14', 'FBUA')](_0x18d784[_0x64f0('a15', 'Zg5[')](_0x18d784['aycWe']($body, 0x384), 0x2), 0xfa));
    										continue;
    									case'4':
    										$(_0x18d784[_0x64f0('a16', '4Ats')])['css'](_0x18d784['wIUwe'], _0x18d784[_0x64f0('a17', 'hSvn')](_0x18d784[_0x64f0('a18', 'Lclw')](_0x18d784[_0x64f0('a19', 'm*Jj')]($body, 0x384), 0x2), 0xd2));
    										continue;
    								}
    								break;
    							}
    						} else {
    							alert(_0x2380dc[_0x64f0('868', 'xViR')]);
    						}
    					}
    				}
    			});
    		}
    	}
    }
    解密后

    为方便对比已进行格式化处理

    function cancelMacWithUserNameAndMac(_0x1437f8, _0x17c421, _0x18daca) {
    	var _0x3c08d6 = confirm('关闭无感认证后,只能在设备本机上再次开启!');
    	if (_0x3c08d6) {
    		AuthInterFace.cancelMacWithUserNameAndMac(_0x1437f8, _0x17c421, function (_0x2380dc) {
    			if (_0x2380dc.result == 'success') {
    				var _0x36923d = getQueryStringByName('userIndex');
    				AuthInterFace.freshOnlineUserInfo(_0x36923d, function (_0x5c66cc) {
    					getTime = 1;
    					fillData();
    				});
    			} else {
    				alert(_0x2380dc.message);
    			}
    		});
    	}
    }

    功能介绍

    • 解除全局加密
      • 还原类似 _0x51f5('7', 'Ik*@') 的加密内容。
    • 解除代码块加密
      • 还原代码块中被统一收集的字符串及运算符。
    • 清理死代码(花指令)
      1. 清理仅包含常量字符串判断的 if 语句。
      2. 还原使用 switch...while 打乱顺序执行的语句。
    • 解除环境限制
      1. 解除 禁止控制台调试 限制。
      2. 解除 禁止控制台输出 限制。
      3. 解除 防止格式化 限制。
      4. 解除 安全域名 限制。
    • 提升代码可读性
      1. 合并串联字符串('spl'+'it' → 'split'
      2. 转换十六进制数字(0xf → 15
      3. 替换索引器(Object['keys'] → Object.keys
      4. 转换Unicode字符(\x22 → "
    • 格式化代码
      1. 将代码根据语句进行简易的代码缩进。
      2. 因能力有限且类似工具颇多,不做更多的优化和处理。

    使用须知

    • 解密文件中必须有且仅有通过某些特定的加密器加密的 JavaScript 代码(允许经过简单的格式化),解密前请将无关代码(如 HTML 的<script>标签或与加密脚本相关的非加密上下文)移除。
    • 某些特殊情况下,解密无法一次完成,可能需要使用不同的配置进行多次解密。
    • 注释和局部变量名在代码压缩、混淆的过程中已经丢失或被篡改,无法还原。
    • 在不安装依赖的情况下解密器将会使用 Node.js 内建的 vm 模块。若你无法安装依赖,请不要用于解密不可信的 JavaScript 文件。

    使用方法

    值得注意的是,请务必确保 config.json 文件存放在运行脚本时所在的文件夹(而不是解密器所在的文件夹,虽然它们通常是相同的)。

    1. 运行 npm install 。(可选,安装依赖后解密更安全)
    2. 根据需求在 config.json 中自定义配置。
    3. 运行 Jsjiemi.js 。

    输出结果

    每一解密步骤完成后,解密器都会输出一个结果文件

    你可以根据你的需求从以下结果中选择一个作为最终解密结果。

    支持通过配置文件修改输出文件的位置和命名格式。

    • JsjiemiResult0.js:净化代码
    • JsjiemiResult1.js:解除全局加密
    • JsjiemiResult2.js:解除代码块加密
    • JsjiemiResult3.js:清理死代码(花指令)
    • JsjiemiResult4.js:解除环境限制
    • JsjiemiResult5.js:提升代码可读性
    • JsjiemiResult6.js:格式化代码
  • PTCMS 4.0 开源源码

    PTCMS 4.0 开源源码

    由于本站系统升级,此源码已迁移到以下页面:

    [b2_insert_post id=”3700″]

    无加密解密版源码,对ptcms优化,支持PHP7.2、MySQL5.7

    非4.2.8或4.3.0版本,但功能差不多。