分类: 加密解密

  • 批量解密GOTO加密的PHP程序

    批量解密GOTO加密的PHP程序

    一个一个解密未免有点太过麻烦,本程序提供批量解密goto加密的php的方法。

    使用方法很简单,部署到web服务器中。

    将待解密的php置于decodeFile目录中,使用web浏览器访问根目录的index.php,程序会自动遍历解密decodeFile目录下的文件,并将解密后的文件放于complete目录。

    请注意,并非所有goto加密文件都可以解密,本程序具有通用性,所以有些加密作者有些goto加密的小的调整本程序不能解密,如有此类需求,请联系站长手工解密。

    谢谢。

  • 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加密的文件,如遇不可解密的文件本站不会退款。

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

  • 都2023了,还不知道去哪找adobe 破解 的过来

    都2023了,还不知道去哪找adobe 破解 的过来

    Adobe系列破解,认准三个大佬就行,地球上95%以上的adobe破解都是出自这三个人,找到门牌号,这辈子都不用担心下载不到免费最新版的adobe破解资源,卷起来吧

    国内vposy,
    有公众号,但直接从里面找adobe下载比较繁琐,V大固定Adobe百度网盘资源链接(mac版已停止更新)
    https://pan.baidu.com/share/init?surl=6HBKPaMLY6rVuR9gy4M2tw&pwd=love

    俄罗斯m0nkrus,
    通过网站发布自己的资源信息,再以论坛种子的形式进行分发。
    他的网站只发布adobe破解资源,属于和adobe死磕到底型的,有一段时间V大更新慢,我就换用m0nkrus,感觉不错,用起来不分伯仲,希望m0nkrus能一直坚持下去。
    https://w14.monkrus.ws/

    俄罗斯KpoJIuK,
    通过网站发布自己的资源信息,国内大部分软件资源站长的破解资源都来自repack,repack的站长就是KpoJIuK,CorelDRAW的直装版(repack)也是出自KpoJIuK,他不像前两个大佬以adobe为主,KpoJIuK涉猎广泛,应该是各大破解资源站的最上游供货商,目前以网友捐助的方式进行盈利,免费注册看不到资源下载,需要捐助激活账户
    https://repack.me/

    最近几年大佬们发布的adobe都是以直装破解版的方式安装,简单方便,也不容易反弹,如果有喜欢注册adobeID 安装adobe creative cloud,然后在ACC里下载安装adobe软件的自虐型朋友,这里还有一款单独的adobe破解工具给你https://www.cybermania.ws/software/adobe-genp/,这几年它也一直保持着更新,值得信赖。

    顺便分享两个免费的上游win资源站/论坛,
    https://filecr.com/
    https://www.torlock.com/?qq=1&q=Adobe
    https://rsload.net/
    https://positiverecords.ru/
    https://mloads.com/
    https://rutor.info/
    https://nnmclub.to/
    http://pooshock.ru/

    mac平台的adobe破解不出意外的话,应该是TNT team,谁也不知道他们的网站,貌似这位大佬只给几个大站供货,其他小站再去进货,
    这是收集的几个mac破解资源网站
    https://macapp.org.cn/
    https://filecr.com/macos/
    https://www.appstorrent.ru/
    https://www.torrentmac.net/
    https://www.gfxtra.com/sof-mac/
    https://www.digit77.com/

    不得不说俄罗斯破解,YYDS

  • 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:格式化代码