基于正则匹配的 JavaScript 解密工具。请务必遵守开源协议,不得用于非法或商业用途。
[!IMPORTANT] 本项目不再维护,出于以下多方面的考虑:
- 用于执行代码的 vm2 库因无法解决的安全问题停止维护,这个解密器可能不再安全。
- 使用垃圾加密工具的人越来越少了,Jsjiemi 也完成了它的使命(抵制恶心人的垃圾加密工具)。
- 目前正在开发其它开源项目,没有足够的时间和精力维护。
Jsjiemi 是一款基于正则匹配的 JavaScript 解密工具。旨在提供一个简易的检测手段,以便评估您所使用的加密工具是否具备足够的安全性。倘若您的代码在经过加密处理后能被成功解密,则代表该加密工具不具有有效的代码保护能力。
源代码
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 _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*@') 的加密内容。switch...while 打乱顺序执行的语句。禁止控制台调试 限制。禁止控制台输出 限制。防止格式化 限制。安全域名 限制。'spl'+'it' → 'split')0xf → 15)Object['keys'] → Object.keys)\x22 → ")JavaScript 代码(允许经过简单的格式化),解密前请将无关代码(如 HTML 的``标签或与加密脚本相关的非加密上下文)移除。Node.js 内建的 vm 模块。若你无法安装依赖,请不要用于解密不可信的 JavaScript 文件。值得注意的是,请务必确保
config.json文件存放在运行脚本时所在的文件夹(而不是解密器所在的文件夹,虽然它们通常是相同的)。
npm install 。(可选,安装依赖后解密更安全)config.json 中自定义配置。Jsjiemi.js 。每一解密步骤完成后,解密器都会输出一个结果文件。
你可以根据你的需求从以下结果中选择一个作为最终解密结果。
支持通过配置文件修改输出文件的位置和命名格式。
JsjiemiResult0.js:净化代码JsjiemiResult1.js:解除全局加密JsjiemiResult2.js:解除代码块加密JsjiemiResult3.js:清理死代码(花指令)JsjiemiResult4.js:解除环境限制JsjiemiResult5.js:提升代码可读性JsjiemiResult6.js:格式化代码JetBrains 说我咕太久,不给我 License 用了。 :(
No open issues yet, or sync has not completed.