案例-艺恩网站-ob混淆
网址: https://www.endata.com.cn/BoxOffice/BO/Year/index.html
切换的时候抓包:


看一下请求参数:

看看返回的数据:
可以观察一些看到返回的数据的基本都是0-9A-F
经过了: 明文 -> 加密 -> 字节 -> 十六进制的处理

下面来找加密入口
全局搜索,搜URL:



打上断点:

注意看下面这行,e参数传进去,经过一些列运算,e重新赋值了,所以传进去的e 和最终计算后的e不是同一个值,

可以看到e的值是:

当鼠标在上面划来划去,选中下面,下图变色了,变成黄色了,意味着e被运行了。
如果不小心已经被运行了,我们需要放开所有断点,重新来。

再看e,不一样了:


摘出来看看:
1 == (e = "{" == e[0] ? JSON.parse(e) : JSON.parse(webInstace.shell(e))).Status || 200 == e.Code ? r(e.Data) : 200 == e.code ? r(e.data) : o(e.Msg)
首先,判断 e[0] 即e第一个字符串是不是等于 "{" ,相等,就执行JSON.parse(e)。
前面已经知道了e是加密的一串字符串,"{" == e[0] 所以这个判断就不成立。
所以直接会走到后面: JSON.parse(webInstace.shell(e))
这里就能暴露了加密的入口:
整个执行流程如下:
e是个密文 -> webInstace.shell() -> 计算后的数据 -> JSON.parse()
从而可以得出:webInstace.shell() 是一个解密计算。
webInstace.shell() 计算后判断状态是否等于一些值,随后就把数据放到了网页上。
看一下 webInstace.shell() 内容:

在console输入: webInstace.shell,然后点击它

进入 webInstace.shell() 函数,然后设置断点:

看到下面的数据没有解密:

看到下面有大量的 0x2246

可以看到这个函数有大量被使用。所以 0x2246 这个函数就用还原字符串的函数。

找到最上边:

粗略分析一下:atob 就是Python 中的 base64

也就是:

分析这句话: this[_0x2246('0x257', 'nArV')] = function(_0xa0c834)
在console看看:(之后都是这种操作,不再赘述)

this['shell'] = function(_0xa0c834) 也就是 this.shell = function(_0xa0c834)
所以知道了为啥用的时候直接用 webInstace.shell() 就可以了。
并且最后面可以看到:

再来看 webDES 是什么:


把函数摘出来,从 var webEDS = ... 开始
ob混淆函数
var webDES = function() {
var _0x4da59e = {
'bUIIa': function _0x2a2af9(_0x779387, _0x4a4fec) {
return _0x779387 + _0x4a4fec;
}
};
var _0x9843d3 = function(_0x29d556, _0xcc6df, _0x3d7020) {
if (0x0 == _0xcc6df)
return _0x29d556[_0x2246('0x254', '4VZ$')](_0x3d7020);
var _0x48914b;
_0x48914b = '' + _0x29d556[_0x2246('0x255', 'GL3Q')](0x0, _0xcc6df);
return _0x48914b += _0x29d556['substr'](_0x4da59e[_0x2246('0x256', 'DK[&')](_0xcc6df, _0x3d7020));
};
this[_0x2246('0x257', 'nArV')] = function(_0xa0c834) {
var _0x51eedc = {
'pKENi': function _0x2f627(_0x5b6f5a, _0x440924) {
return _0x5b6f5a === _0x440924;
},
'wnfPa': 'ZGz',
'VMmle': '7|1|8|9|5|2|3|6|0|4',
'GKWFf': function _0x1a4e13(_0x40cfde, _0x16f3c2) {
return _0x40cfde == _0x16f3c2;
},
'MUPgQ': function _0x342f0d(_0x19038b, _0x4004d6) {
return _0x19038b >= _0x4004d6;
},
'hLXma': function _0x55adaf(_0x45a871, _0x161bdf) {
return _0x45a871 + _0x161bdf;
},
'JdOlO': function _0x13e00a(_0x5899a9, _0x4bb34d) {
return _0x5899a9 + _0x4bb34d;
},
'qrTpg': function _0x1198fb(_0x55b317, _0x22e1db, _0x1b091a) {
return _0x55b317(_0x22e1db, _0x1b091a);
},
'pdmMk': function _0xe2b022(_0x4af286, _0x4c2fd4) {
return _0x4af286 - _0x4c2fd4;
},
'xVKWW': function _0x1094a3(_0x5f3627, _0x2a0ac5, _0x3ad2e5) {
return _0x5f3627(_0x2a0ac5, _0x3ad2e5);
}
};
if (_0x51eedc[_0x2246('0x258', '@1Ws')](_0x2246('0x259', 'E&PI'), _0x51eedc['wnfPa'])) {
this['_append'](a);
return this[_0x2246('0x25a', 'GL3Q')]();
} else {
var _0x492a62 = _0x51eedc[_0x2246('0x25b', '&59Q')][_0x2246('0x25c', ')q#9')]('|')
, _0x356b01 = 0x0;
while (!![]) {
switch (_0x492a62[_0x356b01++]) {
case '0':
_0x554c90 = _grsa_JS[_0x2246('0x25d', 'E&PI')]['decrypt']({
'ciphertext': _grsa_JS['enc'][_0x2246('0x25e', 'sy^o')]['parse'](_0xa0c834)
}, _0x2cf8ae, {
'iv': _0x554c90,
'mode': _grsa_JS[_0x2246('0x16c', 'O^50')][_0x2246('0x25f', 'Who^')],
'padding': _grsa_JS[_0x2246('0x260', '7IfV')][_0x2246('0x261', 'E&PI')]
})[_0x2246('0x1c', 'yY#5')](_grsa_JS['enc'][_0x2246('0x262', ']2BX')]);
continue;
case '1':
if (_0x51eedc[_0x2246('0x263', 'Jsmq')](null, _0xa0c834) || _0x51eedc[_0x2246('0x264', '!2eC')](0x10, _0xa0c834['length']))
return _0xa0c834;
continue;
case '2':
_0xa0c834 = _0x9843d3(_0xa0c834, _0x2cf8ae, 0x8);
continue;
case '3':
_0x2cf8ae = _grsa_JS[_0x2246('0x265', 'RQ2o')][_0x2246('0x266', '3j7z')][_0x2246('0x267', 'RQ2o')](_0x554c90);
continue;
case '4':
return _0x554c90[_0x2246('0x268', 'cs*4')](0x0, _0x51eedc[_0x2246('0x269', 'MVsm')](_0x554c90[_0x2246('0x26a', '0J6f')]('}'), 0x1));
case '5':
_0x554c90 = _0xa0c834[_0x2246('0x26b', 'UwHa')](_0x2cf8ae, 0x8);
continue;
case '6':
_0x554c90 = _grsa_JS[_0x2246('0x26c', '4VZ$')]['Utf8']['parse'](_0x554c90);
continue;
case '7':
if (!navigator || !navigator[_0x2246('0x26d', '0I#o')])
return '';
continue;
case '8':
var _0x554c90 = _0x51eedc[_0x2246('0x26e', 'Yb4P')](_0x51eedc[_0x2246('0x26f', 'BQ5p')](parseInt, _0xa0c834[_0x51eedc[_0x2246('0x270', 'Z2VK')](_0xa0c834['length'], 0x1)], 0x10), 0x9)
, _0x2cf8ae = _0x51eedc[_0x2246('0x271', 'yY#5')](parseInt, _0xa0c834[_0x554c90], 0x10);
continue;
case '9':
_0xa0c834 = _0x9843d3(_0xa0c834, _0x554c90, 0x1);
continue;
}
break;
}
}
}
;
}
可以看到声明的对象:var _0x4da59e 和 var _0x9843d3 ,但是并没有参数任何的解密操作。
后面有一个 _0x51eedc[_0x2246('0x258', '@1Ws') ,而 _0x2246 前面已经介绍过,是用来还原字符串的。
运行一下:

其他 0x2246 函数都可以通过这样的方式运行出来:

再还原一下这个:

继续像下面一样,扣出来:

if 语句还原成如下所示:

其实就是废代码,没什么卵用,可以直接删除掉:

再来看下面这段:

可以还原成:

再看上面的,对应上:

做了运算后,就是:

进一步处理:

而 0x0 其实就是 0

看看 while 里面的是什么:

放到console里跑:

所以就是:

再来看switch,这个非常重要,switch 其实就是 开始循环数组的内容:先是数组第0个也就是7,第一个也就是1,第三个也就是8,,,,直到最后一个循环完。

所以第一个运行的代码就是 case 7 ,也就是下面的内容先运行。

再运行 case 1 ,也就是下面的内容:

可以看出,上面的switch case 语句其实就是 控制流(也叫平坦流),是用来混淆执行顺序的,我们可以用数组来还原数组的正确顺序。
还原成正确的顺序:

再把各个看不明白的东西还原:

放到console里看:

navigator对象在window

正常浏览器都有navigator,而且不可能解密的时候,第一句话就返回,所以下面两句话可以直接干掉:

下面这些语句,其实就是把常规的运算符进行了封装:

ob混淆的代码,可以改为(已经把一些看不太懂的变量改成 a、b、mi等):
var CryptoJS = require("crypto-js")
var _0x9843d3 = function(a, b, c) {
if (0 == b)
return a['substr'](c);
var _0x48914b;
_0x48914b = '' + a['substr'](0x0, b);
return _0x48914b += a['substr'](b+ c);
};
function fn(mi) {
var a = parseInt(mi[mi['length']- 1], 16)+ 9
, b = parseInt(mi[a], 16);
mi = _0x9843d3(mi, a, 1);
a = mi['substr'] (b, 8);
mi = _0x9843d3(mi, b, 8);
b = CryptoJS['enc']['Utf8']['parse'](a);
a = CryptoJS['enc']['Utf8']['parse'](a);
a = CryptoJS['DES']['decrypt']({
'ciphertext': CryptoJS['enc']['Hex']['parse'](mi)
}, b, {
'iv': a,
'mode': CryptoJS['mode']['ECB'],
'padding': CryptoJS['pad']['Pkcs7']
})['toString'](CryptoJS['enc']['Utf8']);
return a['substring'](0, a['lastIndexOf']('}')+ 1);
}
console.log(fn("3FE06A264B7597DA6C986227E2FDF4F90CB747496D6CE9E2A1EBBEE35CD3199644E5E8216C914B720687790FB153814D6773BEDEF0FB8C04FFCB3B864216DD01CAA8CB3693E76F373BB663A2274F45EF56DE32E0E9867F6BF2FDEE84C9282542CDAE9AE6C873B9A9108BEF743A37FA5A60B05A142FEE55ABF854A2FADE1912CBE3538FC1BD883D89D55EE16AD2E611C3362D1E756AEC903B7FD3C2E95C533F0B50252A3277C8D9A592AF6867C2767A3683EB03A32981D7BCC4FFEEEE17E241403E17A96EB81D4B9E4609C94ED20FD715EAB5623CDD586C61DFBF5A8C39BC9B58F69AF5870B62B8FEEA1AB91883FECD9ADDE41FADE66DBD0070A439FD6D88A26C18E9C47F85E8A3E9E98B869CC2C3A8824C099144BB330D6206C2015554869E1F8E9055BF724979FB4DAFECB9AAF1DCF7CCEAE173521648A4E73C4E104F01936069C7BC5F6CDC2345E106B0D0FF1CAD6B8DC9EDF5F27AE88A86E88D49B04A9A2BCB9E9BC038590D771028BEDA8F0D62042BFB57F252C272160EE0BC6C892157A85FC88C7BA348D7778BC38FB22C4C79116AAEF691A5D60A33FD74994B8414E3F2E48741640E256EE20A2F9EA7F382977927F1869ABD99F672AFD05C91F417D0D488A839B1F5C9B2DC51040F4252A6319DF650193B76DBEE52B530298596CBF66058B25B87D6093F4FDD8191F599ADCDEADA97BFDA8C467638728D1238E14BFA4A37F9D80E5B99AB21D6D55603E8A6C4FC3E49E20BC0990B6874E6B0FEEEBAB0C2139136B8AB6D3FFD0CD5B8D9E153814D6773BEDEF2DC3829EABC3AC12216DD01CAA8CB3693A596E48A7E9CB15C3B390297C863606461FBD6AB5E36C87BBCCD9556186AB81A5E7F3B82F8404CD8D14EC0FA00481DAF014988AE1C7D060F486B5BEB8DD62217862214D93EC8DCD439535401225A6935F9F4B14F47173717DF80E19CBF7AFFA1F5971F24B85A15806166370FB04527DEA5E089D57EA62D8264DBCDE5D5FB773C08A012D1103EC76767C6DC4DC3C2D3FBF8F685C838E6F075D5348C73CDB8C4D6931F6A9D8EE0768182F3BD275BB54B261278697BC40A9C697CE39E77B035742F56C3553B37F81482667AF7721AC9BA047FDFB536176454A1220591530ECFD16A4038B9BACCBE3BBD6E7ECE45967EBD6D482CC713F73A95EC266BA2F2FD5D1E08D3B34BDF8045C6EE80C130B2A8586206F46BDBF96D1151B97365425EF3EAA30409B0A257E155758A2B2C0C08AC58440399F369BA11771890AC2F89C33981C62456BF91B9331413A7E7E5258C452CFE1C4E05A5D36524346BBC7BAAC716D8CCE734EEB6F3A4FDA3AFD79A3B4B55ED766D343760F4A1B45EFC7244C7DAD0293589A55B918085D645631099BBA5EF2551CAFAD73C12C0FF7D322B178F3F05F318A27FCA94CE48C185CF2B3CE3823E604C818D9B2B8FAF781CBE0BA34961496727720F96128E7150D6FF88793107DC88949C6A89604CB57FF35284EEE82C50C5601C28D5280E64BE0B5D9D267F34467B3F2FBD52A4199D91BDF3DE41BDD253CB95EF6AD8BFD4B141F6B87F62E19DF463BC5092777B67EE0FA14E7B8B40BFF6947AD9CA6CEA36008173AD5331C90EE821B1C33244B13CA50784046398749F7861F7AE1912CBE3538FC1B354649DAEE2430082E611C3362D1E756816E11F7C66111DEC533F0B50252A3277C8D9A592AF6867C2767A3683EB03A32981D7BCC4FFEEEE17E241403E17A96EB81D4B9E4609C94ED20FD715EAB5623CDD586C61DFBF5A8C39BC9B58F69AF5870B62B8FEEA1AB91883FECD9ADDE41FADE3B2F3647109E447894984B295D4C968D2DDCEE4CFB55D54AB4E9DC66666E86E933BF0F11EFC0A699E3E0516B1CD9AC5124979FB4DAFECB9A0055935FAE482F8C67B5162437CE9451F01936069C7BC5F626E82AFD1701134C5CBCDDF53F7D7A7A4E78AFE1ABE7896C27AE88A86E88D49B04A9A2BCB9E9BC035A4D0A77292B609FF0D62042BFB57F25DB7D98EEBB6938E135968675AB6173D6B9E991BCCF2A4CED55189EF80ECD62CE1DAAB668866CC3B9C533F0B50252A3276BFB9DC59FC4BAFC2767A3683EB03A32981D7BCC4FFEEEE1BB2A2FB9DFC553228F2ECBF95B78350420FD715EAB5623CDD586C61DFBF5A8C39BC9B58F69AF5870B62B8FEEA1AB91883FECD9ADDE41FADE66DBD0070A439FD6EFDB00A85EED5EDCE6AC918E1AB8E155E426AC2D55E888DE964F3DA76786D0B2FBCD5D49E310E26D24979FB4DAFECB9AAF1DCF7CCEAE1735F26C00A2A4AF8C87F01936069C7BC5F66C3C43EBF8F9B05B7B426036B50452DCE7B8B40BFF6947AD9CA6CEA36008173A43E86029FE9D606C33244B13CA507840CA2BB16BA2C3ADE5E1912CBE3538FC1BD883D89D55EE16AD2E611C3362D1E756A5D6770000136C05C533F0B50252A3277C8D9A592AF6867C2767A3683EB03A32981D7BCC4FFEEEE17E241403E17A96EB81D4B9E4609C94ED20FD715EAB5623CDD586C61DFBF5A8C39BC9B58F69AF5870B62B8FEEA1AB91883FECD9ADDE41FADE3B2F3647109E44784CEF338EED437957DE051AE1A7546CFB2261AF0927D9990FAF96E76EB1DD0157E9BB4D76D95C2AB824979FB4DAFECB9AAF1DCF7CCEAE1735F46B65FCED3E2A71F01936069C7BC5F6E60F9C94F0CB283F51373862FECEB716E7B8B40BFF6947AD9CA6CEA36008173A43E86029FE9D606C33244B13CA507840B02DAA3A27DBFA9DE1912CBE3538FC1B63E286AE54A0F1472E611C3362D1E756E2F5FDFF4E1937567B96A6A2EABC678DD3AE1E819D87A2EA3CDF9B51536B1787DD8284731CB352EE17D8299790EB7D7000C08BDDC833FBE6043CC587D16B341AF96FE4E3404318A9B2E1114DC996CD750A79CCDECCAB198410AAB35300FAA73E1E68C71A11F6F822329B51C4B1E337A83341FAA4BAECC752848F74AA8123ABF6AEEC6C928CC6337E1F0E95182526CF094C150859789A61523BCCE0D16ACB4DC7FC0A8D10390108CB3944A98D715F4C6CB496E19FD503E76CEC978F47E72FCEF8F9C57E40FB0DF74B9FB8673AB0602EEDC64FC3445EB1950741F39C3785CAE47F81F34A98FFE4C8DEB094F8C71A8E1A8ED8BA211D1F995199DD777AB65CB950C75F9F4B14F4717371AB679990AF5691DDECCB1862FB70CF8CFD994185D0C832EC6D2822E15075C66661EA9E128D4561913DDC556838D932E3332DD430A686EFEC1B0B2BB00528E6291ACB9BC1E0F8176030CBACB2DA2D64B8359823422FB7FE472C143D4C27D41EC604D3428DD27E43FD266D2F572FB7D681C848186E0BBBB5EC1B4DA68A0304FEDD6A1AB1F665665408E26581B81EC6CD7862228B8EB0AB41D68C886061F9E6B117CEDFA0BA945089414EFC81501E71E65A9AD60FC2312523E979F98D83789B5D44A99FE4D8052FD063E7B8B40BFF6947AD89712FDE25C27FFF21645E0C0DD3F4F333244B13CA507840030EAB152DC3387EE1912CBE3538FC1B63E286AE54A0F1472E611C3362D1E756D88F5C6B6D22F6507B96A6A2EABC678D50FAA3E27CDB3A323A483DA5D8C69D52D7827306782C7E87C08A012D1103EC76724669E12D27543DDD863B52BD914A415D5348C73CDB8C4D6931F6A9D8EE0768182F3BD275BB54B261278697BC40A9C697CE39E77B0357429B05FE7DD957374266F3B1DD4265CAE88D12FD97995EBB893EB361FD8346D9B006D70AFD9158CCD0E0E560AB8580C0FB8B0EC2417D30AAC1C266BA2F2FD5D1E0F12FBC69AC8A632F8FF57DE956F62CF18B76720AF239481DAC43E1694F389D559867F6BF2FDEE84C3EA3FCD05F3DF9BE6F7A5A3FF4A41502A37FA5A60B05A142007316DDBA8D4A755CF7DD0ACDECBC9CD861B53DC1F5A75B2B48ED0244C3CDE9820A7BB70AB6FF5F1CD72E2F8F7C22F897447D347FF1FE88C7244C7DAD0293589A55B918085D64565CA13192AC85D06BAFAD73C12C0FF7D322B178F3F05F318A27FCA94CE48C185CF2B3CE3823E604C818D9B2B8FAF781CBE0BA349614967277194A0C858DB8584BE3CD1F31F3614ACA397A43FF589B1547A675D9CA89FD26C58BB74820DB8252BD69E737CF9FAE50A3FBD52A4199D91BDFB65C84B8005620B94B6FDE940947013B87F62E19DF463BC5CA635603D9D5F6D3C1A37046F2107DAA9FC242B7086B3064BE9054DFBB9B3B9213D7B54D937EDF0CD820B5782556CFEC9EC36DD1A9FFABA5C684674E5BB1C4140E7182E3F9C8E2235F9F4B14F471737195B7B6D5FA843AEBECCB1862FB70CF8CFD994185D0C832EC903C6A9BB6A6CD7C61EA9E128D4561913DDC556838D932E3332DD430A686EFEC1B0B2BB00528E6291ACB9BC1E0F8176030CBACB2DA2D64B8359823422FB7FE472C143D4C27D41EC604D3428DD27E43FD266D2F572FB7D681F4742CE65E1F134BFE11D6155C08B7A9098C9312A6D5B571D9153A7E3C7A6CA520CCB66DD22B73218C886061F9E6B117CEDFA0BA945089413150C8980B10EF8C9AD60FC2312523E98EA1E3326A2797E43C2F8D15A875233A9790119F5B2415F18D14EC0FA00481DA3621F1A920D5CA65F486B5BEB8DD6221A9EF4CD66B2A75773A5EFA72F55F6BB1ABAF78E3D683E444C4C79116AAEF691AE8B406DB0B9297111FABCEF8A4834A9DE1B5E042008C27B01C425CBD267E481E3CDF9B51536B1787DD8284731CB352EE9CCA918625607C3600C08BDDC833FBE6043CC587D16B341AF96FE4E3404318A9B2E1114DC996CD750A79CCDECCAB198410AAB35300FAA73E85E8D5908602B56A2B70560E3C0FA262C2696F393C31CFF17636179EABB004E346C206BEB5AF0B7FD9916B39A2F334BC4C150859789A61523BCCE0D16ACB4DC7853D90C45350BD373944A98D715F4C6C088F20F3CE41173C87AB4BC59CAA9264482E6CF8645BD30AE7B8B40BFF6947AD89712FDE25C27FFF21645E0C0DD3F4F333244B13CA507840CE03F4B865859E365CF7DD0ACDECBC9CFE607525E57C856E2B48ED0244C3CDE9A1703FB1FA27BC3AFD79A3B4B55ED766D343760F4A1B45EFC7244C7DAD0293589A55B918085D64564EA1EDEFEE9218CEAFAD73C12C0FF7D322B178F3F05F318A27FCA94CE48C185CF2B3CE3823E604C818D9B2B8FAF781CBE0BA34961496727720F96128E7150D6F715B5CC7EFB840BC0B77934358517ED643970BE8C2A04C5A075A6CEDDCB5C527778BF03BCDCE9BD1FBD52A4199D91BDF9662C3DCBCE07960714076637E49211287F62E19DF463BC5BFFE38240BE8CD05A25A1A4100192175409B0A257E155758A2B2C0C08AC58440399F369BA11771890AC2F89C33981C6254A44E91887908E1415952ED3497A2C1937204F790607D652F0464B3B9EA6B6C5342042D1C0537F8EA5E089D57EA62D86EC4BD7CFA67CDD6616D4BB9C4C674087233D1A318CCD1BBC7B87CC43CD7EB6D42DB552E95B149FA49E2351C4A44E120EB63138BFCCC3A70C3A820BEBACE0969EF69F1C632F982BA7B0331986D8F5820E1410A5E1EC51119F5442845190ECA8A3C9C9496E48A6C6F170090A98FEC71AF9AFFCDB5F8ECB1026FA61139494C077FB2AF791D364C84768EA7F3ED191FC613093400A2BE9D0FFA6A9B180100DBD8D7EF02A502531849986BC3A354BB79C81B946141860C635F09BDC240D4F2DBA56213D7B54D937EDF0C372A748FE9F81285D011D2D7D9B26C99C684674E5BB1C414737130218F61DBEE5F9F4B14F47173719B386EA0B1018942FD5AF0D123286A2FFD994185D0C832EC6D2822E15075C66661EA9E128D4561913DDC556838D932E33DBB4BFBD524842F57C11C3072FF8F861ACB9BC1E0F8176030CBACB2DA2D64B8359823422FB7FE472C143D4C27D41EC604D3428DD27E43FD266D2F572FB7D68158896AAA056C98CEFE11D6155C08B7A9E5010161E941BD21F0C12D53C06118D75E8166E421AD89798C886061F9E6B117CEDFA0BA9450894186581800F490672C9AD60FC2312523E9F71D7EC21BF152A6930D016894F4ACD2A4B79B1E39F753DDEBD655598FC158FC34575947A8542D05490CFCEDA19817F48D14EC0FA00481DAF014988AE1C7D060F486B5BEB8DD62213A612ED93684EA467AD877818EC52D9706F03A62EA31FDFDC4C79116AAEF691AB30FE74C966FAA9E1FABCEF8A4834A9DFB2868F308060CC87233D1A318CCD1BBC7B87CC43CD7EB6D4CDA22D174121CBE9CC9C49F279E783CEB63138BFCCC3A70C3A820BEBACE0969EF69F1C632F982BA7B0331986D8F5820E1410A5E1EC51119F74A993E44649A840CCE398BF3C7638BED08FF5BF637FC1C100D6BDFD0F6F92D6E676E23533E50AB966E626E708A19778EA7F3ED191FC613093400A2BE9D0FFA1D23774CA0A38EEEEF02A502531849986B5FB21BE94B15DD54982675A0F073E35E20EC0699ABFE2BDC7915F5CAF9788113D7B54D937EDF0C372A748FE9F81285D011D2D7D9B26C99C684674E5BB1C414CBD5BD66C979D5B15F9F4B14F4717371AADE9337D5BBD17DF02D55DC3605C180FD994185D0C832ECC4E8447E6C1BA9A936BBC638466AB5AD3DDC556838D932E33DBB4BFBD524842FCD990C8F7660F1581ACB9BC1E0F8176030CBACB2DA2D64B8359823422FB7FE472C143D4C27D41EC604D3428DD27E43FDA2ACD4499BAB82FC10D6F4AF93AE813AB6C5513A892B779167753A1FC8A15FEBC48CD8D9DDA56CD48A33B8C0CBB6A51B8C886061F9E6B117CEDFA0BA94508941D569DC76295DCD239AD60FC2312523E957E482AF3235691E5978BE9E120056A1E73C909260E70EAD239551E06A5EE5E85D6BB235F3503555E96C928C28BAAED44FB67FDA110DD45FC0CA413521641D20BBA291732CF639F79CA0B5CEB29FEBF7224DE7ABB2C95BA855189EF80ECD62CEA99CAA1776AB40C6C533F0B50252A3277C8D9A592AF6867C2767A3683EB03A32981D7BCC4FFEEEE1546901E7A70A04564804A1DF9137A83120FD715EAB5623CDD586C61DFBF5A8C39BC9B58F69AF5870B62B8FEEA1AB91883FECD9ADDE41FADE3B2F3647109E4478BCAD2DE8185A32941287664C29250036FF4AABB058A2CEB4D7F965CB65A7EC8FB4F5FAB06D5BE49324979FB4DAFECB9AAF1DCF7CCEAE1735B576A093F6099676F01936069C7BC5F6E1A80B1F0B85145E4C2E9CEBCA980E556365622008424AB5B04B106E092BDBA29867F6BF2FDEE84C3EA3FCD05F3DF9BEF8D46D947DB3D6D5A37FA5A60B05A1425B4A4619E44FD3017E7E5258C452CFE1019B92794A5A4324BBC7BAAC716D8CCE5CC05E38F196CA4D3FC3F73EFC52E57AB0720D685DF4E773C1B8142C2024B7D07A01F48A4ECF44FFB44C3B28D70B1F5F3C66145C721291716FD9F5A973AD062470930420DF18F4280524D193198F859554320532F78579041137CB9A6FB6C935E67F93185A5BAC37008D91686B7D657D794C0910C4C4ED0B12D5619330C5C38D299E60B855E8E7F310E782C173D7CB1D90947574A6AE6D427AA23F71835C2DF097FC77566E25E73FBDAAB76D7CC89206295409944AC5DC8081050A5047F819DE59C7BC65AC082FC027AE88A86E88D49B04A9A2BCB9E9BC0341091595F9382CF1F0D62042BFB57F25CD750B2D966C3DDE5CF7DD0ACDECBC9C1B1FD93FBDDB850A2B48ED0244C3CDE95F62BD84D1187A4DFD79A3B4B55ED766D343760F4A1B45EFC7244C7DAD0293589A55B918085D64567C7138BFE01317E5AFAD73C12C0FF7D322B178F3F05F318A27FCA94CE48C185CF2B3CE3823E604C818D9B2B8FAF781CBE0BA349614967277194A0C858DB8584BD3AABE0341F2D2732B5D91F26A24418DE113B94113086974927EAFF3306BBD449F22C7AB6A28DCCEFBD52A4199D91BDF7941897EA37D6B2E83596EDB83176FED87F62E19DF463BC560F5C1D1A1826746576B9A534DFD04828D14EC0FA00481DAA7A2D0D6D2DCCCC2F486B5BEB8DD6221EE81E2EB083E523F3B0FB93B301ED1BCDCA1B0BAD1525BF155189EF80ECD62CE03225DE294FE2A01C533F0B50252A3277C8D9A592AF6867C2767A3683EB03A32981D7BCC4FFEEEE1546901E7A70A04563C5738E875EA7AEE20FD715EAB5623CDD586C61DFBF5A8C39BC9B58F69AF5870B62B8FEEA1AB91883FECD9ADDE41FADE3B2F3647109E44783BCAFD9ACA02347D8485F70ED2126841BF2183158D0CB851B9AD6E8BEC8E0B46D1DA0C62E98E4D7F24979FB4DAFECB9A0055935FAE482F8CE0C71EEC32310966F01936069C7BC5F694170DD5BE3B016761B5498943AFD986E7B8B40BFF6947AD9CA6CEA36008173A9453DCCEB31B52F133244B13CA507840BFD36A44141D95727E7E5258C452CFE18B1D41A833E25442BBC7BAAC716D8CCEA926BC6C519F8C37FD79A3B4B55ED766D343760F4A1B45EFC7244C7DAD0293589A55B918085D6456421DC129B7DAE772AFAD73C12C0FF7D322B178F3F05F318A27FCA94CE48C185CF2B3CE3823E604C818D9B2B8FAF781CBE0BA349614967277142885E755534A5A163EB30879F13EB012E377DC35631F2DD7B37641ED515D11E14862292A7BC445CD32E849876512CDFBD52A4199D91BDF8B9B8D3B600825DDED74B2C31E0F863087F62E19DF463BC51B4183A4E0071B3D7F48217D2A2804AA409B0A257E155758A2B2C0C08AC58440399F369BA11771890AC2F89C33981C626817AA185345BC505F9F4B14F47173716C4C3D0A8121BE831F837E9A45D56AF6FD994185D0C832EC267F1B4ED40275EDABF1DF88A66BFAC73DDC556838D932E3332DD430A686EFECDC178E1A26DA61C31ACB9BC1E0F8176030CBACB2DA2D64B8359823422FB7FE472C143D4C27D41EC604D3428DD27E43FD266D2F572FB7D68158896AAA056C98CEFE11D6155C08B7A9B2BF275B5D801F956EEEAFA27A293F7B12448CF3D0C5010D8C886061F9E6B117CEDFA0BA94508941FF28C667D4742C1A9AD60FC2312523E9A1A456663205840F436A4A5DE1C1EE3CF529C72A982807168D14EC0FA00481DA7FA1F83F6F92094DF486B5BEB8DD62218FD521950BB5E905FE93079BBA90D01D704A8471DFB1531255189EF80ECD62CE11D1BB9FA392DE6FC533F0B50252A3277C8D9A592AF6867C2767A3683EB03A32981D7BCC4FFEEEE1546901E7A70A04564804A1DF9137A83120FD715EAB5623CDD586C61DFBF5A8C39BC9B58F69AF5870B62B8FEEA1AB91883FECD9ADDE41FADE3B2F3647109E44783BCAFD9ACA02347D8485F70ED2126841AB4A96C9CAEAB37B3F8166784278DC10C52BB3336B8B915B5A038EB60A24CF128A6C3A09FD544369D5A158DC0AB1C0BE261FCDDB74BB13C4"))
Python代码:
import requests
import binascii
from Crypto.Cipher import DES
from Crypto.Util.Padding import pad, unpad
import json
url = "https://www.endata.com.cn/API/GetData.ashx"
year = 2023
data = {
"year": year,
"MethodName": "BoxOffice_GetYearInfoData"
}
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36"
}
resp = requests.post(url, data=data, headers=headers)
mi = resp.text
# mi = "7CCD603983B4AFF5BD9B8012F0008B3449376A09B6E253B2449CF451BD7275FD15BB9244F1E3D47B829922A64519D9488BEFFBB5C3D2255D5AB23DF289195C3A3191883CD342DDE7F3FA5DDF752C043C8C0E794444410DE21515766211B4CD89F40B9E90F2F605F44EE4FDDB79DDAC06DAC064E07039E0D6FE84AB46DC65AEEEAFD101B0E362DF83B45494E8B604725FE2FAAA1A32295D143D72BD5973DAD80BF6CAC4273B319998B26DBAF8D5F33CFDB7D89C3B89FC47D11E61E8CDB68D5AE496C44DFD89DED921324A4143D7DB0B5F93C69A147585739EE66BF1A18BE8253AC583C75AFE387D6997F633B0E6B29ED19D59C2668DA06A93EDF3DDC5142086D4A2FC3886A9AF007B661CCB2BF3E7AE47C40E9844A1AC1D14A812690D344392354406D7FA52E3625CB04B62FE71902B401552F4D7BB3FF1C640D9671B9C40A3598D8BCD2AE1E32F70AC9B6B3A017F0632FF342A43CDDA698678CB6AFA80DE1630A1D24E03281AF4E9C20AD96EB5457E8E3C8FA67ED647BFB7F436D307CBE155CF61CA2FD35C0FB5635472D03AEB9ABECFCFE50D9F202DD871BD3A735AE6A8EB1AF6ABBB4ED5C1DDE6FE9EEC76CD14B38ECEC24FEAFE6463CA45F392BDA36F8488BD2512617FD85ABBFF934D1C519C82308826C6327D240EE900575E82C221D62AF02A1563FE3D48147EC9A7A7F4BA6A75AB680C9CCEC17CD00FF14DBFC501754282BC762E22B55907C63DF32FE120056E07B5CCF840CB6463D95CE15B8D99A97D952ADA7F8A3653D4C78E34450519D9488BEFFBB5CF1AD4BF689715B0D9195C3A3191883CD1E1E30E8FF474C1DB4C0DCF573B763230B123B206451C189758D7414A940CE3F086F72CDCCD2DF32CB0A071293F9314A08311C408B7CDF1E3DE73CA7D759C8D48EEA8F09190874829792703422775229D36E9FA3655A4709C0E6161E18376E9E9BB3B10F3AF2D93F788C9A0634BB587365B93DFF0D84BC33351059F51E9FBF260F5707404B95156E4A5518CD6D1E1EB5BAB94BCEBA9D8DA1F70BB60794934923AF8FEA26552F58A3EB79755B6139DFE03EB3EEEF9752DCACE1EC4562CC8C8A01F8E6F92E45A428BFC53F1FE63D3A84C371E37D8974F376131B7EAC9A69C34DBF4FD531BFEF64601352F395105EB2DBEB0ADE17B7C5F719617E7DCE3A299A8D0EAE7ADDD12CFA5E865A55F2C68964F3527F0A591246F57A84E9028BD0423B24E1F92C37D39CF56804F884B243DC1B959BF011C5D3F0CC1A482695B206FB29668573E821BB3991AD609E034A624100DC8DB6D96AA502C7F9446B20D31DACB3C200B76F3CB42DCDFC32DCC344F9299EFA454438D3593F7BFB7671D7F39BE31FDB24CBC094971CE5D28E767A4AA28FC370B9DBB457B5A915E0491B9041C2D506CEC67BCCF50A6130C9A28B0BD860E43B31FDB013CE6B06D4F61742BBD8034DBB0DDFC73D3208283622AF6834E93AA311F46856D2C954FADE8661A6C08E54893F0754AF6CA8AAD8B2EC283EC7C35B7FFECF868F470A7CC8E9B30F1C2114256BBFCFAC18D74146B29B2B40CD2DD459D80BB532335BCA05A7E57D858D050AD199B1BD29BC4AC378B08F5ADC011AED28412D6AFFA0932F2B590F0C9F8AB358E51924F431C65AEEEAFD101B0E777B3A1A299C832D604725FE2FAAA1A3C2412DDB90083A193DAD80BF6CAC4273B319998B26DBAF8D5F33CFDB7D89C3B89FC47D11E61E8CDB68D5AE496C44DFD89DED921324A4143D7DB0B5F93C69A147585739EE66BF1A18BE8253AC583C75AFE387D6997F633B0E6B29ED19D59C26681BDFDFE0651CA358B9718729C63CBA5CAD4DD31643BE5FCE9669A46439F23D3DC6BDA0AB6AAEBCD109A70790353116852E3625CB04B62FE70888DE06E43FBA1E7CF65873CAF96BFDC40A3598D8BCD2AE9E60285A2E882CB6701A8B9968A75B15DF9369E6FC5D53BEDDA698678CB6AFA80DE1630A1D24E03201B8DAFD27A88D7C5457E8E3C8FA67ED91C219E64F317CFF9354347E82741A3DDDD271CADC5113CE9F407B90B03466DF8D16B96E3BAC953F3DAD80BF6CAC427338BC1B7B6B2450655F33CFDB7D89C3B89FC47D11E61E8CDB2BF6F714F8FD34F6F574CF26E0FC21E07DB0B5F93C69A147585739EE66BF1A18BE8253AC583C75AFE387D6997F633B0E6B29ED19D59C2668DA06A93EDF3DDC51EDB657FA7C19C556F0A2499381DBCA78FF940806196DC33B970D6D5058F4E7E6D20BB1F2B957530C2E3625CB04B62FE71902B401552F4D7B08DEF69CD2C94C12C40A3598D8BCD2AE535525B522865559F404E46D7C1CE1D58D050AD199B1BD29BC4AC378B08F5ADC9775BAAF622B6AA0A0932F2B590F0C9F1A48A9E810B4EFD2C65AEEEAFD101B0E362DF83B45494E8B604725FE2FAAA1A372101700981948593DAD80BF6CAC4273B319998B26DBAF8D5F33CFDB7D89C3B89FC47D11E61E8CDB68D5AE496C44DFD89DED921324A4143D7DB0B5F93C69A147585739EE66BF1A18BE8253AC583C75AFE387D6997F633B0E6B29ED19D59C26681BDFDFE0651CA358CE60C527E6F32C39CA298964D6F02E07679C6D3E2E2E12A0A904BAFA77937758F6F66D237DB1712B2E3625CB04B62FE71902B401552F4D7BF2E356A503B18970C40A3598D8BCD2AE43ACEF66E539BC571AC018C110AD626E8D050AD199B1BD29BC4AC378B08F5ADC9775BAAF622B6AA0A0932F2B590F0C9F69F1E1FA928623F8C65AEEEAFD101B0E929D1DA8F5CF5684604725FE2FAAA1A3686701125E667C4480E1EEB6F0942FFEC93742C9A3B27FDAB7ACAB7AD4CDA629D2F3DC9D776E50D5689974F09999F2BB9149A625692B75B305C2173FD9F0A2CB284F32FF700D0FF9613975A598DAF78D22B8B066D466F6D0E83947ED0BF1C4B790A31B73A7F83FEB0B9072E5D1B4F66E21A8D5B538FD9CCE71620C15745F2720560F9136DE070F712128C5640E4BC58DF929FD12AFE4DCE8E73C1C272598D0155DE9ACDEA1D5BC4392346C268329FE838D13E8FF2DCA01071C5AB00AB389B7AAEE02B7F3B8AF2B747D19715F4CC54BE1340E2BAD64EE9C33FFCAB2BC3F09353B7666D7F05BC1531E1933EB67632D9676B547A1D09316464A5E321AB362F26C41D36E9FA3655A4709EAB1EDF677D1105DC500CD47A4678C7FE09473128D2071F78F3828B95F4BAF42118315E8B9C78F906D16B122D430137F863E02A233998C7066168DD46DF2131E5B18FF09866E0424BF7CAF8AD3D2775694BEE1F8737FFB21CE023E924D8AAFE5CA6809824CDCB377D5A80498F076B0CF52C07D3C1FC93517F557393AD81A7684A199EDFDD412ADADB73FFFB405C5E255732F3A57A39E04E3078B10C2F94D34F251C915BDC725BA0D9475561811B29AC675343E89A3C06054070355B1A0E9527AD34DC18CD7159D6D8D050AD199B1BD2915B90BB680D7474E2626F919CA2B746FA0932F2B590F0C9FEFE858C27D49BAF4C65AEEEAFD101B0E929D1DA8F5CF5684604725FE2FAAA1A3038C5579C7C7AA9B80E1EEB6F0942FFEA08FCCAB7340DC8263BBCD26BFC8D69B3553B9ED13E502D70F5707404B95156E2D8EC9369FC654E9B55BAA6BC2C1D65CF70BB60794934923AF8FEA26552F58A3EB79755B6139DFE03EB3EEEF9752DCACE1EC4562CC8C8A01A52E4AC35AF271E6F591206384FFADA4006B0C7FEFFC50E07BECAA408F3D792544FDC1BDC153598EBE60C4A7E05925E43748A634B8264F617E7DCE3A299A8D0E842D808C5B1605DCCA121AB300712A4B4E775B12B1DA3BF7FBBDCD025C04941D4410DE2151576621DE59EDFBF92EC542B04C2321BFA3790F9DDAC06DAC064E072123ED376FEBCCB0103CF86B37C46266D81B86D1C8E807469FF676A308DC1186A87F1AEB80F3193FD017BF449C3349CC8A0A2CC694EA0A1171D7F39BE31FDB24CBC094971CE5D28E1B1762ED2B43ABDCDBB457B5A915E0491B9041C2D506CEC67BCCF50A6130C9A28B0BD860E43B31FDB013CE6B06D4F61742BBD8034DBB0DDFB7A2C37CD60003E32572D8E1DB5BC42DAFF3B3C0B4828E48F12C44783C72AAED635ABD1F7491B3F7A42C6E596315B1288F470A7CC8E9B30F4341EA42CE5C9B12411E7CBCE3625D56CD2DD459D80BB53277CB9D3D3BF3B85E3918190AF56E8DBAE2491D4BE99911289003CA6F9E666A778704AAECBB8C9FB159F13AE992C2ED70BF1844817E6457FA93906D10335DA734F2CBB2D86E69C5AFD36E9FA3655A470979D6BE5CC35724FDC500CD47A4678C7FE09473128D2071F727E1B6568DBC23EC118315E8B9C78F906D16B122D430137F863E02A233998C7066168DD46DF2131E5B18FF09866E0424BF7CAF8AD3D2775694BEE1F8737FFB21CE023E924D8AAFE5CA6809824CDCB377D5A80498F076B0CF8D74BD00090F925AB26100D0CDC29DE9FD87F00EF1ADB139CA1A4BC5EB9D8ED5B052A32B7E042D92078B10C2F94D34F251C915BDC725BA0D153B78A1C29AD9A475343E89A3C06054E07F18AB2C4744F10B039B1DDEF94EB8224CF10293D141A9CB0A071293F9314A4A3F2EFDC8DA94573DE73CA7D759C8D47CB883EFF53998051BF7AE8211AFC5BE754FFAD6CC02E554B9ABECFCFE50D9F2396030CCBFD55B7E9A8E96BBE6ACABA65F6BB759682A42F7B3D0B6D9F01C8629B7ACAB7AD4CDA629D2F3DC9D776E50D514454ED1750B57929149A625692B75B305C2173FD9F0A2CB284F32FF700D0FF9613975A598DAF78D22B8B066D466F6D0E83947ED0BF1C4B76F7C279E27E85F1BA01C3DE209758C69619FDB7D27B581F28DAA73877CD3194B9BA469C723ABB4F682411F7638661BA1F929FD12AFE4DCE8E73C1C272598D0156CE630E79FE48EDA92346C268329FE83D1F58F76ACFA0062C581148B7789FC31FA861348A73EC8498D050AD199B1BD2915B90BB680D7474E2626F919CA2B746FA0932F2B590F0C9F3F606C48A42CFCFE103CF86B37C4626611CFD3E90CA0005C9FF676A308DC11861B921D8A5968B86ADCC344F9299EFA454438D3593F7BFB7671D7F39BE31FDB24CBC094971CE5D28E987CECDF17DC32EEDBB457B5A915E0491B9041C2D506CEC67BCCF50A6130C9A28B0BD860E43B31FDB013CE6B06D4F61742BBD8034DBB0DDFC73D3208283622AF104B0E9597373FA873A6A06FE84639B75982CD4444B086B44CDEE72D128C4F35E403D2D099AF52F18F470A7CC8E9B30F3D770A7041B3692142AAB185371FE9EACD2DD459D80BB53251CFD9D18FEF186F49ED25A967BA513EF92C37D39CF56804F884B243DC1B959BF011C5D3F0CC1A482695B206FB29668557601A59665BAD52600C2B87282E275B0926F67CD21280D87C066B4CC4C3BAB40B7F1A2A7FF4869765B93DFF0D84BC336EF0E11AA37BC2CDDA1AD79DCF441B000455083A728AE58489151FD6DE7F4298DCA16AA4A26505285155A20750FFBE528BB7D9B0AB9010FE80C2E13FD3F62BBD42211399313E37CC702C8E4DF8C680388FEE14CEE3F059C905C4EC35047D8F1F007AED931AA5B8FCA87430FF8373D24DAD68C600640BD3AA63A29F8B19DC30CB0833DC02EB85DFDC2EE39A36EF61C45A49ACA64F088BA47BEBC85DC294227BCFFDC4127B0C5082F59D8738D03DCEA0E63C3EF741ECFEF9C9404A5991D3C166ED8704AAECBB8C9FB1C21837D485B7336C33F3A40B61550A6193906D10335DA7346CB6BC730BADBCBED36E9FA3655A470956C62A216B06BC16A44C2F56B5D405D1E09473128D2071F78F3828B95F4BAF42118315E8B9C78F906D16B122D430137F5C894F8768F9ADE300659BC0F9C7283A5B18FF09866E0424BF7CAF8AD3D2775694BEE1F8737FFB21CE023E924D8AAFE5CA6809824CDCB377D5A80498F076B0CF4C9D517E910EFA29B26100D0CDC29DE9D3A8261ACC1B933A3A53FBB9F36FDBD17BFF850CC86F1185078B10C2F94D34F251C915BDC725BA0D75A66245DB9D1F1D75343E89A3C060546640C3AE70FE55FC575B89D2C28BCB0764875F1D0962613C991270FA0081D3E27F075627584CDADA97D72533B8925117CB0A071293F9314A08311C408B7CDF1E3DE73CA7D759C8D43500D5C8905DEA503A599D820B2277184DE1C76B24CD2249B9ABECFCFE50D9F254AAF92AC3DC580E9A8E96BBE6ACABA6DCE264EEBB968ACF0455083A728AE58489151FD6DE7F429847F32DD1CA27B885AD39A3027B3A80868BB7D9B0AB9010FE80C2E13FD3F62BBD42211399313E37CC702C8E4DF8C680388FEE14CEE3F059C96A597594399CE4C20395D835C6133CB3BC3C2A2F765F6101079AC61E18629937E8674782A8FA28095831B217222F0C942EE39A36EF61C45A49ACA64F088BA47B25222BED59EE8030FDC4127B0C5082F5FAE93CC6BB0320D5CA57BA9560BE111A3E896FBE732B713E1EEF72035E2F1F1B8704AAECBB8C9FB1C21837D485B7336C33F3A40B61550A6193906D10335DA734D6F69A1940E491BAD36E9FA3655A47092A9CAE7769B6C5BF38AEF8928EFDE5D9E09473128D2071F7D758F4D8AF7516303D3C87CBB37A5CA26D16B122D430137F5C894F8768F9ADE3FA85307B1F48A3455B18FF09866E0424BF7CAF8AD3D2775694BEE1F8737FFB21CE023E924D8AAFE5CA6809824CDCB37799E75DCDE810B32B36A551AFD220203CE1969BD3C67A07F9F0BFB6A2AF651C3E3A9DE4DED5B61BC383BEB55F63719774078B10C2F94D34F251C915BDC725BA0DB1BFC3D32E21E52575343E89A3C060549B5CE85622C3128BB28D155086E251F2CF276AF6677ED0FF3AC644A9B8E43AB8E8D6433B7BF891D750EAA25E6051B8877F606EC4290789178AA949ED86D231DCDD1671B7BD0E20C25D9CFF99FA01218AFBEA1DA3554C2E399F407B90B03466DF91C0E33502088FBB3DAD80BF6CAC4273B319998B26DBAF8D5F33CFDB7D89C3B89FC47D11E61E8CDB7AB883FFAFA3EE72FD3453AEE047DC6C7DB0B5F93C69A147585739EE66BF1A18BE8253AC583C75AFE387D6997F633B0E6B29ED19D59C26681BDFDFE0651CA35872DE98F1443684579F96E6062DEC9845F7BE5944AFE6CE4891584FBB1C473F571F1176E935B4174D2E3625CB04B62FE71902B401552F4D7B27D038660E047EFEC40A3598D8BCD2AE6563ED0E953EB81C2CC57A14A4569348FCD0AD44BBC87D5A1CC42903202B8A5E4410DE2151576621DE59EDFBF92EC542F242EC00123045F89DDAC06DAC064E07A87C5C6DD90616849E034A624100DC8D7F99D49946A2AD576B20D31DACB3C2003D1B8E6DC3905F09A1480172793EFE4033159CEE258BFE7D26FA34FEB7A11148AAC918C6A1A5ECEE87E15A78DBE4E65D8793D65AA9C8C1AA86F293CE5040DBDF46355B577489942517273D8C26A6F313F7485897CDE9F3603F7921DDB2F26C7708DF02510FA90167F8E809F195139BCAB7086BD7646A1A12CA82ACB827519335C7678997F20F452870A482E8B5E30038A4D00EB1920CC133441DC03BB02A71DE4FE093C16F88718FD1524B0715942EFACFB497376ADE2FD256F03B63F7AC1218B2649873F3EEDA37DDA698678CB6AFA80DE1630A1D24E032799A33A96A79DB8A5457E8E3C8FA67EDE416730D11638A7C103CF86B37C46266C2F39848615C41679FF676A308DC1186AC251E4C3D6FACB4DCC344F9299EFA454438D3593F7BFB7671D7F39BE31FDB24CBC094971CE5D28EE59D0C7B4B22AEBEDBB457B5A915E0491B9041C2D506CEC67BCCF50A6130C9A28B0BD860E43B31FDB013CE6B06D4F61742BBD8034DBB0DDFB7A2C37CD60003E3F3F3AD34059BD1ED234CF57D3133B4DF9CF82CC5918AAD257E7763D3389884887B7F5C831277948E8F470A7CC8E9B30FB7D05C7B516A7B7C3AD3102A93DEE154CD2DD459D80BB532C37F655EF4AC67E700BF4EE630B1E63ACB0A071293F9314AE60C381B3C8C2B5F3DE73CA7D759C8D444855999BDD461739EA293C881B3B3362119FA9C2F0217BC9F407B90B03466DFC480722801E93ECC3DAD80BF6CAC4273B319998B26DBAF8D5F33CFDB7D89C3B89FC47D11E61E8CDB7AB883FFAFA3EE72BE322431A8D72DC47DB0B5F93C69A147585739EE66BF1A18BE8253AC583C75AFE387D6997F633B0E6B29ED19D59C26681BDFDFE0651CA358C9A2A2C0755F10F74F905B9D2C5449693C9E0AECAB19857BEBC81988A24348BC48B3D1ECF9609E3B2E3625CB04B62FE70888DE06E43FBA1E07B6AEC5C55BF642C40A3598D8BCD2AE54141C4AEE8F15AB50B078D8B525515A8D050AD199B1BD29BC4AC378B08F5ADCB26DB8187831EFB9A0932F2B590F0C9F862CDECCC8A377AE9E034A624100DC8D575937E982D282F66B20D31DACB3C20017D49E4C3E52F25DDCC344F9299EFA454438D3593F7BFB7671D7F39BE31FDB24CBC094971CE5D28E768E11A603118F25DBB457B5A915E0491B9041C2D506CEC67BCCF50A6130C9A28B0BD860E43B31FDB013CE6B06D4F61742BBD8034DBB0DDFC36ED3B8DAB10B3E485FB5152C8781CA64707431359E6F90A61254C119E0723F5246B4CEAD0FA4074D027B575B8C33288F470A7CC8E9B30FE34D77CE8A51A2B9A3B234E0C636D47FCD2DD459D80BB53245CA9AAFA2BAA29F4FAE6D9A96681A29F92C37D39CF56804F884B243DC1B959BF011C5D3F0CC1A482695B206FB2966853BD4E1887E792C51D36E9FA3655A4709A068FAC215614923F511F0C154704598E09473128D2071F7D18EB76336C0AC1F46326B51F5B314116D16B122D430137F863E02A233998C70C3977AC5D31CE6AD5B18FF09866E0424BF7CAF8AD3D2775694BEE1F8737FFB21CE023E924D8AAFE5CA6809824CDCB377D5A80498F076B0CF4C9D517E910EFA29B26100D0CDC29DE9A9A9954A3E265A63A3FCFD1707F77DA99CBE151FF96F7DA1078B10C2F94D34F251C915BDC725BA0DB9D57F624FE2E7E975343E89A3C0605413F58EE65E2157C41E813E9EFD026ED7B32D2F787792B9BACB0A071293F9314A257332329AC8F5273DE73CA7D759C8D4E0097E9F94FCF25FC6A13EE420CE426BC749284F13DE45E79F407B90B03466DF1AF90A749ED1C6443DAD80BF6CAC4273B319998B26DBAF8D5F33CFDB7D89C3B89FC47D11E61E8CDB7AB883FFAFA3EE72FD3453AEE047DC6C7DB0B5F93C69A147585739EE66BF1A18BE8253AC583C75AFE387D6997F633B0E6B29ED19D59C26681BDFDFE0651CA358C9A2A2C0755F10F74F905B9D2C54496992D3D537309D262B913A76E2ECBCE2A7735C77A8BECE35CA5E4750B926DF75DE74660AA4DFF4F3D74652E0D5C60148ADB4B527D62CA46413"
def fn(a, b, c):
if b == 0:
return a[c:]
"""
var _0x48914b;
_0x48914b = '' + a['substr'](0x0, b);
return _0x48914b += a['substr'](b+ c);
"""
data = a[0: 0+b]
data += a[b+c:]
return data
a = int(mi[-1], 16) + 9 # a = parseInt(mi[mi['length']- 1], 16)+ 9
b = int(mi[a], 16) # b = parseInt(mi[a], 16);
mi = fn(mi, a, 1)
a = mi[b: b+8] # mi['substr'] (b, 8);
# mi = _0x9843d3(mi, b, 8);
mi = fn(mi, b, 8)
key = a.encode("utf-8")
des = DES.new(key=key, mode=DES.MODE_ECB)
ming_bs = des.decrypt(binascii.a2b_hex(mi)) # 解密
ming_bs = unpad(ming_bs, 8)
ming_str = ming_bs.decode("utf-8")
ming_str = ming_str[0: ming_str.rindex("}")+1]
print(ming_str)
浙公网安备 33010602011771号