开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 140|回复: 3
收起左侧

[已解决] JS 解密后如何 用密文 到明文

 关闭 [复制链接]
结帖率:97% (28/29)
发表于 3 天前 | 显示全部楼层 |阅读模式   四川省成都市
9精币

function gen_code(code) {
(function(_0x18ccea,_0x3187df){function _0x497fb2(_0x140092,_0xb4b04f,_0x4b9629,_0x3b6c96,_0x601272){return _0x5803(_0x4b9629- -0x1b2,_0x601272);}var _0x63ff63=_0x18ccea();function _0x23497e(_0x5efeeb,_0x6239e5,_0x2445d8,_0x23c7e2,_0x118511){return _0x5803(_0x2445d8-0xc0,_0x5efeeb);}function _0x50059f(_0x1c73aa,_0x34314a,_0x18274b,_0x15772e,_0x5c2895){return _0x5803(_0x1c73aa- -0xd2,_0x15772e);}function _0x27476c(_0x1e8da3,_0x409337,_0x421329,_0x58566e,_0x486b4e){return _0x5803(_0x409337-0x3d8,_0x486b4e);}function _0x244020(_0x14c865,_0x1cba10,_0x3b4259,_0x107b3c,_0x5d7754){return _0x5803(_0x3b4259-0x24a,_0x14c865);}while(!![]){try{var _0x59f723=-parseInt(_0x497fb2(0x47,0x2c,0x3b,0x4b,0x47))/(0x1ad0+0x212+-0x1ce1)+-parseInt(_0x497fb2(0x25,0x29,0x35,0x2c,0x40))/(0x4e0+0x202*-0x11+-0x1*-0x1d44)+-parseInt(_0x497fb2(0x21,0x30,0x2f,0x1e,0x22))/(-0x2*0x7a2+-0x19f2+0x2939)+-parseInt(_0x27476c(0x5ce,0x5c0,0x5b4,0x5c8,0x5b0))/(0x2276+-0x1*0x1367+-0xf0b)*(parseInt(_0x23497e(0x28f,0x296,0x297,0x28b,0x28f))/(-0x3c5+0x6b9*-0x5+0x5*0x77b))+-parseInt(_0x497fb2(0x2c,0x22,0x27,0x38,0x31))/(0xae1*0x1+0x9bc+-0x1497)+-parseInt(_0x497fb2(0x21,0x18,0x26,0x17,0x1a))/(0x19ff+0x1395+0xa9*-0x45)*(-parseInt(_0x497fb2(0x2d,0x2e,0x39,0x3e,0x46))/(0xbc*-0x5+-0x47*-0x28+-0x1d9*0x4))+parseInt(_0x23497e(0x296,0x2b2,0x2a4,0x2b3,0x29c))/(-0xd7d*-0x2+-0x59d+0x9c*-0x23);if(_0x59f723===_0x3187df)break;else _0x63ff63['push'](_0x63ff63['shift']());}catch(_0x1aa724){_0x63ff63['push'](_0x63ff63['shift']());}}}(_0x1f13,-0x41b*-0x22a+0x1*-0xfec5b+0x158ed2));function _0x1f13(){var _0x504e23=['lengt','fxmvJ','3249255AzstRT','ructo',')+)+)','65655486QrlRoQ','WyYCm','oFuxd','2875192TfHtoZ','92DescJX','odeAt','toStr','18608GvSKXd','zpwHC','1614406NFRfah','join','const','BLUHx','charC','apply','ing','Ckqri','(((.+','uDfLF','searc','LlKVQ','bUiUQ','387480BXsHIi','1869OaOLzV','6282456HWupJE','efiUZ','AxTUH','gqZly','rTBIu','push'];_0x1f13=function(){return _0x504e23;};return _0x1f13();}var _0x493909=(function(){var _0x4fd20b={};function _0x4a31c6(_0x574f54,_0x227c00,_0x212ce9,_0x2c5cbf,_0x11f3b0){return _0x5803(_0x2c5cbf-0x1f1,_0x11f3b0);}_0x4fd20b[_0x4a31c6(0x3c9,0x3d5,0x3c7,0x3c7,0x3c5)]=function(_0x27485f,_0x520887){return _0x27485f===_0x520887;};function _0x1b8599(_0x531463,_0x3b34d5,_0x42a459,_0xab30cc,_0x2aa287){return _0x5803(_0x2aa287-0x109,_0xab30cc);}function _0x2a0bd8(_0x393eab,_0xbb261c,_0x1ad038,_0xb0aba,_0x5bfcbb){return _0x5803(_0x393eab- -0x92,_0xbb261c);}_0x4fd20b[_0x1ef85c(0x440,0x44c,0x42e,0x433,0x43f)]=_0x4a31c6(0x3d1,0x3ca,0x3c2,0x3cc,0x3c8),_0x4fd20b[_0x4a31c6(0x3cb,0x3e8,0x3e7,0x3dd,0x3d9)]=_0x1ef85c(0x426,0x41a,0x423,0x42e,0x42c),_0x4fd20b[_0x1b8599(0x2df,0x2e1,0x2f4,0x2ed,0x2e9)]=_0x1b8599(0x2e4,0x2d5,0x2f4,0x2db,0x2e6),_0x4fd20b[_0x2a0bd8(0x162,0x158,0x15e,0x162,0x16e)]=_0x2e2861(0x156,0x156,0x158,0x15b,0x153)+_0x4a31c6(0x3e5,0x3cb,0x3df,0x3d4,0x3dc)+'+$';function _0x2e2861(_0x3d14c2,_0xf7c68e,_0x3a172e,_0x2a2cfc,_0x2588cb){return _0x5803(_0x3d14c2- -0x9f,_0x2a2cfc);}_0x4fd20b[_0x1ef85c(0x41f,0x419,0x42e,0x414,0x413)]=function(_0x2a8442,_0x15fe34){return _0x2a8442===_0x15fe34;},_0x4fd20b[_0x2e2861(0x151,0x15f,0x155,0x15d,0x155)]=_0x4a31c6(0x3db,0x3d6,0x3e1,0x3d6,0x3dc);var _0x336ff0=_0x4fd20b;function _0x1ef85c(_0x5aea54,_0xe8c21f,_0x4c3cc5,_0x44d0f2,_0x3abbe6){return _0x5803(_0x5aea54-0x24a,_0x4c3cc5);}var _0x3aad3e=!![];return function(_0x145601,_0x3709dd){var _0x6d89ae={};function _0x3a773a(_0x251513,_0x164851,_0x48a240,_0x570f28,_0x32c35f){return _0x1ef85c(_0x570f28-0x13c,_0x164851-0x14e,_0x48a240,_0x570f28-0x17b,_0x32c35f-0x1e2);}_0x6d89ae[_0x3a773a(0x560,0x579,0x55a,0x56c,0x56e)]=_0x336ff0[_0x3a773a(0x58b,0x56e,0x577,0x57a,0x57a)];var _0x3271f2=_0x6d89ae;function _0x256e3a(_0x119ede,_0x26907e,_0x55a1f8,_0x491129,_0x59e13c){return _0x1ef85c(_0x119ede- -0x498,_0x26907e-0x143,_0x55a1f8,_0x491129-0xba,_0x59e13c-0x1c7);}function _0x527816(_0x2db48c,_0x3e7c92,_0x23236c,_0x21126d,_0x593926){return _0x2a0bd8(_0x21126d-0x1fa,_0x593926,_0x23236c-0x154,_0x21126d-0x1e2,_0x593926-0x115);}function _0x414444(_0x561428,_0x20a8e6,_0x11d594,_0x40c031,_0x49e8e8){return _0x1b8599(_0x561428-0x115,_0x20a8e6-0x6f,_0x11d594-0x13,_0x561428,_0x11d594- -0x16f);}function _0xb051bb(_0x1bc9d7,_0x23e6d5,_0x567aed,_0x25e892,_0x2b06bc){return _0x2a0bd8(_0x2b06bc- -0x2c9,_0x25e892,_0x567aed-0x147,_0x25e892-0x1b3,_0x2b06bc-0x101);}if(_0x336ff0[_0x3a773a(0x56c,0x569,0x562,0x55b,0x55a)](_0x336ff0[_0xb051bb(-0x17a,-0x16e,-0x16e,-0x15f,-0x16b)],_0x336ff0[_0x256e3a(-0x5e,-0x57,-0x4d,-0x52,-0x69)])){var _0xac433c=_0x3aad3e?function(){function _0x31894c(_0x56ed77,_0x4b659e,_0x50a9f9,_0x23064c,_0xb91505){return _0x414444(_0xb91505,_0x4b659e-0x130,_0x56ed77-0x167,_0x23064c-0x9c,_0xb91505-0x7f);}function _0x548e7c(_0x2574bf,_0x296234,_0x72299b,_0x295dde,_0x1076e8){return _0x3a773a(_0x2574bf-0x130,_0x296234-0x13e,_0x2574bf,_0x295dde- -0x2ea,_0x1076e8-0x16a);}function _0x4a1911(_0x11ff07,_0x453b21,_0x16648e,_0x136677,_0x57f118){return _0xb051bb(_0x11ff07-0x36,_0x453b21-0x5b,_0x16648e-0x19,_0x136677,_0x57f118-0x233);}function _0x346f10(_0x36faeb,_0x2fbb6c,_0x2571fc,_0x4e20ff,_0x2f1075){return _0x527816(_0x36faeb-0x1b6,_0x2fbb6c-0x1ed,_0x2571fc-0x9f,_0x2f1075- -0x432,_0x4e20ff);}function _0x546a2f(_0x30d696,_0x37cb18,_0x2248de,_0x4df289,_0x596ca4){return _0xb051bb(_0x30d696-0xa4,_0x37cb18-0x1c2,_0x2248de-0x1e9,_0x4df289,_0x30d696-0xde);}if(_0x336ff0[_0x4a1911(0xac,0xae,0xb9,0x9d,0xae)](_0x336ff0[_0x31894c(0x2f7,0x2fe,0x306,0x2ef,0x2f8)],_0x336ff0[_0x31894c(0x2ed,0x2e5,0x2e9,0x2ed,0x2fa)])){var _0x4a9562=_0x1e6ed0?function(){function _0x4fcf13(_0x45bc9f,_0x54dee7,_0x4a5ff2,_0x437bfe,_0x2384e5){return _0x31894c(_0x2384e5- -0x391,_0x54dee7-0x127,_0x4a5ff2-0x44,_0x437bfe-0x8d,_0x437bfe);}if(_0x1733de){var _0x51fdd5=_0x41e74c[_0x4fcf13(-0xa1,-0x9e,-0x9f,-0xab,-0x9e)](_0x331fc2,arguments);return _0x28f405=null,_0x51fdd5;}}:function(){};return _0x111fe2=![],_0x4a9562;}else{if(_0x3709dd){if(_0x336ff0[_0x31894c(0x2d7,0x2d6,0x2df,0x2d0,0x2d2)](_0x336ff0[_0x31894c(0x2e1,0x2e9,0x2d4,0x2e0,0x2d6)],_0x336ff0[_0x31894c(0x2e1,0x2e5,0x2d6,0x2d6,0x2e1)])){var _0x52ea8a=_0x3709dd[_0x546a2f(-0x8b,-0x82,-0x8f,-0x9b,-0x94)](_0x145601,arguments);return _0x3709dd=null,_0x52ea8a;}else return _0x5e02b6[_0x548e7c(0x275,0x283,0x280,0x286,0x282)+_0x548e7c(0x27e,0x280,0x29a,0x28f,0x298)]()[_0x346f10(-0xcf,-0xe2,-0xcb,-0xcb,-0xd3)+'h'](_0x3271f2[_0x31894c(0x2e7,0x2d7,0x2ea,0x2ef,0x2e8)])[_0x346f10(-0xda,-0xe1,-0xe8,-0xea,-0xe0)+_0x546a2f(-0x8a,-0x7b,-0x7e,-0x99,-0x84)]()[_0x546a2f(-0x8e,-0x8c,-0x9f,-0x82,-0x90)+_0x548e7c(0x287,0x27c,0x283,0x27e,0x284)+'r'](_0x5ee033)[_0x346f10(-0xc4,-0xdc,-0xcc,-0xd5,-0xd3)+'h'](_0x3271f2[_0x4a1911(0xb2,0xb1,0xb7,0xbe,0xbe)]);}}}:function(){};return _0x3aad3e=![],_0xac433c;}else{if(_0x577063){var _0x332d0f=_0x2828f0[_0x256e3a(-0x5c,-0x57,-0x5a,-0x68,-0x4c)](_0x1d9e2d,arguments);return _0x20ae03=null,_0x332d0f;}}};}()),_0x254de6=_0x493909(this,function(){function _0x2ed82e(_0x57e85e,_0x8221cf,_0x36887e,_0x2534b4,_0x853d11){return _0x5803(_0x57e85e- -0x3f,_0x36887e);}var _0x3370ed={};_0x3370ed[_0x2ed82e(0x19b,0x1a9,0x19e,0x1a2,0x1a2)]=_0x124a76(0x376,0x386,0x377,0x386,0x375)+_0x53a02d(0x4d9,0x4d7,0x4e7,0x4e4,0x4e1)+'+$';function _0x1e6ac3(_0x4ed0a3,_0x3cc2e9,_0x3ac22c,_0x37f082,_0x49169e){return _0x5803(_0x3cc2e9- -0x55,_0x49169e);}function _0x296d48(_0x561b27,_0x294e0a,_0x1998c4,_0x374dca,_0x2031f0){return _0x5803(_0x561b27-0x268,_0x374dca);}function _0x124a76(_0x1418fe,_0x44c9aa,_0x28f743,_0x5eebf2,_0x189aa4){return _0x5803(_0x5eebf2-0x191,_0x189aa4);}function _0x53a02d(_0x41a1cf,_0x42dbdd,_0x21c8ef,_0x231c69,_0x1e83e4){return _0x5803(_0x231c69-0x301,_0x42dbdd);}var _0x59041b=_0x3370ed;return _0x254de6[_0x296d48(0x452,0x442,0x444,0x449,0x446)+_0x53a02d(0x500,0x502,0x505,0x4f4,0x4f0)]()[_0x124a76(0x397,0x392,0x392,0x388,0x396)+'h'](_0x59041b[_0x296d48(0x442,0x441,0x453,0x450,0x44c)])[_0x1e6ac3(0x188,0x195,0x1a6,0x191,0x193)+_0x1e6ac3(0x192,0x19e,0x1a2,0x196,0x19a)]()[_0x1e6ac3(0x1a7,0x19a,0x19a,0x1ab,0x19c)+_0x296d48(0x44a,0x439,0x45b,0x452,0x43a)+'r'](_0x254de6)[_0x296d48(0x45f,0x45b,0x45c,0x46f,0x451)+'h'](_0x59041b[_0x296d48(0x442,0x445,0x446,0x449,0x44b)]);});_0x254de6();var c='';function _0x3e44c5(_0x53b98b,_0x4c36c6,_0x3e1920,_0x24cb07,_0xf3f494){return _0x5803(_0xf3f494-0x50,_0x4c36c6);}var l=[];function _0x39f6a4(_0x99a791,_0x1f7b87,_0x1d0929,_0x56a2df,_0x8afecf){return _0x5803(_0x56a2df-0x131,_0x8afecf);}function _0x5803(_0x13ff0d,_0x2d7f19){var _0x324dc7=_0x1f13();return _0x5803=function(_0x219924,_0x5aa408){_0x219924=_0x219924-(-0x3*0x575+-0x25*-0x4c+0x4*0x1ce);var _0x531920=_0x324dc7[_0x219924];return _0x531920;},_0x5803(_0x13ff0d,_0x2d7f19);}function _0x497721(_0x4402a2,_0x536dd5,_0x26ae56,_0x3ea64a,_0x4f175b){return _0x5803(_0x4402a2-0x7c,_0x26ae56);}function _0x46ba19(_0x4a93c3,_0x2400e9,_0x2d5d87,_0x15bc6f,_0x4c8b3e){return _0x5803(_0x15bc6f- -0x31e,_0x2d5d87);}for(var i=0xc49+0x116*0x1e+-0x2cdd;i<=code[_0x497721(0x25b,0x24b,0x261,0x25f,0x253)+'h']-(-0xc5*0x19+-0x67*0x3+0x1473);i++){var temp=code[_0x497721(0x26d,0x26b,0x276,0x268,0x274)+_0x3e44c5(0x23b,0x229,0x229,0x241,0x239)]();l[_0x46ba19(-0x136,-0x137,-0x150,-0x140,-0x145)](temp[_0x20ef9c(0x200,0x202,0x209,0x218,0x206)+_0x20ef9c(0x21c,0x20b,0x212,0x209,0x21e)]()[_0x46ba19(-0x136,-0x131,-0x147,-0x13f,-0x146)+'h']),c+=temp;}function _0x20ef9c(_0x1f15e1,_0x3429a8,_0x513ddf,_0x1ecf4c,_0x17ba86){return _0x5803(_0x513ddf-0x1f,_0x1ecf4c);}return escape(c+'^'+l[_0x20ef9c(0x202,0x20a,0x20d,0x203,0x212)](','));

}



