加密后
47 |
48 | > 已省略全局解密函数
49 |
50 | > 为方便对比已进行格式化处理
51 |
52 | ```javascript
53 | function cancelMacWithUserNameAndMac(_0x1437f8, _0x17c421, _0x18daca) {
54 | var _0x18d784 = {
55 | 'OGRic': '4|2|6|8|0|5|7|3|9|1',
56 | 'AAvHe': function (_0x4a9629, _0x140a6c) {
57 | return _0x4a9629(_0x140a6c);
58 | },
59 | 'wIUwe': 'margin-left',
60 | 'TQJfu': '#loginFrameLogofood_hk_2',
61 | 'Ussjm': function (_0x3a631e, _0x5a538a) {
62 | return _0x3a631e - _0x5a538a;
63 | },
64 | 'mwhyn': function (_0x5c1515, _0x3e12d0) {
65 | return _0x5c1515 * _0x3e12d0;
66 | },
67 | 'eMmnc': '#hk_margin_left_1',
68 | 'pROLs': _0x64f0('9c5', 'DWlJ'),
69 | 'RtPyd': function (_0x1a2925, _0x3178e2) {
70 | return _0x1a2925(_0x3178e2);
71 | },
72 | 'ktmyn': _0x64f0('9c6', 'NMy2'),
73 | 'gxaAs': 'width',
74 | 'QzLeH': function (_0x52c760, _0x2740a1) {
75 | return _0x52c760(_0x2740a1);
76 | },
77 | 'MhTAi': _0x64f0('9c7', '*6xD'),
78 | 'FkPFD': '#leftId',
79 | 'izkEP': _0x64f0('9c8', 'a5h*'),
80 | 'qjdIA': function (_0x2af297, _0xb650bb) {
81 | return _0x2af297 * _0xb650bb;
82 | },
83 | 'feKqI': function (_0x1f7f78, _0x596751) {
84 | return _0x1f7f78 === _0x596751;
85 | },
86 | 'hmFcx': 'yhlbV',
87 | 'lNkRh': function (_0x16de55) {
88 | return _0x16de55();
89 | },
90 | 'mGvzI': _0x64f0('9c9', 'hSvn'),
91 | 'mjXUQ': function (_0x112f06, _0x404547) {
92 | return _0x112f06 - _0x404547;
93 | },
94 | 'dKWSL': function (_0x5dba1c, _0x2b83a9) {
95 | return _0x5dba1c(_0x2b83a9);
96 | },
97 | 'oOHzr': function (_0x3e2c53, _0x4c0c40) {
98 | return _0x3e2c53 - _0x4c0c40;
99 | },
100 | 'KnyVW': function (_0x1a0714, _0x336008) {
101 | return _0x1a0714(_0x336008);
102 | },
103 | 'oJrGK': function (_0x3f8456, _0x1ddba4) {
104 | return _0x3f8456 / _0x1ddba4;
105 | },
106 | 'hQFPI': function (_0xd930d9, _0x1db4bd) {
107 | return _0xd930d9 - _0x1db4bd;
108 | },
109 | 'EZHrV': function (_0x5ab773, _0x3893c7) {
110 | return _0x5ab773(_0x3893c7);
111 | },
112 | 'lMeUM': function (_0x34d463, _0x4d6b7b) {
113 | return _0x34d463 - _0x4d6b7b;
114 | },
115 | 'aycWe': function (_0x58ef0e, _0x3891ab) {
116 | return _0x58ef0e - _0x3891ab;
117 | },
118 | 'lKwci': _0x64f0('9ca', 'OJFQ'),
119 | 'ZkOVs': function (_0x4a6dbd, _0x4542cb) {
120 | return _0x4a6dbd - _0x4542cb;
121 | },
122 | 'zyJTu': function (_0x5e1b93, _0x446452) {
123 | return _0x5e1b93 / _0x446452;
124 | },
125 | 'vjWbs': function (_0x2575e0, _0x11c14c) {
126 | return _0x2575e0 / _0x11c14c;
127 | },
128 | 'NFCIT': _0x64f0('9cb', 'Zg5['),
129 | 'dsuhf': function (_0x89f937, _0x597b3f) {
130 | return _0x89f937 + _0x597b3f;
131 | },
132 | 'ncXTx': function (_0x12a7de, _0x22e70b) {
133 | return _0x12a7de > _0x22e70b;
134 | },
135 | 'lPPfO': function (_0x275710, _0x5a84db) {
136 | return _0x275710(_0x5a84db);
137 | },
138 | 'JBQXr': function (_0x287953, _0x123071, _0x2eab92) {
139 | return _0x287953(_0x123071, _0x2eab92);
140 | },
141 | 'AMUoZ': _0x64f0('9cc', 'NMy2'),
142 | 'OzLtF': _0x64f0('9cd', 'DWlJ'),
143 | 'TBrqo': 'userIndex',
144 | 'zaUUW': function (_0x43ad2d, _0x154b85) {
145 | return _0x43ad2d !== _0x154b85;
146 | },
147 | 'GJkAC': _0x64f0('9ce', 'gS57'),
148 | 'uJjdS': _0x64f0('9cf', 'y@FJ'),
149 | 'GKNWk': function (_0x446ff5, _0x613452) {
150 | return _0x446ff5 !== _0x613452;
151 | },
152 | 'PcETE': _0x64f0('9d0', 'tkAR')
153 | };
154 | var _0x3c08d6 = _0x18d784[_0x64f0('9d1', 'HmCh')](confirm, _0x18d784[_0x64f0('9d2', ')rYM')]);
155 | if (_0x3c08d6) {
156 | if (_0x18d784[_0x64f0('9d3', 'y@FJ')](_0x64f0('9d4', '7#T0'), _0x18d784['PcETE'])) {
157 | var _0x2cfb1e = _0x18d784[_0x64f0('9d5', 'a5h*')][_0x64f0('9d6', 'z1V4')]('|'), _0x234a2d = 0x0;
158 | while (!![]) {
159 | switch (_0x2cfb1e[_0x234a2d++]) {
160 | case'0':
161 | _0x18d784[_0x64f0('9d7', 'fv0b')]($, _0x64f0('9d8', 'A4bS'))[_0x64f0('9d9', '*E$X')](_0x18d784['wIUwe'], $marginLeft - 0x64);
162 | continue;
163 | case'1':
164 | $(_0x18d784[_0x64f0('9da', '7zoT')])[_0x64f0('871', 'G%jM')]('margin-left', _0x18d784['Ussjm'](0xc8, _0x18d784['mwhyn']($body, 0.1)));
165 | continue;
166 | case'2':
167 | _0x18d784[_0x64f0('9db', 'TR]&')]($, _0x18d784['eMmnc'])['css'](_0x18d784['pROLs'], $marginLeft);
168 | continue;
169 | case'3':
170 | _0x18d784[_0x64f0('9dc', 'JsoZ')]($, _0x18d784['ktmyn'])['css'](_0x18d784[_0x64f0('9dd', 'nO3k')], $width);
171 | continue;
172 | case'4':
173 | if ($marginLeft < 0x6e) {
174 | $marginLeft = 0x6e;
175 | }
176 | continue;
177 | case'5':
178 | _0x18d784[_0x64f0('9de', 'Zg5[')]($, _0x18d784['ktmyn'])['css'](_0x64f0('9df', 'xViR'), $marginLeft);
179 | continue;
180 | case'6':
181 | _0x18d784[_0x64f0('9e0', 'xViR')]($, _0x18d784[_0x64f0('9e1', '8Vu)')])['css'](_0x18d784[_0x64f0('9e2', '(DaA')], $marginLeft);
182 | continue;
183 | case'7':
184 | $(_0x18d784[_0x64f0('9e3', 't7O$')])['css'](_0x64f0('9e4', 'HmCh'), $width);
185 | continue;
186 | case'8':
187 | $(_0x18d784[_0x64f0('9e5', '8Vu)')])[_0x64f0('289', 'hSvn')](_0x64f0('9e6', 'OJFQ'), $marginLeft - 0x6e);
188 | continue;
189 | case'9':
190 | $(_0x18d784['izkEP'])[_0x64f0('26f', 'fv0b')](_0x18d784['wIUwe'], 0xc8 - _0x18d784[_0x64f0('9e7', 'kUYz')]($body, 0.1));
191 | continue;
192 | }
193 | break;
194 | }
195 | } else {
196 | AuthInterFace[_0x64f0('9e8', 'j510')](_0x1437f8, _0x17c421, function (_0x2380dc) {
197 | var _0x3d57b1 = {
198 | 'MfrKs': function (_0x423e2b, _0x595c7e) {
199 | return _0x18d784[_0x64f0('9e9', 'hY8M')](_0x423e2b, _0x595c7e);
200 | },
201 | 'riefY': _0x18d784[_0x64f0('9ea', '8Vu)')],
202 | 'XnjaP': function (_0x154812, _0x17b089) {
203 | return _0x18d784[_0x64f0('9eb', '4Ats')](_0x154812, _0x17b089);
204 | },
205 | 'BtknR': function (_0x4afb84, _0x199c9f) {
206 | return _0x18d784[_0x64f0('9ec', 'DWlJ')](_0x4afb84, _0x199c9f);
207 | },
208 | 'qyGnJ': function (_0x489a77, _0x12aaa3) {
209 | return _0x18d784[_0x64f0('9ed', 'Bk0K')](_0x489a77, _0x12aaa3);
210 | },
211 | 'AFDMo': function (_0x4abfba, _0x219d81) {
212 | return _0x18d784[_0x64f0('9eb', '4Ats')](_0x4abfba, _0x219d81);
213 | },
214 | 'mPxnb': function (_0x3693d8, _0x598331) {
215 | return _0x18d784['lPPfO'](_0x3693d8, _0x598331);
216 | },
217 | 'eoqvl': function (_0x24b619, _0xfe706) {
218 | return _0x18d784[_0x64f0('9ee', 'NMy2')](_0x24b619, _0xfe706);
219 | },
220 | 'YICcj': '小时
',
221 | 'sUjOF': function (_0x1661d8, _0x395e79, _0x34d552) {
222 | return _0x18d784['JBQXr'](_0x1661d8, _0x395e79, _0x34d552);
223 | }
224 | };
225 | if (_0x18d784[_0x64f0('9ef', 'JsoZ')](_0x18d784['AMUoZ'], _0x18d784['OzLtF'])) {
226 | limit = limit[_0x64f0('9f0', 'FBUA')](0x0, limit[_0x64f0('9f1', 'EeGR')]('B'));
227 | limit = _0x3d57b1[_0x64f0('9f2', 'kUYz')](limit, 0x400) + 'KB';
228 | } else {
229 | if (_0x2380dc['result'] == _0x64f0('9f3', 'hSvn')) {
230 | var _0x36923d = getQueryStringByName(_0x18d784[_0x64f0('9f4', 'fv0b')]);
231 | AuthInterFace[_0x64f0('9f5', '3Pmi')](_0x36923d, function (_0x5c66cc) {
232 | if (_0x18d784[_0x64f0('9f6', '(DaA')](_0x18d784['hmFcx'], 'IAutA')) {
233 | var _0x130c29 = _0x3d57b1['riefY']['split']('|'), _0x5d6347 = 0x0;
234 | while (!![]) {
235 | switch (_0x130c29[_0x5d6347++]) {
236 | case'0':
237 | var _0x2d9053 = _0x3d57b1[_0x64f0('9f7', '3Pmi')](theTime2, '');
238 | continue;
239 | case'1':
240 | if (_0x3d57b1['BtknR'](_0x2d9053[_0x64f0('9f8', 'Q((!')]('.'), -0x1)) {
241 | _0x2d9053 = _0x2d9053['substring'](0x0, _0x2d9053['indexOf']('.'));
242 | }
243 | continue;
244 | case'2':
245 | if (_0x3d57b1[_0x64f0('9f9', 'j510')](_0x542dd2, 0x0)) {
246 | _0x2d9053 = _0x3d57b1[_0x64f0('9fa', '7zoT')](_0x3d57b1[_0x64f0('9fb', '8Vu)')](parseInt, _0x2d9053), _0x542dd2);
247 | }
248 | continue;
249 | case'3':
250 | result = _0x3d57b1['AFDMo'](_0x3d57b1[_0x64f0('9fc', '7#T0')]('', _0x2d9053), _0x3d57b1['YICcj']);
251 | continue;
252 | case'4':
253 | var _0x542dd2 = _0x3d57b1[_0x64f0('9fd', 'kUYz')](fomatFloat, _0x3d57b1[_0x64f0('9fe', '(DaA')](_0x3d57b1[_0x64f0('9ff', 'Lclw')](parseInt, theTime1), 0x3c), 0x1);
254 | continue;
255 | }
256 | break;
257 | }
258 | } else {
259 | getTime = 0x1;
260 | _0x18d784[_0x64f0('a00', 'xViR')](fillData);
261 | }
262 | });
263 | } else {
264 | if (_0x18d784[_0x64f0('a01', 'DWlJ')](_0x18d784[_0x64f0('a02', 'hSvn')], _0x18d784[_0x64f0('a03', '*6xD')])) {
265 | var _0x529cc9 = _0x18d784[_0x64f0('a04', 'A4bS')][_0x64f0('a05', 'EeGR')]('|'),
266 | _0x5cbedb = 0x0;
267 | while (!![]) {
268 | switch (_0x529cc9[_0x5cbedb++]) {
269 | case'0':
270 | _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));
271 | continue;
272 | case'1':
273 | _0x18d784[_0x64f0('a0b', 'tkAR')]($, '#divPop')['css'](_0x18d784[_0x64f0('a0c', 'fv0b')], _0x18d784['oOHzr'](_0x18d784[_0x64f0('a0d', '3Pmi')]($body, 0x384) / 0x2, 0xfa));
274 | continue;
275 | case'2':
276 | _0x18d784['KnyVW']($, _0x64f0('a0e', ')rYM'))['css'](_0x18d784[_0x64f0('a0f', 'G%jM')], _0x18d784[_0x64f0('a10', 'wpSi')](_0x18d784[_0x64f0('a11', 'hSvn')]($body, 0x384), 0x2) - 0xfa);
277 | continue;
278 | case'3':
279 | _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));
280 | continue;
281 | case'4':
282 | $(_0x18d784[_0x64f0('a16', '4Ats')])['css'](_0x18d784['wIUwe'], _0x18d784[_0x64f0('a17', 'hSvn')](_0x18d784[_0x64f0('a18', 'Lclw')](_0x18d784[_0x64f0('a19', 'm*Jj')]($body, 0x384), 0x2), 0xd2));
283 | continue;
284 | }
285 | break;
286 | }
287 | } else {
288 | alert(_0x2380dc[_0x64f0('868', 'xViR')]);
289 | }
290 | }
291 | }
292 | });
293 | }
294 | }
295 | }
296 | ```
297 |
298 |
299 | 解密后
300 |
301 | > 为方便对比已进行格式化处理
302 |
303 | ```javascript
304 | function cancelMacWithUserNameAndMac(_0x1437f8, _0x17c421, _0x18daca) {
305 | var _0x3c08d6 = confirm('关闭无感认证后,只能在设备本机上再次开启!');
306 | if (_0x3c08d6) {
307 | AuthInterFace.cancelMacWithUserNameAndMac(_0x1437f8, _0x17c421, function (_0x2380dc) {
308 | if (_0x2380dc.result == 'success') {
309 | var _0x36923d = getQueryStringByName('userIndex');
310 | AuthInterFace.freshOnlineUserInfo(_0x36923d, function (_0x5c66cc) {
311 | getTime = 1;
312 | fillData();
313 | });
314 | } else {
315 | alert(_0x2380dc.message);
316 | }
317 | });
318 | }
319 | }
320 | ```
321 |
322 |
323 |
324 | ## 功能介绍
325 |
326 | * 解除全局加密
327 | * 还原类似 `_0x51f5('7', 'Ik*@')` 的加密内容。
328 | * 解除代码块加密
329 | * 还原代码块中被统一收集的字符串及运算符。
330 | * 清理死代码(花指令)
331 | 1. 清理仅包含常量字符串判断的 if 语句。
332 | 2. 还原使用 `switch...while` 打乱顺序执行的语句。
333 | * 解除环境限制
334 | 1. 解除 `禁止控制台调试` 限制。
335 | 2. 解除 `禁止控制台输出` 限制。
336 | 3. 解除 `防止格式化` 限制。
337 | 4. 解除 `安全域名` 限制。
338 | * 提升代码可读性
339 | 1. 合并串联字符串(`'spl'+'it'` → `'split'`)
340 | 2. 转换十六进制数字(`0xf` → `15`)
341 | 3. 替换索引器(`Object['keys']` → `Object.keys`)
342 | 4. 转换Unicode字符(`\x22` → `"`)
343 | * 格式化代码
344 | 1. 将代码根据语句进行简易的代码缩进。
345 | 2. 因能力有限且类似工具颇多,不做更多的优化和处理。
346 |
347 | ## 使用须知
348 |
349 | * 解密文件中必须**有且仅有**通过某些**特定的**加密器加密的 `JavaScript` 代码(允许经过简单的格式化),解密前请将无关代码(如 HTML 的`