-
Notifications
You must be signed in to change notification settings - Fork 15
/
keygen.py
102 lines (65 loc) · 24 KB
/
keygen.py
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# coding: utf-8
# In[58]:
rawBuffer = bytearray.fromhex("01011404010201140401011004010301100401020000002c010118040102030202ffffffd401140401020000007302030302ffffffd4011404010200000001020000001402030302ffffffd4011404010200000002020000002002030302ffffffd4011404010200000003020000001702030302ffffffd4011404010200000004020000000202030302ffffffd4011404010200000005020000006202030302ffffffd4011404010200000006020000002a02030302ffffffd4011404010200000007020000007702030302ffffffd4011404010200000008020000007902030302ffffffd4011404010200000009020000001d02030302ffffffd401140401020000000a020000002102030302ffffffd401140401020000000b020000007102030302ffffffd401140401020000000c020000007002030302ffffffd401140401020000000d020000006702030302ffffffd401140401020000000e020000005e02030302ffffffd401140401020000000f020000000602030302ffffffd4011404010200000010020000000002030302ffffffd4011404010200000011020000001e02030302ffffffd4011404010200000012020000005b02030302ffffffd4011404010200000013020000007102030302ffffffd4011404010200000014020000007d02030302ffffffd4011404010200000015020000006702030302ffffffd4011404010200000016020000005f02030302ffffffd4011404010200000017020000007102030302ffffffd4011404010200000018020000007b02030302ffffffd4011404010200000019020000006f02030302ffffffd401140401020000001a020000005002030302ffffffd401140401020000001b020000000202030302ffffffd401140401020000001c020000007702030302ffffffd401140401020000001d020000006702030302ffffffd401140401020000001e020000005a02030302ffffffd401140401020000001f020000007302030302ffffffd4011404010200000020020000000902030302ffffffd4011404010200000021020000001902030302ffffffd4011404010200000022020000002702030302ffffffd4011404010200000023020000000102030302ffffffd401140401020000002402000000050102000000080201000401040202000000080114040101010004010102123456780402000004c70501100401020000000c06010004010233e5ae400702000004a402040202fffffffc01140401020000000002040202fffffffc0114040102000000000802000003d90201040401040202fffffffc011404010501040401020000000102040202fffffffc011404010104040106040202fffffffc0114040102000000250902000004950201080401040202fffffffc011404010a01040401030302ffffffd401140401010804010201000401040202fffffffc011404010b0108040101080401020118040102000000080c01180401020100040104020200000008011404010a01080401030201000401010804010b010404010108040102010004010402020000000c011404010501000401040202fffffffc0114040102030101000401010701010802000003af0b01000401010004010802000004ae0d0100040102ffffffff0e011804010201100401011404010e011404010f020000000001011404010201140401011004010301100401020000040802040202fffffbf801140401020000000002040302fffffbf8011404010200000004027707309602040302fffffbf801140401020000000802ee0e612c02040302fffffbf801140401020000000c02990951ba02040302fffffbf801140401020000001002076dc41902040302fffffbf801140401020000001402706af48f02040302fffffbf801140401020000001802e963a53502040302fffffbf801140401020000001c029e6495a302040302fffffbf8011404010200000020020edb883202040302fffffbf80114040102000000240279dcb8a402040302fffffbf801140401020000002802e0d5e91e02040302fffffbf801140401020000002c0297d2d98802040302fffffbf80114040102000000300209b64c2b02040302fffffbf8011404010200000034027eb17cbd02040302fffffbf801140401020000003802e7b82d0702040302fffffbf801140401020000003c0290bf1d9102040302fffffbf8011404010200000040021db7106402040302fffffbf8011404010200000044026ab020f202040302fffffbf801140401020000004802f3b9714802040302fffffbf801140401020000004c0284be41de02040302fffffbf8011404010200000050021adad47d02040302fffffbf8011404010200000054026ddde4eb02040302fffffbf801140401020000005802f4d4b55102040302fffffbf801140401020000005c0283d385c702040302fffffbf801140401020000006002136c985602040302fffffbf801140401020000006402646ba8c002040302fffffbf801140401020000006802fd62f97a02040302fffffbf801140401020000006c028a65c9ec02040302fffffbf80114040102000000700214015c4f02040302fffffbf80114040102000000740263066cd902040302fffffbf801140401020000007802fa0f3d6302040302fffffbf801140401020000007c028d080df502040302fffffbf8011404010200000080023b6e20c802040302fffffbf8011404010200000084024c69105e02040302fffffbf801140401020000008802d56041e402040302fffffbf801140401020000008c02a267717202040302fffffbf8011404010200000090023c03e4d102040302fffffbf8011404010200000094024b04d44702040302fffffbf801140401020000009802d20d85fd02040302fffffbf801140401020000009c02a50ab56b02040302fffffbf80114040102000000a00235b5a8fa02040302fffffbf80114040102000000a40242b2986c02040302fffffbf80114040102000000a802dbbbc9d602040302fffffbf80114040102000000ac02acbcf94002040302fffffbf80114040102000000b00232d86ce302040302fffffbf80114040102000000b40245df5c7502040302fffffbf80114040102000000b802dcd60dcf02040302fffffbf80114040102000000bc02abd13d5902040302fffffbf80114040102000000c00226d930ac02040302fffffbf80114040102000000c40251de003a02040302fffffbf80114040102000000c802c8d7518002040302fffffbf80114040102000000cc02bfd0611602040302fffffbf80114040102000000d00221b4f4b502040302fffffbf80114040102000000d40256b3c42302040302fffffbf80114040102000000d802cfba959902040302fffffbf80114040102000000dc02b8bda50f02040302fffffbf80114040102000000e0022802b89e02040302fffffbf80114040102000000e4025f05880802040302fffffbf80114040102000000e802c60cd9b202040302fffffbf80114040102000000ec02b10be92402040302fffffbf80114040102000000f0022f6f7c8702040302fffffbf80114040102000000f40258684c1102040302fffffbf80114040102000000f802c1611dab02040302fffffbf80114040102000000fc02b6662d3d02040302fffffbf80114040102000001000276dc419002040302fffffbf80114040102000001040201db710602040302fffffbf80114040102000001080298d220bc02040302fffffbf801140401020000010c02efd5102a02040302fffffbf80114040102000001100271b1858902040302fffffbf80114040102000001140206b6b51f02040302fffffbf8011404010200000118029fbfe4a502040302fffffbf801140401020000011c02e8b8d43302040302fffffbf8011404010200000120027807c9a202040302fffffbf8011404010200000124020f00f93402040302fffffbf8011404010200000128029609a88e02040302fffffbf801140401020000012c02e10e981802040302fffffbf8011404010200000130027f6a0dbb02040302fffffbf801140401020000013402086d3d2d02040302fffffbf80114040102000001380291646c9702040302fffffbf801140401020000013c02e6635c0102040302fffffbf8011404010200000140026b6b51f402040302fffffbf8011404010200000144021c6c616202040302fffffbf801140401020000014802856530d802040302fffffbf801140401020000014c02f262004e02040302fffffbf8011404010200000150026c0695ed02040302fffffbf8011404010200000154021b01a57b02040302fffffbf8011404010200000158028208f4c102040302fffffbf801140401020000015c02f50fc45702040302fffffbf80114040102000001600265b0d9c602040302fffffbf80114040102000001640212b7e95002040302fffffbf8011404010200000168028bbeb8ea02040302fffffbf801140401020000016c02fcb9887c02040302fffffbf80114040102000001700262dd1ddf02040302fffffbf80114040102000001740215da2d4902040302fffffbf8011404010200000178028cd37cf302040302fffffbf801140401020000017c02fbd44c6502040302fffffbf8011404010200000180024db2615802040302fffffbf8011404010200000184023ab551ce02040302fffffbf801140401020000018802a3bc007402040302fffffbf801140401020000018c02d4bb30e202040302fffffbf8011404010200000190024adfa54102040302fffffbf8011404010200000194023dd895d702040302fffffbf801140401020000019802a4d1c46d02040302fffffbf801140401020000019c02d3d6f4fb02040302fffffbf80114040102000001a0024369e96a02040302fffffbf80114040102000001a402346ed9fc02040302fffffbf80114040102000001a802ad67884602040302fffffbf80114040102000001ac02da60b8d002040302fffffbf80114040102000001b00244042d7302040302fffffbf80114040102000001b40233031de502040302fffffbf80114040102000001b802aa0a4c5f02040302fffffbf80114040102000001bc02dd0d7cc902040302fffffbf80114040102000001c0025005713c02040302fffffbf80114040102000001c402270241aa02040302fffffbf80114040102000001c802be0b101002040302fffffbf80114040102000001cc02c90c208602040302fffffbf80114040102000001d0025768b52502040302fffffbf80114040102000001d402206f85b302040302fffffbf80114040102000001d802b966d40902040302fffffbf80114040102000001dc02ce61e49f02040302fffffbf80114040102000001e0025edef90e02040302fffffbf80114040102000001e40229d9c99802040302fffffbf80114040102000001e802b0d0982202040302fffffbf80114040102000001ec02c7d7a8b402040302fffffbf80114040102000001f00259b33d1702040302fffffbf80114040102000001f4022eb40d8102040302fffffbf80114040102000001f802b7bd5c3b02040302fffffbf80114040102000001fc02c0ba6cad02040302fffffbf801140401020000020002edb8832002040302fffffbf8011404010200000204029abfb3b602040302fffffbf80114040102000002080203b6e20c02040302fffffbf801140401020000020c0274b1d29a02040302fffffbf801140401020000021002ead5473902040302fffffbf8011404010200000214029dd277af02040302fffffbf80114040102000002180204db261502040302fffffbf801140401020000021c0273dc168302040302fffffbf801140401020000022002e3630b1202040302fffffbf80114040102000002240294643b8402040302fffffbf8011404010200000228020d6d6a3e02040302fffffbf801140401020000022c027a6a5aa802040302fffffbf801140401020000023002e40ecf0b02040302fffffbf8011404010200000234029309ff9d02040302fffffbf8011404010200000238020a00ae2702040302fffffbf801140401020000023c027d079eb102040302fffffbf801140401020000024002f00f934402040302fffffbf8011404010200000244028708a3d202040302fffffbf8011404010200000248021e01f26802040302fffffbf801140401020000024c026906c2fe02040302fffffbf801140401020000025002f762575d02040302fffffbf801140401020000025402806567cb02040302fffffbf801140401020000025802196c367102040302fffffbf801140401020000025c026e6b06e702040302fffffbf801140401020000026002fed41b7602040302fffffbf80114040102000002640289d32be002040302fffffbf80114040102000002680210da7a5a02040302fffffbf801140401020000026c0267dd4acc02040302fffffbf801140401020000027002f9b9df6f02040302fffffbf8011404010200000274028ebeeff902040302fffffbf80114040102000002780217b7be4302040302fffffbf801140401020000027c0260b08ed502040302fffffbf801140401020000028002d6d6a3e802040302fffffbf801140401020000028402a1d1937e02040302fffffbf80114040102000002880238d8c2c402040302fffffbf801140401020000028c024fdff25202040302fffffbf801140401020000029002d1bb67f102040302fffffbf801140401020000029402a6bc576702040302fffffbf8011404010200000298023fb506dd02040302fffffbf801140401020000029c0248b2364b02040302fffffbf80114040102000002a002d80d2bda02040302fffffbf80114040102000002a402af0a1b4c02040302fffffbf80114040102000002a80236034af602040302fffffbf80114040102000002ac0241047a6002040302fffffbf80114040102000002b002df60efc302040302fffffbf80114040102000002b402a867df5502040302fffffbf80114040102000002b802316e8eef02040302fffffbf80114040102000002bc024669be7902040302fffffbf80114040102000002c002cb61b38c02040302fffffbf80114040102000002c402bc66831a02040302fffffbf80114040102000002c802256fd2a002040302fffffbf80114040102000002cc025268e23602040302fffffbf80114040102000002d002cc0c779502040302fffffbf80114040102000002d402bb0b470302040302fffffbf80114040102000002d802220216b902040302fffffbf80114040102000002dc025505262f02040302fffffbf80114040102000002e002c5ba3bbe02040302fffffbf80114040102000002e402b2bd0b2802040302fffffbf80114040102000002e8022bb45a9202040302fffffbf80114040102000002ec025cb36a0402040302fffffbf80114040102000002f002c2d7ffa702040302fffffbf80114040102000002f402b5d0cf3102040302fffffbf80114040102000002f8022cd99e8b02040302fffffbf80114040102000002fc025bdeae1d02040302fffffbf8011404010200000300029b64c2b002040302fffffbf801140401020000030402ec63f22602040302fffffbf801140401020000030802756aa39c02040302fffffbf801140401020000030c02026d930a02040302fffffbf8011404010200000310029c0906a902040302fffffbf801140401020000031402eb0e363f02040302fffffbf8011404010200000318027207678502040302fffffbf801140401020000031c020500571302040302fffffbf80114040102000003200295bf4a8202040302fffffbf801140401020000032402e2b87a1402040302fffffbf8011404010200000328027bb12bae02040302fffffbf801140401020000032c020cb61b3802040302fffffbf80114040102000003300292d28e9b02040302fffffbf801140401020000033402e5d5be0d02040302fffffbf8011404010200000338027cdcefb702040302fffffbf801140401020000033c020bdbdf2102040302fffffbf80114040102000003400286d3d2d402040302fffffbf801140401020000034402f1d4e24202040302fffffbf80114040102000003480268ddb3f802040302fffffbf801140401020000034c021fda836e02040302fffffbf80114040102000003500281be16cd02040302fffffbf801140401020000035402f6b9265b02040302fffffbf8011404010200000358026fb077e102040302fffffbf801140401020000035c0218b7477702040302fffffbf80114040102000003600288085ae602040302fffffbf801140401020000036402ff0f6a7002040302fffffbf80114040102000003680266063bca02040302fffffbf801140401020000036c0211010b5c02040302fffffbf8011404010200000370028f659eff02040302fffffbf801140401020000037402f862ae6902040302fffffbf801140401020000037802616bffd302040302fffffbf801140401020000037c02166ccf4502040302fffffbf801140401020000038002a00ae27802040302fffffbf801140401020000038402d70dd2ee02040302fffffbf8011404010200000388024e04835402040302fffffbf801140401020000038c023903b3c202040302fffffbf801140401020000039002a767266102040302fffffbf801140401020000039402d06016f702040302fffffbf8011404010200000398024969474d02040302fffffbf801140401020000039c023e6e77db02040302fffffbf80114040102000003a002aed16a4a02040302fffffbf80114040102000003a402d9d65adc02040302fffffbf80114040102000003a80240df0b6602040302fffffbf80114040102000003ac0237d83bf002040302fffffbf80114040102000003b002a9bcae5302040302fffffbf80114040102000003b402debb9ec502040302fffffbf80114040102000003b80247b2cf7f02040302fffffbf80114040102000003bc0230b5ffe902040302fffffbf80114040102000003c002bdbdf21c02040302fffffbf80114040102000003c402cabac28a02040302fffffbf80114040102000003c80253b3933002040302fffffbf80114040102000003cc0224b4a3a602040302fffffbf80114040102000003d002bad0360502040302fffffbf80114040102000003d402cdd7069302040302fffffbf80114040102000003d80254de572902040302fffffbf80114040102000003dc0223d967bf02040302fffffbf80114040102000003e002b3667a2e02040302fffffbf80114040102000003e402c4614ab802040302fffffbf80114040102000003e8025d681b0202040302fffffbf80114040102000003ec022a6f2b9402040302fffffbf80114040102000003f002b40bbe3702040302fffffbf80114040102000003f402c30c8ea102040302fffffbf80114040102000003f8025a05df1b02040302fffffbf80114040102000003fc022d02ef8d02010004010402020000000c0114040102040202fffffffc0114040101000401020104040104020200000008011404010b0104040102ffffffff020402020000000801140401010404010201080401040202000000100114040102040202fffffff8011404010108040102010004010402020000001001140401030100040102000000010204020200000010011404010100040106040202fffffff8011404010200000000100200001c280201040401040202fffffffc011404010a010804010301010404010b010804010402020000000801140401110108040102000000ff02010004010402020000000801140401120100040102000000080b01000401040302fffffbf80114040101080404020402020000000801140401010004010201040401040202fffffffc011404010501040401020000000102040202fffffffc0114040101040401080200001b24020100040104020200000008011404010b0100040102ffffffff0201100401011404010e011404010f02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000077073096ee0e612c990951ba076dc419706af48fe963a5359e6495a30edb883279dcb8a4e0d5e91e97d2d98809b64c2b7eb17cbde7b82d0790bf1d911db710646ab020f2f3b9714884be41de1adad47d6ddde4ebf4d4b55183d385c7136c9856646ba8c0fd62f97a8a65c9ec14015c4f63066cd9fa0f3d638d080df53b6e20c84c69105ed56041e4a26771723c03e4d14b04d447d20d85fda50ab56b35b5a8fa42b2986cdbbbc9d6acbcf94032d86ce345df5c75dcd60dcfabd13d5926d930ac51de003ac8d75180bfd0611621b4f4b556b3c423cfba9599b8bda50f2802b89e5f058808c60cd9b2b10be9242f6f7c8758684c11c1611dabb6662d3d76dc419001db710698d220bcefd5102a71b1858906b6b51f9fbfe4a5e8b8d4337807c9a20f00f9349609a88ee10e98187f6a0dbb086d3d2d91646c97e6635c016b6b51f41c6c6162856530d8f262004e6c0695ed1b01a57b8208f4c1f50fc45765b0d9c612b7e9508bbeb8eafcb9887c62dd1ddf15da2d498cd37cf3fbd44c654db261583ab551cea3bc0074d4bb30e24adfa5413dd895d7a4d1c46dd3d6f4fb4369e96a346ed9fcad678846da60b8d044042d7333031de5aa0a4c5fdd0d7cc95005713c270241aabe0b1010c90c20865768b525206f85b3b966d409ce61e49f5edef90e29d9c998b0d09822c7d7a8b459b33d172eb40d81b7bd5c3bc0ba6cadedb883209abfb3b603b6e20c74b1d29aead547399dd277af04db261573dc1683e3630b1294643b840d6d6a3e7a6a5aa8e40ecf0b9309ff9d0a00ae277d079eb1f00f93448708a3d21e01f2686906c2fef762575d806567cb196c36716e6b06e7fed41b7689d32be010da7a5a67dd4accf9b9df6f8ebeeff917b7be4360b08ed5d6d6a3e8a1d1937e38d8c2c44fdff252d1bb67f1a6bc57673fb506dd48b2364bd80d2bdaaf0a1b4c36034af641047a60df60efc3a867df55316e8eef4669be79cb61b38cbc66831a256fd2a05268e236cc0c7795bb0b4703220216b95505262fc5ba3bbeb2bd0b282bb45a925cb36a04c2d7ffa7b5d0cf312cd99e8b5bdeae1d9b64c2b0ec63f226756aa39c026d930a9c0906a9eb0e363f720767850500571395bf4a82e2b87a147bb12bae0cb61b3892d28e9be5d5be0d7cdcefb70bdbdf2186d3d2d4f1d4e24268ddb3f81fda836e81be16cdf6b9265b6fb077e118b7477788085ae6ff0f6a7066063bca11010b5c8f659efff862ae69616bffd3166ccf45a00ae278d70dd2ee4e0483543903b3c2a7672661d06016f74969474d3e6e77dbaed16a4ad9d65adc40df0b6637d83bf0a9bcae53debb9ec547b2cf7f30b5ffe9bdbdf21ccabac28a53b3933024b4a3a6bad03605cdd7069354de572923d967bfb3667a2ec4614ab85d681b022a6f2b94b40bbe37c30c8ea15a05df1b2d02ef8d0000000800002c2800002c180000036dedcba98700002c2800000007000000007314201702622a77791d217170675e06001e5b717d675f717b6f500277675a7309192701050000000000000000000000ffffffff00002c2800002c3030313233343536370000000000000000000000000000000000000000000000000000000000000000000000000000")
# In[61]:
import struct
def getUint32(index):
# print(rawBuffer[index:index+4])
return struct.unpack(">I", rawBuffer[index:index+4])[0]
def setUint32(index, val):
rawBuffer[index:index+4] = bytearray(struct.pack(">I", val))
# print(getUint32(11228))
# setUint32(11228, 1233423588)
print(getUint32(11148))
# In[75]:
desired
key = bytearray(b'abcdefgh')
# First byte
# Set index 8 to be
index8 = (3989547399 ^ key[0]) & 0xff
index0 = getUint32(10188 + (index8 * 4)) ^ 15584169
print(index0)
setUint32(11228, index0)
index8 = (getUint32(11228) ^ key[1]) & 0xff
shift = getUint32(11228) >> 8
index0 = getUint32(10188 + index8*4) ^ shift
print(index0)
setUint32(11228, index0)
# Third byte
index8 = (getUint32(11228) ^ key[2]) & 0xff
shift = getUint32(11228) >> 8
index0 = getUint32(10188 + index8*4) ^ shift
print(index0)
setUint32(11228, index0)
# 4th byte
index8 = (getUint32(11228) ^ key[3]) & 0xff
shift = getUint32(11228) >> 8
index0 = getUint32(10188 + index8*4) ^ shift
print(index0)
setUint32(11228, index0)
# 5th byte
index8 = (getUint32(11228) ^ key[4]) & 0xff
shift = getUint32(11228) >> 8
index0 = getUint32(10188 + index8*4) ^ shift
print(index0)
setUint32(11228, index0)
# 6th byte
index8 = (getUint32(11228) ^ key[5]) & 0xff
shift = getUint32(11228) >> 8
index0 = getUint32(10188 + index8*4) ^ shift
print(index0)
setUint32(11228, index0)
# 7th byte
index8 = (getUint32(11228) ^ key[6]) & 0xff
shift = getUint32(11228) >> 8
index0 = getUint32(10188 + index8*4) ^ shift
print(index0)
setUint32(11228, index0)
# 8th byte
index8 = (getUint32(11228) ^ key[7]) & 0xff
shift = getUint32(11228) >> 8
index0 = getUint32(10188 + index8*4) ^ shift
print(index0)
setUint32(11228, index0)
# Final pass
getUint32(11228) ^ 0xffffffff