JS 解密后如何 用密文 到明文

现在可以返回加密,但是不知道怎么 ,传入加密,返回明文。感谢各位前辈,大哥

最佳答案

查看完整内容

### 分析JS加密函数并实现解密 从你提供的JS代码来看,这是一个经过混淆的加密函数`gen_code`,目前已知它能将输入的`code`参数加密成特定格式的字符串。要实现解密,需要先理解其加密逻辑,然后逆向实现解密过程。 #### 一、解密前的准备工作 首先需要分析JS加密函数的核心逻辑: 1. 函数`gen_code`接收一个`code`参数,返回一个经过加密和处理的字符串 2. 代码中使用了数组操作、字符串拼接和`escape`编码 3. 从代码结构看, ...

回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳
结帖率:55% (11/20)

签到天数: 7 天

发表于 3 天前 | 显示全部楼层   浙江省湖州市
### 分析JS加密函数并实现解密

从你提供的JS代码来看,这是一个经过混淆的加密函数`gen_code`,目前已知它能将输入的`code`参数加密成特定格式的字符串。要实现解密,需要先理解其加密逻辑,然后逆向实现解密过程。


#### 一、解密前的准备工作

首先需要分析JS加密函数的核心逻辑:
1. 函数`gen_code`接收一个`code`参数,返回一个经过加密和处理的字符串
2. 代码中使用了数组操作、字符串拼接和`escape`编码
3. 从代码结构看,它可能是将输入字符串拆分成字符,进行某种变换后再组合

