diff --git a/lib/keys.py b/lib/keys.py index ac9fd23..457a983 100644 --- a/lib/keys.py +++ b/lib/keys.py @@ -85,34 +85,11 @@ class TWL: # For tuples: index 0 for retail, index 1 for dev def key_scrambler(keyX, keyY): return rol((keyX ^ keyY) + 0xFFFEFB4E295902582A680F5F1A4F3E79, 42, 128).to_bytes(0x10, 'big') - - def aes_ctr_block(key, counter, inp): - cipher = AES.new(key, AES.MODE_ECB) - stream = cipher.encrypt(counter) - out = bytearray(16) - for i in range(16): - out[i] = stream[15 - i] ^ inp[i] - - # Increment counter: (semi) byte reverse ctr to u32[4], add with carry, then reverse back - n = [] - for i in range(4): - n.append((counter[i * 4 + 0] << 24) | (counter[i * 4 + 1] << 16) | (counter[i * 4 + 2] << 8) | (counter[i * 4 + 3] << 0)) - - carry = 1 - for i in range(3, -1, -1): - sm = (n[i] + carry) & 0xFFFFFFFF - if sm < n[i]: - carry = 1 - else: - carry = 0 - n[i] = sm - - for i in range(4): - counter[i * 4 + 0] = (n[i] >> 24) & 0xFF - counter[i * 4 + 1] = (n[i] >> 16) & 0xFF - counter[i * 4 + 2] = (n[i] >> 8) & 0xFF - counter[i * 4 + 3] = (n[i] >> 0) & 0xFF - - return bytes(out), counter + + def aes_ctr(cipher, data): + def rev_block(data): + return b''.join([data[i:i + 16].ljust(16, b'\x00')[::-1] for i in range(0, len(data), 16)]) + data_out = cipher.decrypt(rev_block(data)) + return rev_block(data_out)[:len(data)] blowfish_key = ([0x59AA568E, 0x90D71155, 0x4DEABFFE, 0xBD0D7591, 0xF7853998, 0xD09CC358, 0xC4156FF1, 0x90F9E4C3, 0x8EC09B0E, 0x5DE18794, 0xB9072CBA, 0xA64F7574, 0xC1E31C86, 0xE6EDF809, 0x3BBB377A, 0x4EF0F092, 0xF655FA47, 0xFB1BC516, 0x06744E56, 0x20DDB6D1, 0x42CFCFF1, 0x557E1718, 0xA193FF09, 0xDA36A69A, 0x433DF465, 0xED40976C, 0xD5A6DD6D, 0x6C23BF94, 0xE751A668, 0x3CE8E665, 0xD6BC9E92, 0x782646A1, 0x73DCE536, 0x8ECDECA1, 0xF1EE8B68, 0xF4ACC1DC, 0xC8849531, 0xE8EDC75E, 0xE45A37CA, 0xEC55BE2A, 0xFCF64567, 0xA9B47D7D, 0x9B6EE92C, 0xFF3FEB69, 0xB72E68A8, 0x94EF7BBD, 0x88931566, 0x3AB77FFE, 0x1DC38908, 0xD77459FA, 0xAF91419E, 0x57D56784, 0xBA00E963, 0x58074DEC, 0xDFC6DA1E, 0x6252D914, 0xBC03C3B0, 0xA5FDB727, 0xDEB16F1B, 0x7C724ACD, 0x09E58270, 0xD39FB6D6, 0xA46A2FC2, 0x32BDB539, 0xE4EAB971, 0x1C706721, 0x9221ACF4, 0x9E63E85E, 0x8302CC0C, 0xF8F89E87, 0x89FC0385, 0xFACC7707, 0x445F4DE5, 0x19D312EE, 0xCAE1E0BF, 0x1EBEE712, 0x1F6A931E, 0x384BA79F, 0x81A97785, 0x0CC63902, 0x55D26256, 0x1985A638, 0x85E12D3C, 0x383B5BA0, 0x2418E929, 0x6C9FE44D, 0x4E235FB1, 0xE2A06F97, 0xB241D1EA, 0xDBA73781, 0xEB068D77, 0xC268FC5A, 0x65973358, 0xA1B8350F, 0xF425BC3B, 0x4F180F0E, 0x60253DD8, 0x771AD08A, 0xB0615716, 0x0B55F258, 0xB9915230, 0x33AB299B, 0x0362E5CC, 0xDF6E6286, 0x9D76E5DD, 0x6FCA3E75, 0xD8885806, 0x8DA458F5, 0xAA7CCE17, 0xDDDECA0A, 0x72876F29, 0x6C0CE9C0, 0x3D322E55, 0xF3A727DA, 0xFC860C9E, 0x3383B547, 0xEBE8F6C9, 0xF42472EE, 0xAFF8B559, 0x70068571, 0xBB3CBEBB, 0x2C24AD67, 0xBA42B9EE, 0x68EC0BE6, 0x5B260F2B, 0xB63A934F, 0x9FE69FB9, 0x1AA0B951, 0x1C8D6637, 0xD250CCAE, 0x10301660, 0x563B990E, 0x907B28DE, 0x93F41687, 0x1FD09BC2, 0x33422C2C, 0xF136C339, 0xF84FA41E, 0x0043B1AC, 0xDF08BBFE, 0x5E2ADC2A, 0x10F37BC5, 0x2F96C91D, 0x514FC0DE, 0x6E939A35, 0x19B858B5, 0x19BAAF2A, 0xB1B5B2FF, 0xC189BC3F, 0xD88F3407, 0x6360A5ED, 0xDBFF9EF5, 0x5B23C01B, 0x1396D42F, 0x07511BAC, 0x90727128, 0x6598E1FF, 0x6A9DE730, 0x6DB12C21, 0xFACBBC6A, 0x3C25E850, 0x5C53D8D5, 0xCBA25353, 0xA5643F78, 0x61771D8D, 0x16E4E4A1, 0x329C0052, 0x5F2AD7F5, 0x3CFD09D7, 0x1B3B9901, 0x4DDC91E4, 0x6DE89EA3, 0x18AD4327, 0xBAC15F37, 0xA61261F5, 0x1C630C25, 0x2D90F852, 0xCB2C374B, 0xDE1E6C36, 0x1D47F5DF, 0x87CA7998, 0x800959D7, 0x14FDF7F9, 0xF4CE6923, 0xD2F8C4EE, 0xA07EF836, 0x8E359345, 0x82AE0DFC, 0x65BCAAF5, 0x58A965BA, 0xC6084B63, 0xC33FA68A, 0xF4C19B8F, 0x02451B13, 0x78289FD6, 0x53B1C27E, 0x4E7117E7, 0x550962C7, 0xADD5911A, 0xC0FA494A, 0xEF00D6F6, 0xF1D0C940, 0x1BB1FD0E, 0xD395F1CD, 0x95600873, 0xD2E056FA, 0xD06551FD, 0xC448D1AA, 0x5ABACB8F, 0x7622E360, 0x6F4A3C86, 0x35EEE988, 0x9A4A3634, 0x74E36D3F, 0xE42A930B, 0xE2C6474D, 0xF2B68E78, 0x149161CF, 0xFAB61B39, 0xCA880C04, 0x65D33BD1, 0xC6DAE5F4, 0xE91A380F, 0xA5CA3229, 0x786C919D, 0xD8C18C3D, 0x6E824910, 0x384C95E3, 0xF169302E, 0x3EBFAF7D, 0x5E513C6A, 0x1504BD8F, 0xCFEB3FE0, 0xE0A7B33E, 0xF3F7D81D, 0x1574EF4E, 0x5BA01E3A, 0x45EC988B, 0xE40CFB77, 0xFDCFDE88, 0x4D421881, 0x140DE220, 0x4ECF0D3B, 0xC841369D, 0x99AB47CB, 0x55F07977, 0x3285A4E4, 0x1114428D, 0x038C76BA, 0x05CFE840, 0x47CFBDE7, 0x22E672CE, 0xA013E459, 0x5E68C253, 0x7A4D4B4C, 0xCDBFE2B0, 0xA36377F2, 0x1EC321CA, 0xD2B67B01, 0x790243EC, 0x6D989786, 0x274167E7, 0x04CF710E, 0xFCC83D32, 0x99354D2C, 0x94D782B5, 0x2E2073D8, 0xA4F9AE6C, 0xD61257E9, 0x44866A9E, 0xE0728497, 0xB38D5628, 0x66DBEC25, 0xBF011176, 0x9BE1438D, 0x6D0BFA3D, 0x45154AB4, 0xAC762A4A, 0xFB8DA503, 0xE436E6D9, 0xFDC12063, 0xE35C9A0E, 0x0F9949C6, 0x109A0847, 0xFF3DAA0C, 0x9F46575A, 0xE5C524C5, 0xF1CA1AA2, 0xB02978DD, 0x7A724954, 0xACC42204, 0x97A2A11A, 0x2F57FD9B, 0xAFC93010, 0x4AF45E52, 0xF8253248, 0xCB026C3B, 0xA7E3BDE9, 0x54D5BE46, 0x6BEA0B43, 0x131D6F9C, 0xF5EB0EBA, 0x284F9884, 0xB2199CFE, 0xA04AF607, 0xCC0C8F75, 0x6A16A11C, 0x4E4251DC, 0x17B0A42C, 0x868755F5, 0x7A5AD00D, 0x4B9FB9CB, 0xF3235BAA, 0x810E7456, 0x96BB6514, 0x3EB21753, 0x7E71F19B, 0xFD1C5CFE, 0xEE6B58C7, 0xB582ED14, 0x47B062E8, 0xAD349CE6, 0x12293B91, 0x2B83E65C, 0xD4F15B7F, 0xE058C829, 0xA41776A0, 0x959DB1AD, 0xA101A2CE, 0xD0A3141E, 0xB722989D, 0xCD7F8CB8, 0x0F5B5B36, 0x3FCECACE, 0x5B548BBD, 0xDE827EF1, 0xF9A030FE, 0xBDE73584, 0x291E418E, 0x553FF740, 0x23AA2D5A, 0xE5C4329E, 0xBF22B0C1, 0xE78C7D5D, 0x0B28B457, 0x8EE7563D, 0x1F351E98, 0xA90DD7B7, 0x20E28990, 0x04A756EA, 0x84166FFF, 0xA9385EA0, 0xAF2DC1B6, 0xC17772E1, 0x21C72F3F, 0x85514B83, 0xCA3350B1, 0x4C580C54, 0x7C70FE23, 0xEFC7C7AF, 0xAFBFE57B, 0x05906C7A, 0x9F66B9C6, 0x44D5996C, 0xD5AC74CE, 0x00494BCF, 0x5101DA24, 0xC542BA6F, 0x8A732011, 0xBC4A4FDB, 0xA64027BC, 0x93A330B2, 0xCC6E78A0, 0x287DE734, 0x114C008B, 0x043D937F, 0x2A3C6756, 0xADC5DD2A, 0x75E19602, 0x8D660ED8, 0xC183DF27, 0x42C44718, 0x24AC998B, 0x22286874, 0xB27E5819, 0x19DAD496, 0x3626C753, 0x37DB53A5, 0xD398B465, 0x80DE73CB, 0x977E5980, 0xF625606F, 0x77204CC7, 0x35C680E3, 0x562CBA62, 0xF756F963, 0x3EF9917B, 0x9C350204, 0xD83D35FD, 0xB785BA04, 0x197FB9E6, 0x6A65519E, 0xDE21ECF0, 0x6BFD4190, 0xDC32084D, 0x9B432A61, 0x5B3561C1, 0xFDA2DE30, 0xD393C60D, 0xAD76ACFB, 0xB0EE855F, 0xDE4E2BE8, 0x8F67A012, 0x003FCF04, 0xE4B12BA0, 0xDABB335A, 0x589B7C05, 0xEA2B7B40, 0x9CC3E099, 0x9EE09167, 0xA5636B9F, 0x15B63CDA, 0x17908F05, 0x7E617CC7, 0x25DFBBD6, 0x96BA45A8, 0x84A07D0F, 0x41DDBAE5, 0x5A093DE7, 0x2022C68E, 0x0DD5C575, 0x388C6E4F, 0xA042F75E, 0xB135E5FC, 0x9313582B, 0xA7E0FEFF, 0x1ADD3027, 0x9E69DD05, 0x18F7235D, 0x9C64BE47, 0xF0A8E1F5, 0xDE678ACC, 0x18ED4A76, 0xA0239655, 0xD08422CE, 0xE1E21180, 0x95610D75, 0x1286B93C, 0x109D4D39, 0x93427D83, 0xA5F4E4AA, 0x9B59225E, 0xD3FDADF9, 0xA0F2B270, 0x8629CD71, 0x6198B821, 0x155DF5DE, 0x4D652709, 0x8CEDD0C8, 0xE7ED0B0C, 0x139E78EA, 0xF83C10DA, 0xCDFCAF33, 0x9662319C, 0xB69DC87A, 0x35E6FF75, 0xA83098D4, 0xAACF9CEF, 0xDAB964E8, 0x3BA62FC1, 0xBD7E6BFC, 0x1AEF62AD, 0x905E7D29, 0x124D7686, 0x5C297C61, 0x1D1E6397, 0x21CD77BD, 0xC23245CA, 0x7ADC0B16, 0xA410AC37, 0xBAF5F6BC, 0x2666672B, 0xB82E22C0, 0xEA9078F0, 0x0D0F8069, 0x60D289A5, 0x1AB0CF5E, 0x576F79DC, 0xD82C5192, 0xD66241F9, 0xF726F059, 0x93E27682, 0x21F6AB7A, 0xD27B81CB, 0x8CE88777, 0x76CEF2AA, 0x00DCECD1, 0xC18DF842, 0x418C35D1, 0x7097F482, 0x2F3A2F4A, 0x188FAC41, 0xFA29C29D, 0x0AFA0C44, 0xDDEAC62B, 0xD32E28EE, 0xCA6E8490, 0xECAFF48F, 0xBDC7D12D, 0xF69AD200, 0xAA5C38C5, 0x11437CF4, 0x0DBD576D, 0x4262A5D8, 0x05A7E930, 0xC0819BFC, 0x30DA162F, 0x546108AA, 0xF7C01E4D, 0xF2D4ED5C, 0x9630AD9F, 0xC5E3F091, 0xFFF0B1E4, 0x937B6711, 0xBAEFB7F4, 0x29936D32, 0x1F88D16C, 0x7C5A7E0A, 0xEF6AE923, 0x2CDE4C68, 0x36CBAA1F, 0xD371CE31, 0x8B2B5116, 0xE665D130, 0xAFB8BE02, 0x216136BC, 0x197C0E9D, 0x9CD6A9C7, 0x5C2FB623, 0x4B643B99, 0x748351DA, 0x3EF8CF0F, 0xA37AFBAA, 0xD1E20905, 0x3AF5A861, 0x5159F6B3, 0x3DE9A3C7, 0x3AE6FF2D, 0x96AFE441, 0xB87DCADF, 0x42165CEE, 0xD09DA374, 0xA9AEFD6D, 0x3B15B989, 0x19A8F848, 0xFE3AF6D7, 0x444B9607, 0x374BF933, 0x624F0838, 0xFC02FC8D, 0x3D658302, 0xEDD74840, 0x51990A20, 0xB2DA9DCA, 0xBFB7CFA8, 0x32672F31, 0xA300E3CB, 0x097E0AB0, 0x7A347BFC, 0x1D978CA6, 0x17CB62C7, 0x28F4B821, 0xDB51C9EF, 0x69B6AC36, 0x907490B7, 0xDBCBFDDB, 0x1781ED94, 0x4DE54EE5, 0xF6014A99, 0x9F5EE045, 0x704145A2, 0x2B4ED6AB, 0xDC06152D, 0x48881743, 0x3994B43A, 0x23CEBBDA, 0x0EB05C1E, 0x0D0B318E, 0x9B048078, 0x751C9B97, 0xACC7ADDE, 0x2B7F48B2, 0x29AE7659, 0x27EE79B8, 0x8E30E7F2, 0x84444079, 0x25CE1387, 0x8EFA0818, 0x8D71ACEB, 0xF27CA669, 0x291BD802, 0xEA64407D, 0xA1B205D3, 0x2B9D98A4, 0x2CEEC92C, 0x525AD93E, 0xD4CC6BF5, 0x114A0A84, 0x4B6EA4AB, 0x164631B2, 0x84324343, 0xE3210933, 0x539D9360, 0xD418EF71, 0xC8D1972B, 0x2DA0E3C3, 0xB7545BA2, 0xBF92A048, 0x15EF8E25, 0x02493520, 0x9E1B52FA, 0xF9339931, 0x2C1B0492, 0x8D19DB7D, 0xAD6129E3, 0x5CB794A6, 0x8B2EC52E, 0xBDE060AE, 0xEA930864, 0x989E8EA1, 0x2EF1E031, 0x5787D477, 0x816DF5A6, 0x4C9B898D, 0x0896C596, 0xBE59CCBD, 0x587B2108, 0x19C05533, 0x80440D8E, 0x59F9E800, 0x5098A230, 0xA6FDA846, 0xC5056559, 0xE7251A17, 0x328AC02A, 0x157E6911, 0xE96DFF96, 0x5298A3FA, 0x437B3379, 0x56C4E327, 0x40D633EA, 0xAC874E74, 0xBBE052AB, 0x568AED3E, 0xD225B2BE, 0x584CDF0E, 0x8FCA57DC, 0x00FAB0C0, 0xF37B6E41, 0x1707CB08, 0xE3D8A504, 0xDB429967, 0x73D5D71F, 0x229EEA66, 0x5F447DF4, 0xBF50B23E, 0x2F9F7ACA, 0x80955983, 0x6905EC70, 0x711297AF, 0xDBFDE811, 0x448A6E09, 0x90D5598C, 0x6A65F9A9, 0x3D3C0CF3, 0x2FA0B18E, 0xF03F1663, 0xF6E88027, 0x64569994, 0x93C83600, 0x21EB7C41, 0x86AEB24B, 0x7DACAC90, 0x8B991825, 0xA40D9C96, 0x530CFA7E, 0x61BA7FCA, 0x617BBA2F, 0x962F7529, 0x84B732CA, 0x3B1FE657, 0x34F3F158, 0x61C904A2, 0x20EA77A7, 0x83ED3E14, 0x878F8286, 0x88C3F910, 0x7E03A433, 0xE04E97EF, 0x66919FCE, 0x85C8CA04, 0x3A8BF6C7, 0xDFEB7531, 0xF41A9A67, 0xC7B1D033, 0x97EAD252, 0xC381DB63, 0x64310F9E, 0x755FDEE7, 0x46011903, 0xE50BF89F, 0xAB4F1A1F, 0xE0B07596, 0xF2154963, 0xA7AE26E5, 0x41821B1E, 0xD08B2ECC, 0xF730B3B5, 0x1BD9E765, 0x1E603B74, 0xFA5203E9, 0x0F45878C, 0x1A4D0DB9, 0x90ECA359, 0xADA233FB, 0xD3ACF058, 0x0C6F27A9, 0x1B18CB5D, 0x70CD14D9, 0xE39F42F7, 0x823E4739, 0xE4A29E03, 0x7C2F5D18, 0x55206368, 0x38C80B3D, 0xF3C79172, 0x704C8A0D, 0xC0807DDE, 0xA37F0A54, 0xB5D04942, 0xC3276919, 0x1CBCF95E, 0x1619ABDB, 0x991E908C, 0x6EB91795, 0xADDE7093, 0x7F5F26B0, 0x9F86B382, 0x9D302419, 0x837D2070, 0x29E1B322, 0x99B5EF8F, 0x7A66BC86, 0x18853956, 0x9B5FF663, 0xC824BC54, 0xC3C3A327, 0xAD80A98F, 0x3B4BA008, 0xCCF9DE0B, 0x92A32679, 0x42A2D07C, 0xD42E8F63, 0x4BAF6B7A, 0x5899B2B4, 0x0155754A, 0xCA9DD785, 0xA828973D, 0xA63CD1F6, 0x97D41545, 0xC42548D5, 0xA61000A4, 0x3EC4B41D, 0x08F0F76D, 0x91C9C44E, 0xB5D54507, 0x3E053444, 0x14E1111E, 0xA2BA3718, 0xEA167858, 0x83FD9842, 0xD383AC77, 0x65C95B36, 0x8B9D7625, 0x5DFC8021, 0x0ED8CBC4, 0xCC594E85, 0x513BC0A8, 0x0B5D60A2, 0xC32F2E8A, 0x183C9D18, 0x0DD5A732, 0x72F0EFDF, 0xA4350975, 0x2FB0E0EC, 0xB22D54EB, 0x22016773, 0x612D008E, 0x2A59C5A0, 0xF1B42015, 0xEBE50B7D, 0x6B704564, 0x3AC6BF34, 0x6A3335F2, 0x88474D95, 0x3D767C56, 0x7A6A7248, 0xA92832F6, 0x25F52A52, 0x40704693, 0x4E8658DE, 0x11662FA6, 0x75BD2405, 0x3C5EF4BC, 0x88DA69D0, 0x9D7FFA6B, 0xF4505103, 0x26F6AA11, 0xA63D2AA3, 0x180EB10B, 0x8C5A3AC4, 0x14D39BEA, 0x2FF95FBC, 0x9A94922B, 0xAAF7620C, 0xF0F9CC20, 0x1B5B56ED, 0xE45FEFA0, 0x5DE2E750, 0x0D13927F, 0x7068813C, 0x5D711214, 0xBAE9F124, 0x70C3EA3A, 0x8E19AB4F, 0x5F2038CB, 0xD8913D47, 0x8AB8E081, 0x735719C4, 0xB6D76E01, 0xADB780B2, 0x44E7773A, 0x559F3677, 0x4C88696B, 0xC6672FBD, 0x370CF29F, 0x886EA6A0, 0xD75A53F3, 0xC0AA7BCA, 0xC307F408, 0xC9840C36, 0x4915718C, 0x606FD591, 0xC53A333B, 0xDE8CE0F4, 0x08426DF7, 0x3BAED006, 0xE51B6024, 0xC4AACF54, 0x0E78A6F9, 0x403BCAED, 0x5FA4D313, 0x6E0A593C, 0xDADBC66F, 0x8F89318C, 0x871EFE01, 0x165BAC1A, 0x62853961, 0xE14CAEAE, 0x85D95D9C, 0x2A6E6BEC, 0xEF2BC632, 0xD6627E46, 0x67E86F4A, 0x500575DA, 0xE06B47B6, 0x2A48563E, 0x2218FBF5, 0x66F142D6, 0xF33D26C8, 0x44EAA79F, 0x90D88FEB, 0x455099F8, 0x865F7003, 0x89060892, 0x026A9390, 0xCEF2B506, 0x781E961D, 0xA2202790, 0xFC075084, 0xF819D0B1, 0x0C75B63B, 0xB2AA7334, 0x49C9B2C2, 0x587E4019, 0xA6086B9E, 0x87CE7A27, 0x3D7EE3E4, 0x127C3924, 0x168097BB, 0x949EA60F, 0x5F42A1CA, 0x37A0BE1C, 0x4F62686A, 0x501E77E2, 0xB6DFA889, 0xDF989B80, 0xC200216A, 0xF682B35F, 0x8B9868E1, 0x76EF068C, 0x2407D2E5, 0x86C1C026, 0x942D96B1, 0xA47711CB, 0xA9F946E8, 0xFD91619D, 0xCED12427, 0xBBAE6804, 0x44C94469, 0x5205104D, 0x96569869, 0x4649C275, 0xB9D81C46, 0xDC718671, 0x07EA185D, 0x7C3F8197, 0xFCC888E4, 0xE75EB2F8, 0x041714CF, 0x244C351E, 0x0DBAF60D, 0x291C3C5A, 0x0FD0F8F8, 0xDBA6A5F2, 0x833DA016, 0x5DF4B7C0, 0xC5F10F09, 0x7D6A24F0, 0x94037DC0, 0x9661A744, 0xE2A340A5, 0x00061345, 0xBA60C315, 0x756AE6D9, 0x21371580, 0xFD68DFAB, 0x9FDECF4A, 0x98F8A927, 0xD32D3D5C, 0xDCFF8C61, 0x4D25C8DF, 0x66F6DEF0, 0x215A2736, 0x381FFE89, 0x33524E99, 0x559BD04F, 0x15BA91DD, 0x95EB5718, 0xC4218624, 0x6738F02F, 0xD2660B92, 0xB9C3CB8E, 0x7F6C44BC, 0xCB457151, 0x6135F29F, 0xBFF28F5A, 0xDBAA5420, 0x1D52CE89, 0xD4E77975, 0xA7FF1F6A, 0xFDB956EE, 0xCA2C9FF3, 0x6DDFCE96, 0x0CAF2C2C, 0x7D35795D, 0x43BB27AF, 0x07179A67, 0xDE3B35F1, 0xD99892F8, 0x3D35F125, 0xF815CC6F, 0x499EBA52, 0xD876718D, 0x902C733F, 0xEFA2EF43, 0x192D83B9, 0xDEC63300, 0xD99D5058, 0xA7AA07A6, 0x818C1BE7, 0x9A3F114C, 0xEF9607B3, 0x483E952E, 0xB1272DF9, 0x5049917E, 0x91D2CCF0, 0x36E8CD69, 0x056850E6, 0x4DBED755, 0xD5D2E496, 0xD0A81B4B, 0x2854CB95, 0x4CB5E71C, 0x952E11DA, 0x300E87FE, 0x5E348059, 0x9D700948, 0x9EE83112, 0x3FE20735, 0x74794368, 0x42850985, 0x42995A92, 0x8CE9146C, 0xF306502A, 0x6DD8D506, 0xDC8C4D60, 0x84986AF6, 0x30B906E3, 0xCD75D7AA, 0xBC568D2F, 0x6B0D2E26, 0x408608F5, 0xC6EE12D6, 0x06597FA6, 0xAC3FEF15, 0xD6205521, 0xA929DBF4, 0x1FA6793C, 0x13F0327F, 0x25277A64, 0xE1643B86, 0x144EFD29, 0xBC6E9F1B, 0xAADFE377, 0xD7B87F61, 0x2FBCEAFE, 0x18C65491, 0x85AA55A7, 0xCA008F56, 0xAFA84902, 0xCBBE205A], [0x69635205, 0x1F420B04, 0x6BE1DA04, 0xFA2E2203, 0x5735EB05, 0xE1EB8900, 0x753CE103, 0x6D8BBD02, 0x69601E07, 0xC5B00604, 0x4E813707, 0x207C3504, 0x4305E706, 0x25B3D602, 0xDC2EF405, 0x08A45F07, 0x1FB68C05, 0x15B10500, 0xD784FB04, 0x37598300, 0xB0694D07, 0xF82E0903, 0xAA77C402, 0x663C6302, 0xEB791402, 0x9072BE02, 0xE34F2504, 0xDE181A04, 0x9E121100, 0xF3099201, 0xA3513705, 0x106DB402, 0xB49F8102, 0xA52F8B00, 0xF8D12007, 0xA2C71403, 0x7BAEB904, 0x28801604, 0x2F74AD01, 0x7495AA02, 0x0058A905, 0xA50D7A04, 0x93F07902, 0x90A8FA06, 0xBDA9A306, 0xAB421106, 0xB56BD302, 0xCBB8D507, 0x7F14D501, 0xF2B48501, 0xCE9C3204, 0xD8B5B104, 0x403AE106, 0x8C89F004, 0x07579B05, 0xD89F2D07, 0x63A9A604, 0x44C07105, 0x951D0B05, 0x98DEB806, 0xFFCA5302, 0xD5930F04, 0xA5E94D02, 0xBD596101, 0x1E4C1604, 0x0F9C0306, 0x3ABB6201, 0x5F6F7A03, 0x801F3E02, 0x47DCBE01, 0xC42CE402, 0xD31ABA02, 0x4ACD9F00, 0x649AA001, 0x2FF7D503, 0xF7162F00, 0xC2231506, 0x98DE9E01, 0x214EFB02, 0x82BA4A02, 0x4B325F03, 0x6D183B04, 0xBAD06F04, 0x7D4FD803, 0x5F9C5101, 0x37C64F05, 0x65314406, 0x65145900, 0x6A85D407, 0xF147C805, 0xA2E74907, 0xEC807D01, 0x2FBF1101, 0xBE20C902, 0x2356D806, 0x93DF4A06, 0xCC0C2603, 0x8DF2C002, 0x0CBE5B00, 0x5EF37103, 0x19714000, 0x7B5C0706, 0xC26DCB06, 0x12CB3100, 0xB50D2205, 0xD935D203, 0x35EB3607, 0x8C441607, 0xE9E4B902, 0xD808C406, 0x02D98202, 0xA3862505, 0x7FA47507, 0x0BA16C05, 0x4F168F02, 0x48593603, 0x4DDBBB07, 0xC7174203, 0xDBF4FD00, 0x82BE7802, 0xE32E6B05, 0xF4573A00, 0xDA446E02, 0xDFD68705, 0x81B39906, 0xDD58DD05, 0x4BC39900, 0x4F33FE07, 0xA1821606, 0xDC485F07, 0x1059A905, 0xF2D2C807, 0x3EF10107, 0x1421F901, 0xEB551F05, 0x958B1503, 0xEBCBA406, 0xD5C78806, 0x1E633904, 0xFE486400, 0x3F7BAB01, 0xB0D3DC03, 0x5DB13507, 0x145A0401, 0xD0F47C04, 0x19E1BF01, 0xD4765906, 0x8742BF06, 0xBFD25400, 0x1A287E03, 0x3EDC7404, 0x33F5DD01, 0x9E24FD07, 0x5CFF9606, 0xEF83FC06, 0x86598900, 0x53AD7F07, 0x75D4A002, 0x47CF8905, 0x0D066304, 0x538CF504, 0x84018C01, 0x7FEF1604, 0xE7B84801, 0x465F6600, 0x0E5FB106, 0xB376DD07, 0xBE2B5907, 0xF952C702, 0x9A635B03, 0xAB61B507, 0xC1025A05, 0xF4872C03, 0xC9F84D07, 0x087EDE04, 0xD09D7701, 0x83A1B004, 0xF173CD02, 0x6E105C01, 0xBCEB0E07, 0x03BB5500, 0xA21F6502, 0xD36DCE06, 0xAC3B5B06, 0x618AB105, 0x59358401, 0x0A60F100, 0x93285B03, 0x0FBA1901, 0x4CE21103, 0xDCA17600, 0x86545E07, 0x671C6502, 0xB2FAB002, 0x3AED9C02, 0xABDDE903, 0x3754B303, 0x6D0DD303, 0x08996203, 0x3C250B07, 0x6EFD0304, 0x1BAE3106, 0x5BE5C604, 0x46EACF05, 0x3982F700, 0x561EC304, 0xEA48AC02, 0x9357DA02, 0x80EED707, 0xD08DA501, 0x8EBC4004, 0x58A97F04, 0xAE20A104, 0x2F8CA407, 0x31D69004, 0x1B5C2004, 0xE1914407, 0x3787DC03, 0x917BAA05, 0xA0498102, 0x6853D102, 0xB257B802, 0x71203503, 0x3F2B3F01, 0x3422A302, 0x5F5AAD00, 0x07BBC102, 0xA8B14607, 0xC51B6F01, 0x53EC8E00, 0x74631F01, 0xF8DE3602, 0x36F1F501, 0x06125E01, 0xF615E807, 0xC6792804, 0x7DD53A03, 0x2A445805, 0xF1F94302, 0x9107B500, 0xED2B6304, 0x46E78C00, 0xB947BA02, 0x3D95DC04, 0x20C53002, 0x448A8B02, 0xAD4A4E03, 0x4A40F405, 0x9A2FC005, 0x98209C04, 0x118F7305, 0xBB1F3407, 0xDA5F8401, 0x1FD03E04, 0x07A39704, 0x98F95F05, 0x28D4DD04, 0xA4FDDD05, 0x722F4407, 0x9D220706, 0x16D12F05, 0xD328E500, 0xAAD7E301, 0x09BAEB02, 0x52C2E306, 0x6770F104, 0xBB220607, 0x0B860803, 0x5B049D03, 0x4888DD04, 0x5D10D901, 0xAAC98903, 0xAE6AB000, 0xACCA4D03, 0xE5E8C501, 0x63468302, 0xDB04BC07, 0x430F6C04, 0x2C5C7905, 0xD0A9C300, 0x6D649806, 0xDAE74104, 0x07EC0401, 0xC409CF04, 0x1F3BFA01, 0x18A8A307, 0x2F49C300, 0xC5419E05, 0xCC910C02, 0x155DF404, 0x2F536204, 0x6BB0B005, 0x777FB703, 0xFD081207, 0x1CB0BD00, 0x86938A06, 0x104C7F04, 0xF0A72800, 0x1075A206, 0x432B6F05, 0x4C760500, 0x95916E05, 0x7F996702, 0x98880104, 0x95EE3505, 0x59750207, 0xB6917406, 0x0942F302, 0xBB474E03, 0xE692E402, 0x031C3A01, 0xC4A55302, 0x4AE86406, 0xE6A56900, 0x8F2E0D00, 0xA8DAC406, 0x7487FA06, 0xC8A4D304, 0x17C3AB02, 0x60401405, 0xE9201102, 0x714B2E07, 0xAF253C07, 0x7E409105, 0x5063D900, 0x1D7BDF02, 0x1F232500, 0x60E6D603, 0xBF62DC03, 0x618BF206, 0x3D87AF02, 0x4CBF7D07, 0x0E32BC06, 0x5BB2D907, 0x00F19F07, 0xBC045303, 0x256CFB06, 0xF0047E01, 0xDA79B804, 0x68274702, 0x7854B006, 0x6D29F907, 0x41A2D306, 0xEED0E900, 0x27FFC406, 0xD9655F05, 0x93105502, 0x17790604, 0x4D528B03, 0x235D4007, 0xBEDC3F05, 0x3DA7A604, 0x189F5203, 0x50CA1D04, 0x3E929A06, 0x36445606, 0xE0A43C00, 0xB622E407, 0xDA379D05, 0x6481E406, 0x88BA3701, 0x55938B03, 0x461D8E00, 0xEA265400, 0x2474B606, 0x1985C502, 0xE52FAF04, 0x6FFC3200, 0x04D96E00, 0xC2BD9605, 0xF2291A06, 0x039D3A02, 0x069E4300, 0xD28D3400, 0xCEF8DC01, 0xE9885607, 0x0A9ED204, 0x8C44BD03, 0xF397AB05, 0xBBE30B05, 0x7473C005, 0x6CB4BE01, 0x6C665D03, 0xFFA7A705, 0x8AE32703, 0x3D2A8005, 0x43D04501, 0x08FF4404, 0x90E0C203, 0xABF12E04, 0x7BD52006, 0x13E0F607, 0x30A5FB06, 0xA8140C03, 0x385A2101, 0x4A91BE03, 0xD2B3FF05, 0xDC788402, 0x4B562607, 0x657D5300, 0xDE616100, 0x2BB0AE07, 0x8E6D0D02, 0x66FAC401, 0x0025F105, 0xEF686804, 0x3B4F1702, 0x33552502, 0x36E41A07, 0xF7544A01, 0x3433DB07, 0x53DA1B04, 0x46D98302, 0xDA303105, 0x60A6AB01, 0x560D3607, 0x5C855600, 0xBD94CE00, 0xD9CD0604, 0x08E0E606, 0xE0364D00, 0x86621C05, 0x6E347002, 0x6909AD05, 0x74E2D007, 0x1E99E500, 0x21B28602, 0xCA196305, 0x0BE18400, 0x59BD0C05, 0x39D58306, 0xAA034B03, 0xB5DB9A06, 0xD2163F01, 0x2A11EA01, 0xB80D7C03, 0x66920F07, 0xC1E56B02, 0x7CE4E404, 0x74C11D02, 0x68439F04, 0x2BA50B03, 0x25E8A704, 0x22918602, 0x50689802, 0x55175002, 0x069CB903, 0xB80E9600, 0x1FFEDA07, 0x44F6C103, 0x28E82304, 0x384A2C03, 0x48F70206, 0x5E62AA06, 0x50795807, 0xF04B9602, 0x33B6A603, 0x347E6203, 0xE474BF03, 0x2F2ADA03, 0x40B4AA04, 0x13810201, 0x5C0A8603, 0x76458704, 0xED318C07, 0x9CBC4800, 0x42485401, 0xEA229901, 0x3234D103, 0x02462E07, 0x387F9405, 0xD9595004, 0xB1B4BC03, 0x6E19D104, 0x7FA33E00, 0x79B61A03, 0x41499F04, 0x999DB203, 0x56538F04, 0x4BCD7607, 0x85BA1303, 0xA3BB0002, 0x81ABB800, 0x64C35A00, 0x4FD95404, 0x8AFA9700, 0xF26FCF06, 0x50605902, 0x64E34205, 0x46F0CB00, 0x4A62D903, 0x0785B605, 0xA161FC04, 0x735ABE05, 0xF7CF3A02, 0xE3CFCF06, 0xBA9F6302, 0x8F3C7B05, 0x6CFE7C01, 0xD394CB01, 0x9BD62803, 0xE7FEEC02, 0xF0580207, 0xB6991702, 0xCBB4FE02, 0x62A31105, 0xABC68900, 0xD405A306, 0x52A8B805, 0x8C133102, 0xB50AC303, 0x0D513E04, 0x49525606, 0xF4DC2104, 0x5788D504, 0x5806D105, 0x69A8EE05, 0x1D4D4004, 0x8F0C0E01, 0x114FB604, 0x1E885E00, 0x90A88306, 0x17071B03, 0x6184A302, 0x9B6CEB01, 0xB8E35C05, 0x3D731404, 0x2F600C06, 0xFF33F000, 0x337B1605, 0x78DCA904, 0x24F37700, 0x27157903, 0x09632A06, 0x11162903, 0x18982F02, 0xDE2B4507, 0x6827F906, 0xA65D0C01, 0x65506707, 0x9AB03203, 0x09608500, 0x88379902, 0x491EF806, 0x92CA3600, 0xEA2EAA07, 0x2FBD5804, 0xACD84D00, 0x7EEC6B02, 0x64862703, 0xCF815507, 0x2163E901, 0x6CEE1301, 0xCB3F3004, 0xCAF34202, 0xDD8BB000, 0xF85C0F05, 0x97A10405, 0xFB5BFE07, 0x0BF9BD07, 0xB15BC601, 0x36149200, 0xF5027200, 0x4942CA04, 0x9EB64F03, 0x7BDB8302, 0x1AC6C703, 0x14EAB306, 0x5A887B07, 0x312D7507, 0xC8D17E03, 0x3DCEA504, 0x95F9D306, 0x4BC2DC00, 0xD0727004, 0xDB66C101, 0x47068601, 0x65934807, 0x885FEE00, 0x82883F06, 0x9871D706, 0x90A54501, 0x7A189102, 0x06466E00, 0xA6509506, 0x8C4C2206, 0xCEB18B06, 0x5D9F5101, 0x83A8F101, 0x85933006, 0xE253C606, 0x476EAB01, 0x1ED04105, 0x6918A200, 0xFA428F03, 0xE5BCF804, 0x0734AC07, 0xB5C39F04, 0x2B90F407, 0x7592CF03, 0x3D6F5205, 0x238BE205, 0x3AEAEE00, 0x332C9803, 0x82421204, 0x50F29603, 0x4CA19501, 0xAE5E2E07, 0x17E7E600, 0x5EC83D00, 0xF86F8B03, 0xFEB6C704, 0x3B856F07, 0x78A9BA05, 0x53DF0E03, 0xABAEF104, 0xB0D1A303, 0x9DBA0702, 0x89819203, 0xFD3D6E00, 0x63DB2E01, 0xC3162106, 0x5B308607, 0xAD3F5C06, 0x9BE44A04, 0x8D133104, 0xC6638906, 0x8CC0CD07, 0xEECB7901, 0xB223E804, 0xC619F903, 0xF160B304, 0x3CACE506, 0x34C34005, 0x2C10A906, 0x09B51C06, 0x36853B01, 0xD6B3D500, 0x808C8304, 0xA8086306, 0xEAE76A07, 0x8A961306, 0x4EC14E05, 0x5408BC05, 0xA9024603, 0x5CB58F06, 0x5BA5D504, 0xB018FC02, 0x709B4B04, 0xAF28BF05, 0xF289FE07, 0x7A205204, 0x4FAAAF03, 0xA8FE8802, 0x0CC62604, 0x1D6F4D03, 0x74A23E05, 0x1E63F506, 0x3EAF4903, 0x15BC8A04, 0x37096E02, 0x8B9BC603, 0xDE94CA03, 0x846DF302, 0x6AC9AB01, 0xE1C9C501, 0xA6C1B305, 0x4BE12500, 0xD80F3E03, 0xEFBDBA07, 0x80C7FF06, 0x951EED02, 0x6425B904, 0x38425B07, 0x49EF8F07, 0x4B02A104, 0x246CAA00, 0x320C3101, 0x0D8D7B06, 0xEC389D05, 0x03164106, 0x504F9D03, 0x1B470300, 0x451F2F00, 0xF8F17A02, 0x50681E06, 0x34B75A05, 0xE3996E03, 0x75440107, 0xC3109B06, 0x1AE58B06, 0xC506C002, 0xB8E78802, 0xDB455B07, 0x651C6F01, 0x485E4603, 0xCA683C04, 0x8D7EE705, 0x31F75100, 0xFFC22D01, 0x1419C101, 0xA1A6AD02, 0x106B4502, 0x9F046503, 0xA6803F01, 0x28ADB403, 0xE280C401, 0xDBF6C206, 0x84205106, 0x11DCE500, 0x1519DC02, 0x96068401, 0xA0874003, 0x200CC407, 0x033E9603, 0xE1AE2B06, 0x5695BC07, 0x4420DF02, 0xEE239800, 0xB0717602, 0x06081C05, 0x63E47904, 0x4B414102, 0x2B582405, 0x707E0706, 0x05999602, 0x78054801, 0x0F23AF02, 0x24D8A907, 0x395F9503, 0x64614104, 0x8D765E03, 0x41EBDB02, 0x5EC21A03, 0xA13DB401, 0xCCF30F04, 0x423BB902, 0x63CDD000, 0x3740C305, 0x9D7FE105, 0x6B00D406, 0x74622106, 0xF26C5300, 0x02943C00, 0xCA6B6B00, 0x5A97C402, 0xA4102B02, 0x25197105, 0x98CE5501, 0x676B8C03, 0x0C6AA002, 0x1CAC0F06, 0x255BAB02, 0xA3B98F03, 0xEC611201, 0xB591A300, 0x7186DB07, 0x1C63FA04, 0xBEEF3907, 0x2AC1ED06, 0x70C7F404, 0x14D13D00, 0x038C8800, 0x5CF9FF00, 0x4EBDEF02, 0xCC2C9C02, 0xC3F3D302, 0x3C859B02, 0x103C6002, 0x1D43F800, 0xE40B2503, 0xF8FE6004, 0xD5E25002, 0x2E723904, 0x6E3A5102, 0xCD2FD805, 0xC2944806, 0x69274905, 0x80662603, 0x75047E04, 0xB60EFA02, 0x613CBA06, 0xA9A97F04, 0xFEA9C102, 0xB7CF5A02, 0xD25E9802, 0xAC1B4404, 0x186E0D06, 0xD7A4D504, 0x2E7F2A04, 0xAB2D9006, 0x207BE800, 0xCE6E7F01, 0x2A313401, 0xCE7C4D05, 0x489FC404, 0xA03BE303, 0xF10C9900, 0xBD21BD00, 0x0D6B4601, 0x78E20207, 0x6CD08E03, 0xB97EBC04, 0xF79BD507, 0x39205704, 0x14EFC002, 0xDCDEB300, 0x1BB76005, 0x973DEE04, 0xE1168801, 0x9B5D1806, 0x3E1ED901, 0x2EA03303, 0x2F198702, 0xC52C0502, 0xF502E706, 0xD7854304, 0xECD8C003, 0x72A7EA03, 0x84D69504, 0xADBC9C02, 0xF4B41D05, 0x8ABD1304, 0xE4067B05, 0x620B6502, 0x94316804, 0x28CECD07, 0x815B8105, 0x0C63BF02, 0xCDC80804, 0x9CD9F107, 0x4DDBD904, 0xA1FCE207, 0xBE157F06, 0xD2324C03, 0x6FE0A507, 0x42D64903, 0x23534706, 0xAB4E1005, 0x6244FD04, 0x61047503, 0x43D9B102, 0xC7A91E06, 0x7DC97B06, 0x6B9A6102, 0xA7F15406, 0x70E65301, 0xC097E500, 0xAB34F205, 0x59C4F704, 0x57D56D02, 0x01FCA006, 0x13E30507, 0xFE6D0505, 0x24D58D01, 0xBE7E3F03, 0x2E5A0702, 0xF299BF05, 0x7810AA00, 0x2EB8C600, 0x59A59401, 0xBB62AC06, 0x80741803, 0xBE164302, 0x4C675B03, 0xDA789C06, 0x5BBE9806, 0xF3539307, 0xD43CAE02, 0xD4C9CA00, 0x93BF6D00, 0x6FCE1B06, 0x884CB704, 0x3E11E007, 0x4CC73E01, 0xBED65A03, 0x5D216003, 0xE0B0F307, 0x6A7BB301, 0xCCA0B205, 0x5D2FD303, 0x4DB96B01, 0xD174A301, 0x73F9A806, 0x19AC8101, 0x016B1704, 0x8EC98507, 0x53DB1300, 0xCE475207, 0x49FF6707, 0x3494B200, 0xB3DE1F06, 0xF07CC505, 0xA2FDD107, 0xE5680903, 0xA41BC001, 0x74C3BA03, 0xE1CD4407, 0xBACDE907, 0x1AE79901, 0xEA812401, 0x2E71D107, 0xCB4CCD01, 0x6D7B3701, 0x0E5B6005, 0xD2EA2F00, 0x7B33B202, 0x302D6207, 0xD94AA000, 0x46BED302, 0x4929F007, 0x61A22404, 0xB5856507, 0xBE168807, 0x17411507, 0x4218C101, 0xF9290005, 0x4E8B9207, 0x7699F804, 0x2C085804, 0x5DCF1901, 0x8A4CB501, 0x2C28F504, 0x825F0902, 0x26DBDF01, 0x89BCB706, 0x56A68205, 0x3D625A07, 0x94B7BD04, 0x62A93706, 0x2D667A05, 0xC78E6B04, 0x0F682106, 0xA7755102, 0x4ACB2100, 0x15329B00, 0xAD1C5F01, 0xDD9B5806, 0x8B16C006, 0xF9B76203, 0x82073007, 0x5323B206, 0x88075406, 0x27031601, 0x11873E02, 0x33400105, 0xD7050400, 0xD24A8C02, 0x42D23602, 0x21E7F205, 0x0AF67C06, 0xCD8ABB05, 0x1AEF6000, 0x8E70AC05, 0x7DBCE207, 0x8697C907, 0x6092E400, 0x1A41E501, 0xFB517D04, 0xA801CD05, 0xEB811007, 0x640FCD04, 0xD2189803, 0x6C093303, 0xD186B604, 0x33D69903, 0x3DC77407, 0x4A7ECE07, 0x45FBE803, 0x9604F007, 0x22969007, 0xB7017704, 0xD1C82705, 0x8D31E907, 0x069C6200, 0x7398C700, 0x1C1C4C02, 0x97B74307, 0x62E6B105, 0x002F5401, 0x8C05AC02, 0x04AE7801, 0x07DC5301, 0xF517D607, 0xB322BC05, 0xD6584605, 0xD128E307, 0x50977604, 0x6ACC1D04, 0x9F5EC504, 0x2F565F02, 0xD9D32A01, 0x246CE107, 0xC2779107, 0xEFA8FC04, 0x8633D902, 0x691E1605, 0x9D9DB306, 0xE0998600, 0x9F510504, 0xBAB69F02, 0xFF338F03, 0x1DED4304, 0x088C6004, 0x876B4202, 0x78A06206, 0xEC48A705, 0xCEA60503, 0x1B84E104, 0x26FE7101, 0xFADC7A05, 0x0A6CF400, 0xC82E0500, 0x84091F05, 0xFF85E306, 0x103F1701, 0xF26D1605, 0xE83A7907, 0x93333C01, 0xF5356100, 0x0009C006, 0x63F7D504, 0x3D99C702, 0xEE9A0407, 0xBDF27202, 0xB55C1D02, 0xFE3EA505, 0xB16A4606, 0x2BDD7F07, 0xA36D9703, 0xC3BAEE05, 0x9BE21503, 0x978D0D00, 0x2F29E000, 0x304AAC01, 0xEA68D405, 0x7A2EF907, 0xB80E7904, 0xE16D4100, 0x9C26C001, 0xC04F5606, 0xD18F4D06]) \ No newline at end of file diff --git a/lib/ntr_twl_srl.py b/lib/ntr_twl_srl.py index 9092fd5..35341ee 100644 --- a/lib/ntr_twl_srl.py +++ b/lib/ntr_twl_srl.py @@ -543,11 +543,10 @@ class SRLReader: f.seek(i['offset']) g.seek(i['offset']) - counter = bytearray(i['counter']) + counter = Counter.new(128, initial_value=readbe(i['counter'])) + cipher = AES.new(i['key'], AES.MODE_CTR, counter=counter) for data in read_chunks(f, i['size']): - for j in range(len(data) // 16): - output, counter = TWL.aes_ctr_block(i['key'], counter, data[j * 16:(j + 1) * 16]) - g.write(output) + g.write(TWL.aes_ctr(cipher, data)) print(f'Decrypted {i["name"]}') g.close() diff --git a/utils.py b/utils.py index df407b5..e9527db 100644 --- a/utils.py +++ b/utils.py @@ -38,11 +38,10 @@ def srl_retail2dev(path, out=''): f.seek(i['offset']) g.seek(i['offset']) - counter = bytearray(i['counter']) + counter = Counter.new(128, initial_value=readbe(i['counter'])) + cipher = AES.new(key, AES.MODE_CTR, counter=counter) for data in read_chunks(f, i['size']): - for j in range(len(data) // 16): - output, counter = TWL.aes_ctr_block(key, counter, data[j * 16:(j + 1) * 16]) - g.write(output) + g.write(TWL.aes_ctr(cipher, data)) g.close() f.close() os.remove('decrypted.nds')