众邦银行小程序加密算法

众邦银行小程序加密算法

image-20250424122310616

响应体前面部分不变,修改响应,解密失败就报错,根据错误信息定位解密代码。

image-20250424122435315

代码混淆得很厉害,但根据变量窗口中的一些信息发现是AES-ECB。

image-20250424122619624

1
2
3
4
5
6
7
8
9
10
11
12
13
import base64
from Crypto.Cipher import AES
from Crypto.Util.Padding import pad, unpad

key = b"173986552993269Z"
s = "vYEZqIrdrbWGluFg8aAV1CCtl6xVe8gzyxV/fwX4TDJ5uvhjPn/rPrDSVu6xFWkvqb8+A1hvTDw1N0hVh9oBOn/f2jK0Qa8Kkc/x1h/aglPP4I0qnnG8TY/hCIxHVwFSAbDbuV2q84hB5xb0rcfUKYip7H951QRZ7icg30hfIOmjYKp9HBmuecdK8Slyaq8p2raFLNNyXowB6cXWPssrWLokYVSBIpG2XPjwhBFrwdYQrDAK8GuoaeEzCoigUdTKsn3W1LoJ2jF7XDpp4R1vTw8F3O/678qsS9sZ0Rcz3bCd5kHlBryzusfdD9bVo5E/KHSushm3xCJQomAkJZNvI5C0CMYJU3dtrCuWQ0JYeXHr5Qe2zFbyKFzED9TAGuU/J5Hk8iunu2Sd2Vxc5BMv+GzgAR/BVxzB3EF2O2j+30M3r2rlZfpGo0fl/Syzmi2wEIUUHIZYO/jct+ZYxhELLZ/F6QrQIzvYp5wrMdbZOVb/DXcwa9RdSp99JiWZHHr9uAWnuR0xloII2lWiLkoLb1lfwCfugxYBDl77BH3sTQQVxvi/pd5S2QDilSpGKR260/A3gLqvg3QLOiZFgORaPXecf7u9XHJ110MsnIdPCTl4ixI5dpDf7rYckdpSGyTuaCuGT6AWbSP2riWOCotZvrOE42FuNj0VzlAUBPxdkTYr1+QQNQ5PAuLtxdzMojUWZAg+WSoFYVLaTMwhYA+pZ1tO2bJQzlBELNeTl/GGkNz2kjbwUX5fo9XYuXtjaoYCqbP697ebUUGDWYGNooufY/MNn2ASEeqfS0s6shwW5M8CaC2tN3fCIzxrmwx3mgpnzPiS23QHP1UWffEQaUZ+dpYEYsph+T+DPMSFMkOkUKlraGdIeZv0OMq1MKUybh+ce5ZmIYtxMM/P0c7nq4hzE0413ExFtb6F+8PhCb6DdxY8hJ8GSG7RWc0wwkcU9Hj65X3LEqE5BEkdALOt+ZLTC+p/DZvtp3XAxAz8WOT9X+ovBrBeFMra89O9UoXmbsDPD6MHU/92RjyfYJpdTdbyvMxuwHMJ8RT/RGxBJyvxIIjK4aJRA79PwIgHba8m+g9DFpgGlzBjpmQL3HzYH0uNvtXPLga1VfXBXjS3yvyN1Az0uL/1wxrDqCsKl+8Cyd1Ibs7J2oky52O7E6zQ9JeQ6K1gBYmXKqTLBKnVm8NIsLT+jQ4y1iidgJBoT1s2PLdY41v7XnyY3jqZieEZWHnM2g7mnNciZqDPL5xHQ3o6KBuotkQv100MrtwtELFkavwI12qbDh6/0wd+fOP/mIoJkpjbxmMfxtM1PFUQdXaLAj5WRSNIHh/1HAHBWcnzzAC6JkFfeLkuC8AY975gSKOzaauuWa7L/qiV8VGKlOzWYoQJp+1UOVn3pMUkcV+W44sa/Zc8Jz4pOVLWQasC9rluseBR2VILG7ychdDrxtTCmN9YfF3pjgicFyn1gCxq0GUrqAw7N8kzc5X8WOGsgflATda6ORL3djz3UJ7MdcjaiQ4gxLp0xrfQeS+7bBvS11g7CPNAVpOj2hpUhlpY4fOmKHEUpa4r6rrK/bu/vkRpbvrR/BZplKrgsXEY/IicNX+wbIgk5sqI2ye/0M3ddV1LJvWcnWlN3Mi60mjxQciQpklgXe02jFMhXG7iBNB/rz932JCdTIbXBl0PPOpiYtNiW4jLBcf3YzboiE/ti7s+YMeiLJ/VkFNw+nffyMpYFWVbMheKXo5NxTm6ZvxJzapw0uGU51iOWUm2m8KxwpR7K1R5q2+kaBTPnURDPDTfY552FwuSDyatE5jZmp4gbPPOWgaAgUWu7reRGfHNKP+otkI="
data = base64.b64decode(s)

crypto = AES.new(key, mode=AES.MODE_ECB)
plain = crypto.decrypt(data)
plain = unpad(plain, 16)
print(plain.decode())

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
{
"journal": {
"callDate": null,
"callTime": null,
"returnCode": "000000",
"returnStatus": null,
"returnMsg": "SUCCESS",
"returnDate": "20250424",
"returnTime": "123242996",
"receiveSerialSeq": null,
"userSeq": 941891,
"channelSerialNo": "7481494541043712",
"channelNo": "MP",
"channelCustomNo": "941891",
"bankCustomNo": "9000307686",
"tranCode": "/discountVoucher/voucherGoodsQry",
"transType": null,
"transStatus": "S",
"registDate": "20250424",
"registTime": "123242953",
"channelIP": "171.213.159.11",
"hostName": null
},
"data": {
"ttlNm": "2",
"sprFld": "",
"zeroByGdsArray": [
{
"sprFld2": "",
"toolSeq": "72948",
"tlsNm": "一起来分券2138邦豆2人",
"trgtUsrCnt": "2",
"scrTtl": "2138",
"prtnLmtDyNum": "1",
"d2ToolSeq": "72879",
"usrPrdctScrNum": "1069",
"invtNm": "0",
"usrPrchPrmsCd": "1",
"usrHldCpnSeq": "",
"gdsArray": [
{
"sprFld2": null,
"cnvtSeq": "65984",
"gdsNm": "五谷磨房-核桃芝麻丸84g-LS",
"gdLstImg": "https://resource.z-bank.com/imp/right/SUP_20241209194059198976575003.jpg",
"rtlPrc": "2990"
}
]
},
{
"sprFld2": "",
"toolSeq": "72949",
"tlsNm": "一起来分券1652豆2人",
"trgtUsrCnt": "2",
"scrTtl": "1652",
"prtnLmtDyNum": "1",
"d2ToolSeq": "72880",
"usrPrdctScrNum": "826",
"invtNm": "287",
"usrPrchPrmsCd": "0",
"usrHldCpnSeq": "",
"gdsArray": [
{
"sprFld2": null,
"cnvtSeq": "65982",
"gdsNm": "澳门九澳美式咖啡饼干120g*4盒-LS",
"gdLstImg": "https://resource.z-bank.com/imp/right/SUP_20241209194409834791940600.jpg",
"rtlPrc": "3920"
}
]
}
]
}
}