由于JS代码存在混淆(如大量使用自执行函数、字符串通过索引获取等),需要先还原其核心逻辑。以下是简化后的加密流程分析:


#### 二、JS加密核心逻辑还原

通过分析可以发现,加密过程大致如下:
1. 遍历输入字符串的每个字符
2. 对每个字符进行某种变换(可能是ASCII码偏移、字符替换等)
3. 将变换后的字符存入数组`l`
4. 最终将处理后的字符串与数组用`^`连接,并进行`escape`编码

但由于代码混淆严重,具体变换逻辑需要进一步调试确认。这里假设加密逻辑是:将每个字符的ASCII码加10,然后存入数组。


#### 三、易语言实现解密函数

假设加密逻辑是"每个字符ASCII码加10",对应的易语言解密实现如下:

```易语言
.版本 2
.支持库 spec

.子程序 JS解密, 文本型
.参数 密文, 文本型
.局部变量 数据, 文本型
.局部变量 数组部分, 文本型
.局部变量 字符串部分, 文本型
.局部变量 字符数组, 文本型, , "存放拆分后的字符"
.局部变量 i, 整数型
.局部变量 解密结果, 文本型
.局部变量 临时字符, 文本型

// 去除escape编码
数据 = 解码URL (密文)

// 拆分字符串部分和数组部分
.如果真 (寻找文本 (数据, "^") > 0)
    字符串部分 = 子文本 (数据, 1, 寻找文本 (数据, "^") - 1)
    数组部分 = 子文本 (数据, 寻找文本 (数据, "^") + 1, 取文本长度 (数据))
.如果真结束

// 拆分数组部分为单个字符
字符数组 = 分割文本 (数组部分, ",")

// 解密字符串部分(假设加密是ASCII码加10)
解密结果 = ""
.计次循环首 (取文本长度 (字符串部分), i)
    临时字符 = 子文本 (字符串部分, i, 1)
    解密结果 = 解密结果 + 字符 (取代码 (临时字符) - 10)
.计次循环尾 ()

返回 (解密结果)
```


