-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathEACrypter.js
139 lines (121 loc) · 24 KB
/
EACrypter.js
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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
function EACrypter() {
this.encryptKeys = this.getEncryptKeys();
this.decryptKeys = this.getDecryptKeys();
this.hashSm = [
this.getHashCode1(), this.getHashCode2(), this.getHashCode3(),
this.getHashCode4(), this.getHashCode5(), this.getHashCode6(),
this.getHashCode7(), this.getHashCode8()
];
this.SBox = Buffer.from('637C777BF26B6FC53001672BFED7AB76CA82C97DFA5947F0ADD4A2AF9CA472C0B7FD9326363FF7CC34A5E5F171D8311504C723C31896059A071280E2EB27B27509832C1A1B6E5AA0523BD6B329E32F8453D100ED20FCB15B6ACBBE394A4C58CFD0EFAAFB434D338545F9027F503C9FA851A3408F929D38F5BCB6DA2110FFF3D2CD0C13EC5F974417C4A77E3D645D197360814FDC222A908846EEB814DE5E0BDBE0323A0A4906245CC2D3AC629195E479E7C8376D8DD54EA96C56F4EA657AAE08BA78252E1CA6B4C6E8DD741F4BBD8B8A703EB5664803F60E613557B986C11D9EE1F8981169D98E949B1E87E9CE5528DF8CA1890DBFE6426841992D0FB054BB16', 'hex');
this.SBoxInv = Buffer.from('52096AD53036A538BF40A39E81F3D7FB7CE339829B2FFF87348E4344C4DEE9CB547B9432A6C2233DEE4C950B42FAC34E082EA16628D924B2765BA2496D8BD12572F8F66486689816D4A45CCC5D65B6926C704850FDEDB9DA5E154657A78D9D8490D8AB008CBCD30AF7E45805B8B34506D02C1E8FCA3F0F02C1AFBD0301138A6B3A9111414F67DCEA97F2CFCEF0B4E67396AC7422E7AD3585E2F937E81C75DF6E47F11A711D29C5896FB7620EAA18BE1BFC563E4BC6D279209ADBC0FE78CD5AF41FDDA8338807C731B11210592780EC5F60517FA919B54A0D2DE57A9F93C99CEFA0E03B4DAE2AF5B0C8EBBB3C83539961172B047EBA77D626E169146355210C7D', 'hex');
}
EACrypter.prototype.DecodeBuffer = function(b64_str) {
var real_b64 = "";
for(var i=0;i<b64_str.length;i++) {
if(b64_str[i] == ']') {
real_b64 += '/';
} else if(b64_str[i] == '[') {
real_b64 += '+';
} else if(b64_str[i] == '_') {
real_b64 += '=';
} else {
real_b64 += b64_str[i];
}
}
return Buffer.from(real_b64, 'base64');
}
EACrypter.prototype.DecryptBlock = function(block) {
var Kdr = this.decryptKeys[0];
var sourceBlock = Buffer.alloc(4*4);
sourceBlock.writeUInt32BE((block.readUInt32BE(0) ^ Kdr.readUInt32LE(0)) >>> 0, 0);
sourceBlock.writeUInt32BE((block.readUInt32BE(4) ^ Kdr.readUInt32LE(4)) >>> 0, 4);
sourceBlock.writeUInt32BE((block.readUInt32BE(8) ^ Kdr.readUInt32LE(8)) >>> 0, 8);
sourceBlock.writeUInt32BE((block.readUInt32BE(12) ^ Kdr.readUInt32LE(12)) >>> 0, 12);
var newBlock = Buffer.from(sourceBlock);
for(var i = 1;i<10;i++) {
Kdr = this.decryptKeys[i];
var tempBlock = Buffer.alloc(4*4);
tempBlock.writeUInt32BE((this.hashSm[4].readUInt32LE(newBlock[0]*4) ^ this.hashSm[5].readUInt32LE(newBlock[(4*3)+1]*4) ^ this.hashSm[6].readUInt32LE(newBlock[(4*2)+2]*4) ^ this.hashSm[7].readUInt32LE(newBlock[(4*1)+3]*4) ^ Kdr.readUInt32LE(0)) >>> 0, 0);
tempBlock.writeUInt32BE(((this.hashSm[4].readUInt32LE(newBlock[4]*4) ^ this.hashSm[5].readUInt32LE(newBlock[1]*4) ^ this.hashSm[6].readUInt32LE(newBlock[(4*3)+2]*4) ^ this.hashSm[7].readUInt32LE(newBlock[((4*2)+3)]*4) ^ Kdr.readUInt32LE(4)) >>> 0), 4);
tempBlock.writeUInt32BE(((this.hashSm[4].readUInt32LE(newBlock[8]*4) ^ (this.hashSm[5].readUInt32LE(newBlock[4+1]*4)) ^ (this.hashSm[6].readUInt32LE(newBlock[2]*4)) ^ (this.hashSm[7].readUInt32LE(newBlock[(4*3)+3]*4)) ^ Kdr.readUInt32LE(8)) >>> 0), 8);
tempBlock.writeUInt32BE(((this.hashSm[4].readUInt32LE(newBlock[12]*4) ^ this.hashSm[5].readUInt32LE(newBlock[9]*4) ^ this.hashSm[6].readUInt32LE(newBlock[6]*4) ^ this.hashSm[7].readUInt32LE(newBlock[3]*4) ^ Kdr.readUInt32LE(12)) >>> 0), 12);
newBlock = tempBlock;
}
var xor_keys = [this.decryptKeys[10].readUInt8(3), this.decryptKeys[10].readUInt8(2), this.decryptKeys[10].readUInt8(1), this.decryptKeys[10].readUInt8(0)];
var result = Buffer.alloc(4*4);
result.writeUInt8((this.SBoxInv.readUInt8((newBlock.readUInt8(0))) ^ xor_keys[0]), 0);
result.writeUInt8((this.SBoxInv.readUInt8((newBlock.readUInt8((4*3)+1))) ^ xor_keys[1]), 1);
result.writeUInt8((this.SBoxInv.readUInt8((newBlock.readUInt8((4*2)+2))) ^ xor_keys[2]), 2);
result.writeUInt8((this.SBoxInv.readUInt8((newBlock.readUInt8((4*1)+3))) ^ xor_keys[3]), 3);
xor_keys = [this.decryptKeys[10].readUInt8(4+3), this.decryptKeys[10].readUInt8(4+2), this.decryptKeys[10].readUInt8(4+1), this.decryptKeys[10].readUInt8(4)];
result.writeUInt8((this.SBoxInv.readUInt8((newBlock.readUInt8(4))) ^ xor_keys[0]), 4);
result.writeUInt8((this.SBoxInv.readUInt8((newBlock.readUInt8(1))) ^ xor_keys[1]), 5);
result.writeUInt8((this.SBoxInv.readUInt8((newBlock.readUInt8(14))) ^ xor_keys[2]), 6);
result.writeUInt8((this.SBoxInv.readUInt8((newBlock.readUInt8(11))) ^ xor_keys[3]), 7);
xor_keys = [this.decryptKeys[10].readUInt8(8+3), this.decryptKeys[10].readUInt8(8+2), this.decryptKeys[10].readUInt8(8+1), this.decryptKeys[10].readUInt8(8)];
result.writeUInt8((this.SBoxInv.readUInt8((newBlock.readUInt8(8))) ^ xor_keys[0]), 8);
result.writeUInt8((this.SBoxInv.readUInt8((newBlock.readUInt8(5))) ^ xor_keys[1]), 9);
result.writeUInt8((this.SBoxInv.readUInt8((newBlock.readUInt8(2))) ^ xor_keys[2]), 10);
result.writeUInt8((this.SBoxInv.readUInt8((newBlock.readUInt8(15))) ^ xor_keys[3]), 11);
xor_keys = [this.decryptKeys[10].readUInt8(12+3), this.decryptKeys[10].readUInt8(12+2), this.decryptKeys[10].readUInt8(12+1), this.decryptKeys[10].readUInt8(12)];
result.writeUInt8((this.SBoxInv.readUInt8((newBlock.readUInt8(12))) ^ xor_keys[0]), 12);
result.writeUInt8((this.SBoxInv.readUInt8((newBlock.readUInt8(9))) ^ xor_keys[1]), 13);
result.writeUInt8((this.SBoxInv.readUInt8((newBlock.readUInt8(6))) ^ xor_keys[2]), 14);
result.writeUInt8((this.SBoxInv.readUInt8((newBlock.readUInt8(3))) ^ xor_keys[3]), 15);
return result;
}
EACrypter.prototype.getEncryptKeys = function() {
var keys = [];
keys.push(Buffer.from('AA56BB4CC300007844EFFF652C2C1223', "hex"));
keys.push(Buffer.from('8C27CA844F27CAFC0BC8359927E427BA', "hex"));
keys.push(Buffer.from('78EBA34A37CC69B63C045C2F1BE07B95', "hex"));
keys.push(Buffer.from('5244426F65882BD9598C77F6426C0C63', "hex"));
keys.push(Buffer.from('A9681299CCE03940956C4EB6D70042D5', "hex"));
keys.push(Buffer.from('AA6671A5668648E5F3EA065324EA4486', "hex"));
keys.push(Buffer.from('EE50F69E88D6BE7B7B3CB8285FD6FCAE', "hex"));
keys.push(Buffer.from('0A9F006E8249BE15F975063DA6A3FA93', "hex"));
keys.push(Buffer.from('D6BB0AC354F2B4D6AD87B2EB0B244878', "hex"));
keys.push(Buffer.from('6A903C8A3E62885C93E53AB798C172CF', "hex"));
keys.push(Buffer.from('E0D644FCDEB4CCA04D51F617D59084D8', "hex"));
return keys;
}
EACrypter.prototype.getDecryptKeys = function() {
var keys = [];
keys.push(Buffer.from('E0D644FCDEB4CCA04D51F617D59084D8', "hex"));
keys.push(Buffer.from('E80D268FB0860DB32B386F8736CE0F13', "hex"));
keys.push(Buffer.from('5269DD42588B2B3C9BBE62341DF66094', "hex"));
keys.push(Buffer.from('88256F390AE2F67EC3354908864802A0', "hex"));
keys.push(Buffer.from('521EFD6782C79947C9D7BF76457D4BA8', "hex"));
keys.push(Buffer.from('2D1CC6EFD0D964204B1026318CAAF4DE', "hex"));
keys.push(Buffer.from('3F341051FDC5A2CF9BC94211C7BAD2EF', "hex"));
keys.push(Buffer.from('903CF661C2F1B29E660CE0DE5C7390FE', "hex"));
keys.push(Buffer.from('DAE3F5B652CD44FFA4FD52403A7F7020', "hex"));
keys.push(Buffer.from('135C842E882EB149F63016BF9E822260', "hex"));
keys.push(Buffer.from('AA56BB4CC300007844EFFF652C2C1223', "hex"));
return keys;
}
EACrypter.prototype.getHashCode1 = function() {
return Buffer.from('A56363C6847C7CF8997777EE8D7B7BF60DF2F2FFBD6B6BD6B16F6FDE54C5C5915030306003010102A96767CE7D2B2B5619FEFEE762D7D7B5E6ABAB4D9A7676EC45CACA8F9D82821F40C9C989877D7DFA15FAFAEFEB5959B2C947478E0BF0F0FBECADAD4167D4D4B3FDA2A25FEAAFAF45BF9C9C23F7A4A453967272E45BC0C09BC2B7B7751CFDFDE1AE93933D6A26264C5A36366C413F3F7E02F7F7F54FCCCC835C343468F4A5A55134E5E5D108F1F1F9937171E273D8D8AB533131623F15152A0C04040852C7C795652323465EC3C39D28181830A19696370F05050AB59A9A2F0907070E361212249B80801B3DE2E2DF26EBEBCD6927274ECDB2B27F9F7575EA1B0909129E83831D742C2C582E1A1A342D1B1B36B26E6EDCEE5A5AB4FBA0A05BF65252A44D3B3B7661D6D6B7CEB3B37D7B2929523EE3E3DD712F2F5E97848413F55353A668D1D1B9000000002CEDEDC1602020401FFCFCE3C8B1B179ED5B5BB6BE6A6AD446CBCB8DD9BEBE674B393972DE4A4A94D44C4C98E85858B04ACFCF856BD0D0BB2AEFEFC5E5AAAA4F16FBFBEDC5434386D74D4D9A5533336694858511CF45458A10F9F9E906020204817F7FFEF05050A0443C3C78BA9F9F25E3A8A84BF35151A2FEA3A35DC04040808A8F8F05AD92923FBC9D9D214838387004F5F5F1DFBCBC63C1B6B67775DADAAF63212142301010201AFFFFE50EF3F3FD6DD2D2BF4CCDCD81140C0C18351313262FECECC3E15F5FBEA2979735CC4444883917172E57C4C493F2A7A755827E7EFC473D3D7AAC6464C8E75D5DBA2B191932957373E6A06060C098818119D14F4F9E7FDCDCA3662222447E2A2A54AB90903B8388880BCA46468C29EEEEC7D3B8B86B3C14142879DEDEA7E25E5EBC1D0B0B1676DBDBAD3BE0E0DB563232644E3A3A741E0A0A14DB4949920A06060C6C242448E45C5CB85DC2C29F6ED3D3BDEFACAC43A66262C4A8919139A495953137E4E4D38B7979F232E7E7D543C8C88B5937376EB76D6DDA8C8D8D0164D5D5B1D24E4E9CE0A9A949B46C6CD8FA5656AC07F4F4F325EAEACFAF6565CA8E7A7AF4E9AEAE4718080810D5BABA6F887878F06F25254A722E2E5C241C1C38F1A6A657C7B4B47351C6C69723E8E8CB7CDDDDA19C7474E8211F1F3EDD4B4B96DCBDBD61868B8B0D858A8A0F907070E0423E3E7CC4B5B571AA6666CCD84848900503030601F6F6F7120E0E1CA36161C25F35356AF95757AED0B9B9699186861758C1C199271D1D3AB99E9E2738E1E1D913F8F8EBB398982B33111122BB6969D270D9D9A9898E8E07A7949433B69B9B2D221E1E3C9287871520E9E9C949CECE87FF5555AA782828507ADFDFA58F8C8C03F8A1A15980898909170D0D1ADABFBF6531E6E6D7C6424284B86868D0C3414182B0999929772D2D5A110F0F1ECBB0B07BFC5454A8D6BBBB6D3A16162C', 'hex');
}
EACrypter.prototype.getHashCode2 = function() {
return Buffer.from('6363C6A57C7CF8847777EE997B7BF68DF2F2FF0D6B6BD6BD6F6FDEB1C5C5915430306050010102036767CEA92B2B567DFEFEE719D7D7B562ABAB4DE67676EC9ACACA8F4582821F9DC9C989407D7DFA87FAFAEF155959B2EB47478EC9F0F0FB0BADAD41ECD4D4B367A2A25FFDAFAF45EA9C9C23BFA4A453F77272E496C0C09B5BB7B775C2FDFDE11C93933DAE26264C6A36366C5A3F3F7E41F7F7F502CCCC834F3434685CA5A551F4E5E5D134F1F1F9087171E293D8D8AB733131625315152A3F0404080CC7C7955223234665C3C39D5E18183028969637A105050A0F9A9A2FB507070E091212243680801B9BE2E2DF3DEBEBCD2627274E69B2B27FCD7575EA9F0909121B83831D9E2C2C58741A1A342E1B1B362D6E6EDCB25A5AB4EEA0A05BFB5252A4F63B3B764DD6D6B761B3B37DCE2929527BE3E3DD3E2F2F5E71848413975353A6F5D1D1B96800000000EDEDC12C20204060FCFCE31FB1B179C85B5BB6ED6A6AD4BECBCB8D46BEBE67D93939724B4A4A94DE4C4C98D45858B0E8CFCF854AD0D0BB6BEFEFC52AAAAA4FE5FBFBED16434386C54D4D9AD7333366558585119445458ACFF9F9E910020204067F7FFE815050A0F03C3C78449F9F25BAA8A84BE35151A2F3A3A35DFE404080C08F8F058A92923FAD9D9D21BC38387048F5F5F104BCBC63DFB6B677C1DADAAF752121426310102030FFFFE51AF3F3FD0ED2D2BF6DCDCD814C0C0C181413132635ECECC32F5F5FBEE1979735A2444488CC17172E39C4C49357A7A755F27E7EFC823D3D7A476464C8AC5D5DBAE71919322B7373E6956060C0A0818119984F4F9ED1DCDCA37F222244662A2A547E90903BAB88880B8346468CCAEEEEC729B8B86BD31414283CDEDEA7795E5EBCE20B0B161DDBDBAD76E0E0DB3B323264563A3A744E0A0A141E494992DB06060C0A2424486C5C5CB8E4C2C29F5DD3D3BD6EACAC43EF6262C4A6919139A8959531A4E4E4D3377979F28BE7E7D532C8C88B4337376E596D6DDAB78D8D018CD5D5B1644E4E9CD2A9A949E06C6CD8B45656ACFAF4F4F307EAEACF256565CAAF7A7AF48EAEAE47E908081018BABA6FD57878F08825254A6F2E2E5C721C1C3824A6A657F1B4B473C7C6C69751E8E8CB23DDDDA17C7474E89C1F1F3E214B4B96DDBDBD61DC8B8B0D868A8A0F857070E0903E3E7C42B5B571C46666CCAA484890D803030605F6F6F7010E0E1C126161C2A335356A5F5757AEF9B9B969D086861791C1C199581D1D3A279E9E27B9E1E1D938F8F8EB1398982BB3111122336969D2BBD9D9A9708E8E0789949433A79B9B2DB61E1E3C2287871592E9E9C920CECE87495555AAFF28285078DFDFA57A8C8C038FA1A159F8898909800D0D1A17BFBF65DAE6E6D731424284C66868D0B8414182C3999929B02D2D5A770F0F1E11B0B07BCB5454A8FCBBBB6DD616162C3A', 'hex');
}
EACrypter.prototype.getHashCode3 = function () {
return Buffer.from('63C6A5637CF8847C77EE99777BF68D7BF2FF0DF26BD6BD6B6FDEB16FC59154C5306050300102030167CEA9672B567D2BFEE719FED7B562D7AB4DE6AB76EC9A76CA8F45CA821F9D82C98940C97DFA877DFAEF15FA59B2EB59478EC947F0FB0BF0AD41ECADD4B367D4A25FFDA2AF45EAAF9C23BF9CA453F7A472E49672C09B5BC0B775C2B7FDE11CFD933DAE93264C6A26366C5A363F7E413FF7F502F7CC834FCC34685C34A551F4A5E5D134E5F1F908F171E29371D8AB73D831625331152A3F1504080C04C79552C723466523C39D5EC3183028189637A196050A0F059A2FB59A070E090712243612801B9B80E2DF3DE2EBCD26EB274E6927B27FCDB275EA9F7509121B09831D9E832C58742C1A342E1A1B362D1B6EDCB26E5AB4EE5AA05BFBA052A4F6523B764D3BD6B761D6B37DCEB329527B29E3DD3EE32F5E712F8413978453A6F553D1B968D100000000EDC12CED20406020FCE31FFCB179C8B15BB6ED5B6AD4BE6ACB8D46CBBE67D9BE39724B394A94DE4A4C98D44C58B0E858CF854ACFD0BB6BD0EFC52AEFAA4FE5AAFBED16FB4386C5434D9AD74D3366553385119485458ACF45F9E910F9020406027FFE817F50A0F0503C78443C9F25BA9FA84BE3A851A2F351A35DFEA34080C0408F058A8F923FAD929D21BC9D38704838F5F104F5BC63DFBCB677C1B6DAAF75DA2142632110203010FFE51AFFF3FD0EF3D2BF6DD2CD814CCD0C18140C13263513ECC32FEC5FBEE15F9735A2974488CC44172E3917C49357C4A755F2A77EFC827E3D7A473D64C8AC645DBAE75D19322B1973E6957360C0A060811998814F9ED14FDCA37FDC224466222A547E2A903BAB90880B8388468CCA46EEC729EEB86BD3B814283C14DEA779DE5EBCE25E0B161D0BDBAD76DBE0DB3BE0326456323A744E3A0A141E0A4992DB49060C0A0624486C245CB8E45CC29F5DC2D3BD6ED3AC43EFAC62C4A6629139A8919531A495E4D337E479F28B79E7D532E7C88B43C8376E59376DDAB76D8D018C8DD5B164D54E9CD24EA949E0A96CD8B46C56ACFA56F4F307F4EACF25EA65CAAF657AF48E7AAE47E9AE08101808BA6FD5BA78F08878254A6F252E5C722E1C38241CA657F1A6B473C7B4C69751C6E8CB23E8DDA17CDD74E89C741F3E211F4B96DD4BBD61DCBD8B0D868B8A0F858A70E090703E7C423EB571C4B566CCAA664890D84803060503F6F701F60E1C120E61C2A361356A5F3557AEF957B969D0B986179186C19958C11D3A271D9E27B99EE1D938E1F8EB13F8982BB3981122331169D2BB69D9A970D98E07898E9433A7949B2DB69B1E3C221E87159287E9C920E9CE8749CE55AAFF5528507828DFA57ADF8C038F8CA159F8A1890980890D1A170DBF65DABFE6D731E64284C64268D0B8684182C3419929B0992D5A772D0F1E110FB07BCBB054A8FC54BB6DD6BB162C3A16', 'hex');
}
EACrypter.prototype.getHashCode4 = function() {
return Buffer.from('C6A56363F8847C7CEE997777F68D7B7BFF0DF2F2D6BD6B6BDEB16F6F9154C5C56050303002030101CEA96767567D2B2BE719FEFEB562D7D74DE6ABABEC9A76768F45CACA1F9D82828940C9C9FA877D7DEF15FAFAB2EB59598EC94747FB0BF0F041ECADADB367D4D45FFDA2A245EAAFAF23BF9C9C53F7A4A4E49672729B5BC0C075C2B7B7E11CFDFD3DAE93934C6A26266C5A36367E413F3FF502F7F7834FCCCC685C343451F4A5A5D134E5E5F908F1F1E2937171AB73D8D8625331312A3F1515080C04049552C7C7466523239D5EC3C33028181837A196960A0F05052FB59A9A0E090707243612121B9B8080DF3DE2E2CD26EBEB4E6927277FCDB2B2EA9F7575121B09091D9E838358742C2C342E1A1A362D1B1BDCB26E6EB4EE5A5A5BFBA0A0A4F65252764D3B3BB761D6D67DCEB3B3527B2929DD3EE3E35E712F2F13978484A6F55353B968D1D100000000C12CEDED40602020E31FFCFC79C8B1B1B6ED5B5BD4BE6A6A8D46CBCB67D9BEBE724B393994DE4A4A98D44C4CB0E85858854ACFCFBB6BD0D0C52AEFEF4FE5AAAAED16FBFB86C543439AD74D4D66553333119485858ACF4545E910F9F904060202FE817F7FA0F0505078443C3C25BA9F9F4BE3A8A8A2F351515DFEA3A380C04040058A8F8F3FAD929221BC9D9D70483838F104F5F563DFBCBC77C1B6B6AF75DADA4263212120301010E51AFFFFFD0EF3F3BF6DD2D2814CCDCD18140C0C26351313C32FECECBEE15F5F35A2979788CC44442E3917179357C4C455F2A7A7FC827E7E7A473D3DC8AC6464BAE75D5D322B1919E6957373C0A06060199881819ED14F4FA37FDCDC44662222547E2A2A3BAB90900B8388888CCA4646C729EEEE6BD3B8B8283C1414A779DEDEBCE25E5E161D0B0BAD76DBDBDB3BE0E064563232744E3A3A141E0A0A92DB49490C0A0606486C2424B8E45C5C9F5DC2C2BD6ED3D343EFACACC4A6626239A8919131A49595D337E4E4F28B7979D532E7E78B43C8C86E593737DAB76D6D018C8D8DB164D5D59CD24E4E49E0A9A9D8B46C6CACFA5656F307F4F4CF25EAEACAAF6565F48E7A7A47E9AEAE101808086FD5BABAF08878784A6F25255C722E2E38241C1C57F1A6A673C7B4B49751C6C6CB23E8E8A17CDDDDE89C74743E211F1F96DD4B4B61DCBDBD0D868B8B0F858A8AE09070707C423E3E71C4B5B5CCAA666690D8484806050303F701F6F61C120E0EC2A361616A5F3535AEF9575769D0B9B9179186869958C1C13A271D1D27B99E9ED938E1E1EB13F8F82BB3989822331111D2BB6969A970D9D907898E8E33A794942DB69B9B3C221E1E15928787C920E9E98749CECEAAFF555550782828A57ADFDF038F8C8C59F8A1A1098089891A170D0D65DABFBFD731E6E684C64242D0B8686882C3414129B099995A772D2D1E110F0F7BCBB0B0A8FC54546DD6BBBB2C3A1616','hex');
}
EACrypter.prototype.getHashCode5 = function() {
return Buffer.from('50A7F4515365417EC3A4171A965E273ACB6BAB3BF1459D1FAB58FAAC9303E34B55FA3020F66D76AD9176CC88254C02F5FCD7E54FD7CB2AC5804435268FA362B5495AB1DE671BBA25980EEA45E1C0FE5D02752FC312F04C81A397468DC6F9D36BE75F8F03959C9215EB7A6DBFDA5952952D83BED4D32174582969E04944C8C98E6A89C27578798EF46B3E5899DD71B927B64FE1BE17AD88F066AC20C9B43ACE7D184ADF6382311AE560335197457F5362E07764B184AE6BBB1CA081FE942B08F95868487019FD458F876CDE94B7F87B5223D373ABE2024B72578F1FE32AAB55660728EBB203C2B52F9A7BC586A50837D3F2872830B2A5BF23BA6A03025C8216ED2B1CCF8A92B479A7F0F207F3A1E2694ECDF4DA65D5BE05061F6234D18AFEA6C49D532E34A055F3A232E18A0575EBF6A439EC830BAAEF6040069F715E51106EBDF98A213E3D06DD96AE053EDD46BDE64DB58D5491055DC4716FD40604FF15506024FB981997E9BDD6CC434089779ED967BD42E8B0888B8907385B19E7DBEEC879470A7CA1E90F427CC91E84F8000000008386800948ED2B32AC70111E4E725A6CFBFF0EFD5638850F1ED5AE3D27392D3664D90F0A21A65C68D1545B9B3A2E3624B1670A0C0FE75793D296EEB49E919B1B4FC5C080A220DC61694B775A161A121C0ABA93E2E52AA0C043E0223C1D171B120B0D090EADC78BF2B9A8B62DC8A91E148519F1574C0775AFBBDD99EEFD607FA39F2601F7BCF5725CC53B6644347EFB5B7629438BDCC623CB68FCEDB663F1E4B8CADC31D710856342402297132011C6847D244A85F83DBBD21132F9AE6DA129C74B2F9E1DF330B2DCEC52860DD0E3C1776C16B32B99B970A9FA4894112264E947C48CFCA81A3FF0A0D82C7D56EF903322C74E4987C1D138D9FEA2CA8C360BD498CF81F5A628DE7AA5268EB7DAA4BFAD3FE49D3A2C0D9278509BCC5F6A62467E54C2138DF6E8B8D8905EF7392EF5AFC382BE805D9F7C93D069A92DD56FB31225CF3B99ACC8A77D18106E639CE87BBB3BDB097826CDF418596E01B79AECA89A4F83656E95E67EE6FFAA08CFBC21E6E815EFD99BE7BACE366F4AD4099FEAD67CB029AFB2A43131233F2A3094A5C6C066A23537BC4E74A6CA82FCB0D090E015D8A7334A9804F1F7DAEC410E50CD7F2FF691178DD64D764DB0EF43544DAACCDF0496E4E3B5D19E1B886A4CB81F2CC17F51654604EA5E9D5D358C01737487FA2E410BFB5A1D67B352D2DB92335610E91347D66D8C61D79A7A0CA1378E14F859893C13EBEE27A9CE35C961B7EDE51CE13CB1477A59DFD29C3F73F25579CE1418BF37C773EACDF7535BAAFD5F146F3DDF86DB447881F3AFCA3EC468B92C3424385F40A3C272C31D160C25E2BC8B493C2841950DFF7101A839DEB30C089CE4B4D890C156646184CB7B70B632D5745C6C484257B8D0','hex');
}
EACrypter.prototype.getHashCode6 = function() {
return Buffer.from('A7F4515065417E53A4171AC35E273A966BAB3BCB459D1FF158FAACAB03E34B93FA3020556D76ADF676CC88914C02F525D7E54FFCCB2AC5D744352680A362B58F5AB1DE491BBA25670EEA4598C0FE5DE1752FC302F04C811297468DA3F9D36BC65F8F03E79C9215957A6DBFEB595295DA83BED42D217458D369E04929C8C98E4489C2756A798EF4783E58996B71B927DD4FE1BEB6AD88F017AC20C9663ACE7DB44ADF6318311AE582335197607F5362457764B1E0AE6BBB84A081FE1C2B08F99468487058FD458F196CDE9487F87B52B7D373AB23024B72E28F1FE357AB55662A28EBB207C2B52F037BC5869A0837D3A5872830F2A5BF23B26A0302BA8216ED5C1CCF8A2BB479A792F207F3F0E2694EA1F4DA65CDBE0506D56234D11FFEA6C48A532E349D55F3A2A0E18A0532EBF6A475EC830B39EF6040AA9F715E06106EBD518A213EF906DD963D053EDDAEBDE64D468D5491B55DC47105D406046F155060FFFB981924E9BDD697434089CC9ED9677742E8B0BD8B8907885B19E738EEC879DB0A7CA1470F427CE91E84F8C90000000086800983ED2B324870111EAC725A6C4EFF0EFDFB38850F56D5AE3D1E392D3627D90F0A64A65C6821545B9BD12E36243A670A0CB1E757930F96EEB4D2919B1B9EC5C0804F20DC61A24B775A691A121C16BA93E20A2AA0C0E5E0223C43171B121D0D090E0BC78BF2ADA8B62DB9A91E14C819F157850775AF4CDD99EEBB607FA3FD2601F79FF5725CBC3B6644C57EFB5B3429438B76C623CBDCFCEDB668F1E4B863DC31D7CA856342102297134011C68420244A857D3DBBD2F832F9AE11A129C76D2F9E1D4B30B2DCF352860DECE3C177D016B32B6CB970A999489411FA64E947228CFCA8C43FF0A01A2C7D56D8903322EF4E4987C7D138D9C1A2CA8CFE0BD4983681F5A6CFDE7AA5288EB7DA26BFAD3FA49D3A2CE49278500DCC5F6A9B467E5462138DF6C2B8D890E8F7392E5EAFC382F5805D9FBE93D0697C2DD56FA91225CFB399ACC83B7D1810A7639CE86EBB3BDB7B7826CD0918596EF4B79AEC019A4F83A86E95E665E6FFAA7ECFBC2108E815EFE69BE7BAD9366F4ACE099FEAD47CB029D6B2A431AF233F2A3194A5C63066A235C0BC4E7437CA82FCA6D090E0B0D8A733159804F14ADAEC41F750CD7F0EF691172FD64D768DB0EF434D4DAACC540496E4DFB5D19EE3886A4C1B1F2CC1B85165467FEA5E9D04358C015D7487FA73410BFB2E1D67B35AD2DB92525610E93347D66D1361D79A8C0CA1377A14F8598E3C13EB8927A9CEEEC961B735E51CE1EDB1477A3CDFD29C5973F2553FCE14187937C773BFCDF753EAAAFD5F5B6F3DDF14DB447886F3AFCA81C468B93E3424382C40A3C25FC31D167225E2BC0C493C288B950DFF4101A83971B30C08DEE4B4D89CC156649084CB7B61B632D5705C6C487457B8D042','hex');
}
EACrypter.prototype.getHashCode7 = function() {
return Buffer.from('F45150A7417E5365171AC3A4273A965EAB3BCB6B9D1FF145FAACAB58E34B9303302055FA76ADF66DCC88917602F5254CE54FFCD72AC5D7CB3526804462B58FA3B1DE495ABA25671BEA45980EFE5DE1C02FC302754C8112F0468DA397D36BC6F98F03E75F9215959C6DBFEB7A5295DA59BED42D837458D321E0492969C98E44C8C2756A898EF4787958996B3EB927DD71E1BEB64F88F017AD20C966ACCE7DB43ADF63184A1AE58231519760335362457F64B1E0776BBB84AE81FE1CA008F9942B48705868458F19FDDE94876C7B52B7F873AB23D34B72E2021FE3578F55662AABEBB20728B52F03C2C5869A7B37D3A5082830F287BF23B2A50302BA6A16ED5C82CF8A2B1C79A792B407F3F0F2694EA1E2DA65CDF40506D5BE34D11F62A6C48AFE2E349D53F3A2A0558A0532E1F6A475EB830B39EC6040AAEF715E069F6EBD5110213EF98ADD963D063EDDAE05E64D46BD5491B58DC471055D06046FD45060FF15981924FBBDD697E94089CC43D967779EE8B0BD428907888B19E7385BC879DBEE7CA1470A427CE90F84F8C91E00000000800983862B3248ED111EAC705A6C4E720EFDFBFF850F5638AE3D1ED52D3627390F0A64D95C6821A65B9BD15436243A2E0A0CB16757930FE7EEB4D2969B1B9E91C0804FC5DC61A220775A694B121C161A93E20ABAA0C0E52A223C43E01B121D17090E0B0D8BF2ADC7B62DB9A81E14C8A9F157851975AF4C0799EEBBDD7FA3FD6001F79F26725CBCF56644C53BFB5B347E438B762923CBDCC6EDB668FCE4B863F131D7CADC6342108597134022C68420114A857D24BBD2F83DF9AE113229C76DA19E1D4B2FB2DCF330860DEC52C177D0E3B32B6C1670A999B99411FA48E9472264FCA8C48CF0A01A3F7D56D82C3322EF904987C74E38D9C1D1CA8CFEA2D498360BF5A6CF817AA528DEB7DA268EAD3FA4BF3A2CE49D78500D925F6A9BCC7E5462468DF6C213D890E8B8392E5EF7C382F5AF5D9FBE80D0697C93D56FA92D25CFB312ACC83B991810A77D9CE86E633BDB7BBB26CD0978596EF4189AEC01B74F83A89A95E6656EFFAA7EE6BC2108CF15EFE6E8E7BAD99B6F4ACE369FEAD409B029D67CA431AFB23F2A3123A5C63094A235C0664E7437BC82FCA6CA90E0B0D0A73315D804F14A98EC41F7DACD7F0E5091172FF64D768DD6EF434DB0AACC544D96E4DF04D19EE3B56A4C1B882CC1B81F65467F515E9D04EA8C015D3587FA73740BFB2E4167B35A1DDB9252D210E93356D66D1347D79A8C61A1377A0CF8598E1413EB893CA9CEEE2761B735C91CE1EDE5477A3CB1D29C59DFF2553F73141879CEC773BF37F753EACDFD5F5BAA3DDF146F447886DBAFCA81F368B93EC424382C34A3C25F401D1672C3E2BC0C253C288B490DFF4195A83971010C08DEB3B4D89CE4566490C1CB7B618432D570B66C48745CB8D04257','hex');
}
EACrypter.prototype.getHashCode8 = function() {
return Buffer.from('5150A7F47E5365411AC3A4173A965E273BCB6BAB1FF1459DACAB58FA4B9303E32055FA30ADF66D76889176CCF5254C024FFCD7E5C5D7CB2A26804435B58FA362DE495AB125671BBA45980EEA5DE1C0FEC302752F8112F04C8DA397466BC6F9D303E75F8F15959C92BFEB7A6D95DA5952D42D83BE58D32174492969E08E44C8C9756A89C2F478798E996B3E5827DD71B9BEB64FE1F017AD88C966AC207DB43ACE63184ADFE582311A9760335162457F53B1E07764BB84AE6BFE1CA081F9942B08705868488F19FD4594876CDE52B7F87BAB23D37372E2024BE3578F1F662AAB55B20728EB2F03C2B5869A7BC5D3A5083730F2872823B2A5BF02BA6A03ED5C82168A2B1CCFA792B479F3F0F2074EA1E26965CDF4DA06D5BE05D11F6234C48AFEA6349D532EA2A055F30532E18AA475EBF60B39EC8340AAEF605E069F71BD51106E3EF98A21963D06DDDDAE053E4D46BDE691B58D5471055DC4046FD40660FF15501924FB98D697E9BD89CC434067779ED9B0BD42E807888B89E7385B1979DBEEC8A1470A7C7CE90F42F8C91E8400000000098386803248ED2B1EAC70116C4E725AFDFBFF0E0F5638853D1ED5AE3627392D0A64D90F6821A65C9BD1545B243A2E360CB1670A930FE757B4D296EE1B9E919B804FC5C061A220DC5A694B771C161A12E20ABA93C0E52AA03C43E022121D171B0E0B0D09F2ADC78B2DB9A8B614C8A91E578519F1AF4C0775EEBBDD99A3FD607FF79F26015CBCF57244C53B665B347EFB8B762943CBDCC623B668FCEDB863F1E4D7CADC314210856313402297842011C6857D244AD2F83DBBAE1132F9C76DA1291D4B2F9EDCF330B20DEC528677D0E3C12B6C16B3A999B97011FA4894472264E9A8C48CFCA01A3FF056D82C7D22EF903387C74E49D9C1D1388CFEA2CA98360BD4A6CF81F5A528DE7ADA268EB73FA4BFAD2CE49D3A500D92786A9BCC5F5462467EF6C2138D90E8B8D82E5EF73982F5AFC39FBE805D697C93D06FA92DD5CFB31225C83B99AC10A77D18E86E639CDB7BBB3BCD0978266EF41859EC01B79A83A89A4FE6656E95AA7EE6FF2108CFBCEFE6E815BAD99BE74ACE366FEAD4099F29D67CB031AFB2A42A31233FC63094A535C066A27437BC4EFCA6CA82E0B0D0903315D8A7F14A980441F7DAEC7F0E50CD172FF691768DD64D434DB0EFCC544DAAE4DF04969EE3B5D14C1B886AC1B81F2C467F51659D04EA5E015D358CFA737487FB2E410BB35A1D679252D2DBE93356106D1347D69A8C61D7377A0CA1598E14F8EB893C13CEEE27A9B735C961E1EDE51C7A3CB1479C59DFD2553F73F21879CE1473BF37C753EACDF75F5BAAFDDF146F3D7886DB44CA81F3AFB93EC468382C3424C25F40A31672C31DBC0C25E2288B493CFF41950D397101A808DEB30CD89CE4B46490C1567B6184CBD570B63248745C6CD04257B8', 'hex');
}
module.exports = EACrypter;