|
1 |
| -const crypto = require('crypto'); |
2 |
| -const fs = require('node:fs'); |
3 |
| -const readline = require('node:readline'); |
4 |
| -const { stdin: input, stdout: output } = require('node:process'); |
| 1 | +const crypto = require("crypto"); |
| 2 | +const fs = require("node:fs"); |
| 3 | +const readline = require("node:readline"); |
| 4 | +const { stdin: input, stdout: output } = require("node:process"); |
5 | 5 | const rl = readline.createInterface({ input, output });
|
6 | 6 | rl.question("Enter your HWID: ", (user_input) => {
|
7 |
| - hwid = user_input; |
| 7 | + // hwid = user_input; |
| 8 | + hwid = "---------Hi-Korepi-Devs---------"; |
8 | 9 |
|
9 |
| - const publicKey = `-----BEGIN PUBLIC KEY----- |
10 |
| -MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0SxoW83nU4qAbHXqjhal |
11 |
| -MiU62ae79Ayv/EAmVfJEeCymJIpvtTqoPr99MBMDMHPxqqW1TgapD0bdAoU0vBpx |
12 |
| -G5INKIQnVi1ZE0YPP1GKUXN4nchM31a9NqG4mdWXtpD/jTt40Tpxn/zaj/5kDCuP |
13 |
| -o+iKQqwzKnE27Fyi0USLK82PfwCN0KlA4hmHUgB0UD+eG3VSlfHuU4ZITKqwEZFy |
14 |
| -wREoekljDot8noMOQiBo0NgqmkLLK2WQ2TaTSm3A/E6d7FI+HrdPdl/GmMdTF1tf |
15 |
| -lr1yMFQ1eAdOJqnmM5YxCv4FsU2qpZFFXNEbnjJ+mx549LMUWBUeRjOwZ8zXUWxd |
16 |
| -oQIDAQAB |
| 10 | + const publicKey = `-----BEGIN PUBLIC KEY----- |
| 11 | +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuBti5eEFCv3+qcBnooMF |
| 12 | +vNHH2lDD/GjcgNpQNaeow7bCawpHMkyxtUUVQjuhyo5+LT7lMOJ+yoQAE5507Cvn |
| 13 | +Ep9tuSJC0qcVT4/07FLblTDJiYxFgsFd5/skmUDTmClgffr8UOPRvJp/q62GTyYa |
| 14 | +Pb63jWPHbNhqVjjWCI/ZRnfzqkadiP9uzdTVvyLkLpj6Hr/LpvHRUlK/NGhh1QU7 |
| 15 | +8lIc87XmNzOVL+uzMAT00AcKzilwg0za/oG5SXeHdac53t0lN3Bge5VxVgyzh0M2 |
| 16 | +/ADipBfd2JzlElNUL0y45Kx/HopT3nfwoq5PHW3JFXLxg56l3U8LqedK7Q+K7jmP |
| 17 | +/QIDAQAB |
17 | 18 | -----END PUBLIC KEY-----`;
|
18 |
| - const privateKey = `-----BEGIN RSA PRIVATE KEY----- |
19 |
| -MIIEowIBAAKCAQEA0SxoW83nU4qAbHXqjhalMiU62ae79Ayv/EAmVfJEeCymJIpv |
20 |
| -tTqoPr99MBMDMHPxqqW1TgapD0bdAoU0vBpxG5INKIQnVi1ZE0YPP1GKUXN4nchM |
21 |
| -31a9NqG4mdWXtpD/jTt40Tpxn/zaj/5kDCuPo+iKQqwzKnE27Fyi0USLK82PfwCN |
22 |
| -0KlA4hmHUgB0UD+eG3VSlfHuU4ZITKqwEZFywREoekljDot8noMOQiBo0NgqmkLL |
23 |
| -K2WQ2TaTSm3A/E6d7FI+HrdPdl/GmMdTF1tflr1yMFQ1eAdOJqnmM5YxCv4FsU2q |
24 |
| -pZFFXNEbnjJ+mx549LMUWBUeRjOwZ8zXUWxdoQIDAQABAoIBAD65522oWHd38D0W |
25 |
| -O0lyxwU7nuNIZpev+lJV1mktppS3JveMQCWDupJekCcLfIhaLJ105eLJIod/Q6WO |
26 |
| -1pqV/1c6PBHrV3SDUtPxzX66cBUu4HvIZi0PcNxiMN6I698Gqmvq6rcrpIlKpSxL |
27 |
| -KCtyILgRcuy9gPZ4TvUgbn785BM1Hby1LwNLPs9fhyl6QZZq4eTgyH5iGNIoDlhf |
28 |
| -DZkyj2WbqQ9tsVS/lFPV9B0eexfTLsEYT179vTyUEwJLgcteAu7c8asC+1XU3Mer |
29 |
| -HbXedC0vytNoGBCo1dg4QYeSgN6DKbhhLqrQY9ibR1LZv91j5fskUIiqQf3wgANs |
30 |
| -TilkB/ECgYEA7eLKFAXbyxs1BRV0mUcu0f1DlQJGJGZoyWMe9RMxMNwaM3PcmkAa |
31 |
| -dWE8nmLvLoMz8+5sw7BQ0ZVxgfDVVld0MnwnsJOMlLbPj3oBz0SLbZbNFrIX6jrt |
32 |
| -K2hcjVFn/YFssYAzGtUWB9TtOFdn38K5Pj0vfDOnSIj1ngNRC4WvaRUCgYEA4Rnq |
33 |
| -LE6sqMQCbChJEgkSkJedJem2jwGep7Dt/GgvJEIPjfZT+RaKpkFf6qDAPMmKi3eF |
34 |
| -1chc5SqPeJ2E7bM/3L1szytQKWTBqsVqHpyVOTe0IAAybVS4Mx3ICtjTzuKgRERY |
35 |
| -LJUVBEgWU0xnnRJqlAXIjuTkE47dDgehTafwrV0CgYBsm2tJQvd7Pluxi38lb9NX |
36 |
| -efq98EDX442ZzFBY8b82oHax4QbpwbSSvKcxZNfwc2RnzQYJPdlYJpOhELRF7D2X |
37 |
| -wwlX27WGPAR9a+WhnJjPmtbdsseqX+biN45x0qXYnptiWrZ6XKjnQHZhj75T8ZIj |
38 |
| -cUnZubd5LVZ+IuOAkDNqlQKBgH77SXiZIRlLCTrONvovmANtI79BajSd60wZqQbc |
39 |
| -FsvTYEbrEE/RgYFsG5mV+RvRbZBjamJA1vaH3ctiwJv+pCX3zavIeT4AkqetGcIO |
40 |
| -/rb6T2hF9CxswERFppVH36Qzf8lC7KKpruNtbvqqfUDEJM8/u/Wv9WF7FARYFYxj |
41 |
| -EogZAoGBAMNI6WOB/u4vm5QpJVW+p33xyJJTmVTmzCFXCRsOvC0gDwBZcKGe4BIR |
42 |
| -E7CyLasw3HG9IhZYOi/KoX+UQrcAOcRPAsJmlqiQxu2qskX81AiOkhPEBprVRhj3 |
43 |
| -VqquzXQuHpi/UwwiVoBX0Qi1/bWI1t5krlF4Me17cT6hffD0N/Qr |
44 |
| ------END RSA PRIVATE KEY-----`; |
| 19 | + const privateKey = `-----BEGIN PRIVATE KEY----- |
| 20 | +MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC4G2Ll4QUK/f6p |
| 21 | +wGeigwW80cfaUMP8aNyA2lA1p6jDtsJrCkcyTLG1RRVCO6HKjn4tPuUw4n7KhAAT |
| 22 | +nnTsK+cSn225IkLSpxVPj/TsUtuVMMmJjEWCwV3n+ySZQNOYKWB9+vxQ49G8mn+r |
| 23 | +rYZPJho9vreNY8ds2GpWONYIj9lGd/OqRp2I/27N1NW/IuQumPoev8um8dFSUr80 |
| 24 | +aGHVBTvyUhzzteY3M5Uv67MwBPTQBwrOKXCDTNr+gblJd4d1pzne3SU3cGB7lXFW |
| 25 | +DLOHQzb8AOKkF93YnOUSU1QvTLjkrH8eilPed/Cirk8dbckVcvGDnqXdTwup50rt |
| 26 | +D4ruOY/9AgMBAAECggEAAtZZNdW78Clt7UvLzRNb2UcaX2DzREaRb2Lt7YXB8hI0 |
| 27 | ++NVVt467BmIkK7sjiS2dADGB8rjq31AdeC/u+VzL2NugI0RF510v1OQREDtOqwPv |
| 28 | +dzE0OQml2tdh/wKiwCuTEx31GYIJT3DKGuk3sqyRpvXzejhZcHH9YYrKsaMV5CIa |
| 29 | +bDGikaoqEBCSXHT8SL2bOgf2tTX1szwR/Yn8GQDEgHwPlw3B41jSgOvUf9L52VZy |
| 30 | +ih5QxzQPzoT7DhMZ+LzPEAbvb80dMbT0TXVXLAYyrc+UOyw1Brtx1HSCTJ9K0naQ |
| 31 | +bazm0mq//6nokJagtwUC9Zt8HlyZmE0Q+Cb2diuT+QKBgQDZbKljoDDUPYLXbpnw |
| 32 | +rx76p58h0M5i7UTjodadIfXPDxZNP40poHUGQ0QNrned6JB7HSYe6hxLqV14AO6A |
| 33 | +EaVlmQLbHJvhk+/3sohjBgYiLX1GngAB9yeId7cHgpgmFKoX47E9ZF2zqWzcnMSU |
| 34 | +/kuhQBVPO8vQbecEmbj7SwJpiwKBgQDYxXT8PckYuz+izmtcgISm2CgUgExDAL1z |
| 35 | +wDMQfRs10ly+L4I5hVQkBu5BunYaf/lhatb9EBsDRbvvZmePSfSzHEjvrzidnpxZ |
| 36 | +FzABE+a5jpNQTPPQ/z98Dx5jtOt2fIV46Wbm/4ikyiJ3cioj9UIvqdLprgD2EDzI |
| 37 | +zghWkvvNlwKBgQCztBsA68rP8RMuqgx0INmzBE4DbgjXPRJ+Lioq74GyJN8i887h |
| 38 | +w+xVQ82AnV3iVvDrwLjcPlUquA43/FUj5vHUWjZBEZFJTbO9/4K4jacOIpjzf+2z |
| 39 | +siqroX7WpzrH5rZ7TkcU3dqQfw0p/iyAlPm/ii7SsTKQz/VsGP4KPQH+ZwKBgEtO |
| 40 | +zgWTsXlWFBWLgODyBSOxlLsKl3PvneHIs/TWgc2A95dbCfLRzxl1DvDmxoEOVKTz |
| 41 | +aR0hq0DHyTKycOfm2YwgF3ateQ3JPKf21kaJk26Dicor8ch55KRE3FnnUKYpPHV1 |
| 42 | +ILq/q8kUMEUu9FTpr8S/SvbD7LGPko5whZUOG0yhAoGAK4VieEUXlxQeaI2JNQE+ |
| 43 | +loHWRKnvVCnFUs7qsalQB5yvs/3kr7n9usgGhAtC0IpIwyp1D7v2Om+AjAZLbvXi |
| 44 | +EO6b4mHx2yTVODNwlDr1l5yvP20gqTDLIZb/fcIRxvnZKmEn0st7d7+5/NVUsGYv |
| 45 | +JuXe/NYkDOj7sJowggbhASU= |
| 46 | +-----END PRIVATE KEY-----`; |
45 | 47 |
|
| 48 | + // const randomBytes = crypto.randomBytes(10); |
| 49 | + const randomBytes = Buffer.from("mokPVuACUwR5Qw==", "base64"); |
| 50 | + const md5 = crypto.createHash("md5").update(randomBytes).digest("hex"); |
| 51 | + const encryptedMd5 = Buffer.from(randomBytes).toString("base64"); |
46 | 52 |
|
47 |
| - const randomBytes = crypto.randomBytes(10); |
48 |
| - const md5 = crypto.createHash('md5').update(randomBytes).digest('hex'); |
49 |
| - const encryptedMd5 = Buffer.from(randomBytes).toString('base64'); |
| 53 | + const cipher = crypto.createCipheriv( |
| 54 | + "aes-256-cbc", |
| 55 | + md5, |
| 56 | + Buffer.from("6BCDEF0123456786") |
| 57 | + ); |
| 58 | + let privatekeyPkcs1PemEnc = cipher.update(privateKey, "utf8", "base64"); |
| 59 | + privatekeyPkcs1PemEnc += cipher.final("base64"); |
50 | 60 |
|
51 |
| - const cipher = crypto.createCipheriv('aes-256-cbc', md5, Buffer.from('ABCDEF0123456789')); |
52 |
| - let privatekeyPkcs1PemEnc = cipher.update(privateKey, 'utf8', 'base64'); |
53 |
| - privatekeyPkcs1PemEnc += cipher.final('base64'); |
| 61 | + const license = { |
| 62 | + cardstr: "micah-oc-00000000000000000000000000000000", |
| 63 | + expiry_time: Math.floor((Math.pow(2, 32) - 1) / 2), |
| 64 | + hwid: hwid, |
| 65 | + role: 25, |
| 66 | + data_id: 44262, |
| 67 | + user_id: Math.floor(Math.random() * 100000), |
| 68 | + }; |
| 69 | + const encryptedLicense = crypto |
| 70 | + .publicEncrypt( |
| 71 | + { key: publicKey, padding: crypto.constants.RSA_PKCS1_PADDING }, |
| 72 | + JSON.stringify(license) |
| 73 | + ) |
| 74 | + .toString("base64"); |
| 75 | + const packedLicense = JSON.stringify({ |
| 76 | + "encrypted.dat": encryptedLicense, |
| 77 | + "Encrypted.md5": encryptedMd5, |
| 78 | + "privatekey_pkcs1.pem.enc": privatekeyPkcs1PemEnc, |
| 79 | + }); |
54 | 80 |
|
55 |
| - const license = { "cardstr": "free-korepi", "expiry_time": Math.floor((Math.pow(2, 32) - 1) / 2), "hwid": hwid, "role": 25, "data_id": Math.floor(Math.random() * 100000), "user_id": Math.floor(Math.random() * 100000) }; |
56 |
| - const encryptedLicense = crypto.publicEncrypt({ key: publicKey, padding: crypto.constants.RSA_PKCS1_PADDING }, JSON.stringify(license)).toString('base64'); |
57 |
| - const packedLicense = JSON.stringify({ "encrypted.dat": encryptedLicense, "Encrypted.md5": encryptedMd5, "privatekey_pkcs1.pem.enc": privatekeyPkcs1PemEnc }); |
| 81 | + fs.writeFileSync("enc.json", packedLicense); |
58 | 82 |
|
59 |
| - fs.writeFileSync('enc.json', packedLicense); |
60 |
| - |
61 |
| - rl.close(); |
| 83 | + rl.close(); |
62 | 84 | });
|
0 commit comments