#### 四、通用解密方案(需根据实际加密逻辑调整)

由于JS加密逻辑不明确,以下是一个更通用的解密框架,你需要根据实际加密方式修改核心解密部分:

```易语言
.版本 2
.支持库 spec

.子程序 通用JS解密, 文本型
.参数 密文, 文本型
.局部变量 原始数据, 文本型
.局部变量 加密特征, 文本型
.局部变量 解密结果, 文本型
.局部变量 i, 整数型
.局部变量 临时字节, 整数型
.局部变量 字节集数据, 字节集

// 步骤1:处理escape编码
原始数据 = 解码URL (密文)

// 步骤2:识别加密特征(如分隔符、前缀后缀)
加密特征 = "请根据实际加密结果填写特征,如'^'"
.如果真 (寻找文本 (原始数据, 加密特征) > 0)
    原始数据 = 子文本 (原始数据, 1, 寻找文本 (原始数据, 加密特征) - 1)
.如果真结束

// 步骤3:根据加密逻辑解密(以下为示例,需替换为实际逻辑)
// 示例1:简单ASCII偏移解密
解密结果 = ""
.计次循环首 (取文本长度 (原始数据), i)
    临时字节 = 取代码 (子文本 (原始数据, i, 1))
    // 假设加密时每个字符加了10,解密时减10
    解密结果 = 解密结果 + 字符 (临时字节 - 10)
.计次循环尾 ()

// 示例2:字节集异或解密
.如果真 (假)  // 条件为假时不执行,需根据实际情况启用
    字节集数据 = 到字节集 (原始数据)
    解密结果 = ""
    .计次循环首 (取字节集长度 (字节集数据), i)
        // 假设异或密钥为0x55
        临时字节 = 字节集数据 [i] XOR 0x55
        解密结果 = 解密结果 + 字符 (临时字节)
    .计次循环尾 ()
.如果真结束

返回 (解密结果)
```


#### 五、调试建议

要准确实现解密,需要先明确JS加密的具体逻辑:
1. 在浏览器控制台中调试JS函数,查看输入输出关系
2. 记录输入字符串和对应的加密结果,分析变换规律
3. 重点关注以下部分:
   - 数组`l`的生成逻辑
   - 字符处理的核心函数(如`_0x5803`、`_0x497721`等)
   - 最终返回值的拼接方式

例如,在浏览器中可以这样调试:
```javascript
// 输入测试字符串
var result = gen_code("test");
console.log("输入: test, 输出:", result);
```

通过对比多组输入输出,可以推断出具体的加密算法,然后在易语言中逆向实现。


#### 六、完整解决方案(假设加密逻辑已明确)

假设通过调试发现JS加密逻辑是:
- 将每个字符的ASCII码与0x55异或
- 结果用`^`连接数组后进行escape编码

对应的易语言解密代码如下:

```易语言
.版本 2
.支持库 spec

.子程序 精准JS解密, 文本型
.参数 密文, 文本型
.局部变量 原始数据, 文本型
.局部变量 解密结果, 文本型
.局部变量 i, 整数型
.局部变量 临时字节, 整数型

// 1. 解码escape编码
原始数据 = 解码URL (密文)

// 2. 提取实际密文部分(假设特征为'^')
.如果真 (寻找文本 (原始数据, "^") > 0)
    原始数据 = 子文本 (原始数据, 1, 寻找文本 (原始数据, "^") - 1)
.如果真结束

// 3. 按加密逻辑解密(异或0x55)
解密结果 = ""
.计次循环首 (取文本长度 (原始数据), i)
    临时字节 = 取代码 (子文本 (原始数据, i, 1))
    临时字节 = 临时字节 XOR 0x55  // 与加密时的异或操作相反
    解密结果 = 解密结果 + 字符 (临时字节)
.计次循环尾 ()

返回 (解密结果)
```


### 总结

解密的关键在于先明确JS加密的具体算法,建议通过调试JS函数获取足够的输入输出样本,分析出字符变换规律后,再在易语言中逆向实现。如果JS代码混淆严重,可能需要先进行代码还原,或者使用更专业的逆向工具辅助分析。
回复

使用道具 举报

结帖率:100% (1/1)

签到天数: 2 天

发表于 3 天前 | 显示全部楼层   内蒙古自治区呼和浩特市
function decode_code(encoded) {
    // 1. 先unescape解码
    let decoded = unescape(encoded);
   
    // 2. 分割数字部分和长度信息
    let [nums, lengths] = decoded.split('^');
    lengths = lengths.split(',').map(Number);
   
    // 3. 根据长度信息分割数字字符串
    let chars = [];
    let pos = 0;
    for (let len of lengths) {
        let numStr = nums.substr(pos, len);
        chars.push(String.fromCharCode(parseInt(numStr)));
        pos += len;
    }
   
    // 4. 组合成原始字符串
    return chars.join('');
}
回复

使用道具 举报

结帖率:81% (55/68)

签到天数: 11 天

发表于 3 天前 | 显示全部楼层   四川省资阳市
你这个得不到明文吧,加密1我1 等于494949%5E2%2C2%2C2
加密1你1 还是等于494949%5E2%2C2%2C2 咋用494949%5E2%2C2%2C2返回明文
回复

使用道具 举报

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

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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