fca-project-orion 1.1.3 → 1.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/.gitattributes +2 -2
  2. package/Extra/Database/index.js +468 -468
  3. package/Extra/ExtraAddons.js +81 -81
  4. package/Extra/ExtraFindUID.js +61 -61
  5. package/Extra/ExtraGetThread.js +339 -339
  6. package/Extra/ExtraScreenShot.js +430 -430
  7. package/Extra/ExtraUptimeRobot.js +37 -37
  8. package/Extra/Html/Classic/script.js +118 -118
  9. package/Extra/Html/Classic/style.css +7 -7
  10. package/Extra/Security/Base/Step_1.js +5 -5
  11. package/Extra/Security/Base/Step_2.js +22 -22
  12. package/Extra/Security/Base/Step_3.js +22 -22
  13. package/Extra/Security/Base/index.js +172 -172
  14. package/Extra/Security/Index.js +4 -4
  15. package/Extra/Security/Step_1.js +5 -5
  16. package/Extra/Security/Step_2.js +22 -22
  17. package/Extra/Security/Step_3.js +22 -22
  18. package/Extra/Src/Change_Environment.js +23 -23
  19. package/Extra/Src/Check_Update.js +65 -65
  20. package/Extra/Src/History.js +114 -114
  21. package/Extra/Src/Instant_Update.js +64 -64
  22. package/Extra/Src/Last-Run.js +64 -64
  23. package/Extra/Src/Premium.js +80 -80
  24. package/Extra/Src/Release_Memory.js +40 -40
  25. package/Extra/Src/Websocket.js +212 -212
  26. package/Extra/Src/uuid.js +137 -137
  27. package/Func/AcceptAgreement.js +31 -31
  28. package/Func/ClearCache.js +64 -64
  29. package/Func/ReportV1.js +54 -54
  30. package/LICENSE +21 -21
  31. package/Language/index.json +216 -216
  32. package/Main.js +1215 -1215
  33. package/README.md +138 -138
  34. package/SECURITY.md +18 -18
  35. package/broadcast.js +39 -39
  36. package/index.js +385 -385
  37. package/logger.js +66 -66
  38. package/package.json +93 -93
  39. package/src/Dev_Horizon_Data.js +124 -124
  40. package/src/Premium.js +24 -24
  41. package/src/Screenshot.js +82 -82
  42. package/src/addExternalModule.js +16 -16
  43. package/src/addUserToGroup.js +79 -79
  44. package/src/changeAdminStatus.js +79 -79
  45. package/src/changeArchivedStatus.js +41 -41
  46. package/src/changeAvt.js +84 -84
  47. package/src/changeBio.js +65 -65
  48. package/src/changeBlockedStatus.js +36 -36
  49. package/src/changeGroupImage.js +106 -106
  50. package/src/changeNickname.js +45 -45
  51. package/src/changeThreadColor.js +62 -62
  52. package/src/changeThreadEmoji.js +42 -42
  53. package/src/createNewGroup.js +70 -70
  54. package/src/createPoll.js +60 -60
  55. package/src/deleteMessage.js +45 -45
  56. package/src/deleteThread.js +43 -43
  57. package/src/forwardAttachment.js +48 -48
  58. package/src/getAccessToken.js +27 -27
  59. package/src/getCurrentUserID.js +7 -7
  60. package/src/getEmojiUrl.js +27 -27
  61. package/src/getFriendsList.js +73 -73
  62. package/src/getMessage.js +79 -79
  63. package/src/getThreadHistory.js +537 -537
  64. package/src/getThreadInfo.js +424 -424
  65. package/src/getThreadList.js +213 -213
  66. package/src/getThreadMain.js +219 -219
  67. package/src/getThreadPictures.js +59 -59
  68. package/src/getUID.js +58 -58
  69. package/src/getUserID.js +62 -62
  70. package/src/getUserInfo.js +113 -113
  71. package/src/getUserInfoMain.js +64 -64
  72. package/src/getUserInfoV2.js +31 -31
  73. package/src/getUserInfoV3.js +62 -62
  74. package/src/getUserInfoV4.js +54 -54
  75. package/src/getUserInfoV5.js +60 -60
  76. package/src/handleFriendRequest.js +46 -46
  77. package/src/handleMessageRequest.js +49 -49
  78. package/src/httpGet.js +49 -49
  79. package/src/httpPost.js +48 -48
  80. package/src/httpPostFormData.js +40 -40
  81. package/src/listenMqtt.js +786 -786
  82. package/src/logout.js +68 -68
  83. package/src/markAsDelivered.js +48 -48
  84. package/src/markAsRead.js +70 -70
  85. package/src/markAsReadAll.js +42 -42
  86. package/src/markAsSeen.js +51 -51
  87. package/src/muteThread.js +47 -47
  88. package/src/removeUserFromGroup.js +49 -49
  89. package/src/resolvePhotoUrl.js +37 -37
  90. package/src/searchForThread.js +43 -43
  91. package/src/sendMessage.js +378 -378
  92. package/src/sendTypingIndicator.js +80 -80
  93. package/src/setMessageReaction.js +109 -109
  94. package/src/setPostReaction.js +101 -101
  95. package/src/setTitle.js +74 -74
  96. package/src/threadColors.js +38 -38
  97. package/src/unfriend.js +43 -43
  98. package/src/unsendMessage.js +40 -40
  99. package/test/Database_Test.js +3 -3
  100. package/test/Db2.js +529 -529
  101. package/test/data/shareAttach.js +146 -146
  102. package/test/data/test.txt +7 -7
  103. package/test/example-config.json +18 -18
  104. package/test/memoryleak.js +18 -18
  105. package/test/test-page.js +140 -140
  106. package/test/test.js +385 -385
  107. package/test/testv2.js +17 -17
  108. package/utils.js +1682 -1682
@@ -1,173 +1,173 @@
1
- 'use strict';
2
-
3
- const ArrPassWord = ["CFGIZMHQGX", "URHQBLBLDR", "UBBWNJHLQS", "VOTNXBXQII", "HNGMQVUAHX", "IAFYAYRZDY", "WDJLNZSHGO", "SPMYPNPIDK", "BHDWKZCQJW", "YKHYNQHGSP", "XJWRXNOVIO", "SBPIBKTTYZ", "WOIJIPGAJH", "ZMBZURDFLW", "MVLVQWADDO", "CYJTGTGZON", "PRYZDDAWFO", "DUEOZNSCFJ", "KJPYPBSKMG", "EWFJVYCMMX", "CEDXZXJOGL", "KHPGXTFVOK", "PLQXZDLWJB", "SNWGNETCDG", "LILQXIGAZA", "GYGBDGBBYM", "DCRQKCOQLI", "RQJRRHVVKP", "JPCXRJGGNF", "JIEVLOVWIV", "PDGOFRVGEB", "QIIDHSRVKV", "ZECHPLBKFS", "EXQWXMACRP", "ZCCGCBWORF", "GJFOBWWMOS", "QCFNCFNIKZ", "ZAZZRZPAVC", "FQTFSFTNAP", "MVSSFKTHFA", "JFQGSMBYYQ", "JQINYGVFYJ", "ZBSPCBAQHC", "NQOTZDJARE", "CPWSWUEYQQ", "JVPWHYBXIB", "CXNXMSBIGT", "IFAFLNVDJK", "JOSSVDYERS", "YLWCRIRTUV", "CCKFYYGPAK", "YPELTOONQB", "FRMSZGHOEE", "BHRUUWMTDV", "OXKRPPNJHM", "FTPZCTSIFX", "NEDXDNHXOT", "VWREYWTQAD", "WIJFGFHOXG", "DOYYUZDOAA", "PMATAFECMX", "DKCIKASCUI", "GUESGUXXIM", "ZKHVCWXFYH", "BSTNRFIIQU", "TYIUNFDOYP", "NOUONMIJZM", "ECQTMQOJZI", "JVZQUABCGO", "DQQOTHHRZR", "HXDYLEMAGD", "RLALZZNBWU", "EEEEDUEGMW", "ZARNWMSQKV", "UDHXZOHBVX", "ACDYVCOSTK", "FVMTMIILWE", "FEBSFBHHWH", "WNSMQUVOLT", "BNROOXMJLS", "UMXDBEEPIA", "QTGHEEUVAD", "DDQPCWXGHB", "ZHGCFOXPRK", "XKDGASBGLL", "SCUYYMILRF", "PNYLDRGPVZ", "VCCGJDBHON", "SNLOVMETFA", "CTVECWZBQI", "GLFNSKCHNN", "XKQBVYVLEE", "MFAOPFLZCS", "MJWAMMAXJD", "RPILJBDWUS", "AOLFBKLGCU", "GGYJYVCCYA", "ZTPGNAVPNS", "COXANROIUY", "AFKUQIMSSG", "TKXEGTRCIC", "WNGJRYTLAP", "LQNJTKVLCY", "HYRAUPHHNZ", "RKIETHATFD", "OMZYVCOSGI", "MJYYMQTBSA", "WPUUEKECLN", "MVAULGIOUA", "PXRNLSXAUN", "LDGFRIHHWZ", "OEXMJWIXMJ", "AVXSOMKYOR", "RKZMSDOKSX", "JNSYBTWQLB", "BKUFMDRUFW", "MHVZBXUELL", "SKGDCUSQWS", "PQCFWLJVBM", "RKVVDZQBRA", "MUPJVJTVEQ", "SJMHPLXAFC", "KNOQKDQXIL", "AMFAXAEIPT", "ZFCUWAAZFP", "ZIQMCMMWIF", "XLHWNOVDOK", "VLFQKLQGZE", "TEINUSDMEL", "BCDTYHSISA", "UNRXBBXAAS", "XJUWFZJKRJ", "GCUONLWFOT", "QNSUCRTVNW", "KRJBLIAGUX", "DBJVXYWCGS", "SNNMDWCXJY", "YNVFGDMLSU", "UVMVELXUSN", "WXICKSVIFP", "PNTSKIKVWB", "VXSQZPCPIJ", "UFARZLYMPL", "HDJAXAMDTW", "XSKZWCCSFF", "FZTUBNATNF", "RGFQORXORS", "WXWANTTYAM", "YZJTBIABCL", "DIAZHANKRV", "NBZXQAFXPU", "FILEDTBMGX", "DSOOFDJJDN", "OSKCMCGYDU", "HIRQXIVRHV", "WWGQUGQBQA", "EEKZGVIFMM", "QNIFPPCNOO", "UWOUKFLUZN", "CACEOOAKBW", "JTFMLVAOYO", "NNEJZKEGXU", "UQJBLOADPQ", "MYDGDBVGMX", "WXJYRHIURP", "PIFXBMHDJZ", "RXFSKNCESP", "RAVEGGVBTN", "BUFPMINULH", "UGTTELFBTP", "HPQBJIKPFA", "XQRHQBZXOO", "JGNKEIVSWA", "OLGSAOTGKH", "XGIGZTVSOX", "LDFXHBBGDH", "VLGKMITXPI", "VJTWAUDYSI", "HUXKHXIUWI", "VBPAXHYKQU", "PUYJGLTPWQ", "TVCRNZTMCC", "MAVXHNPQEQ", "CNNITMACFT", "VGUXXTVPFL", "HLKJGIGBUB", "SGODCXPKWB", "DXPBEWXXGB", "YJDMSEAKIJ", "WGNQKSMBZT", "TLOGVVISEH", "CFJSCEXSOS", "QEXVFGMFVE", "YHINIHPYYV", "WMDDMIPBIK", "VVJCBZQKCP", "ROIWFCRYCA", "FJBKKTFJCT", "FUOGHKOBIO", "EPXSSSKBRA", "SWRAJXSRMS", "ZBRVIPMZVU", "FKLGPWILUC", "OXXWLYBYMP", "JNQMRVSQCZ", "CMSKEJPHHC", "XYXFXCEOTJ", "QOPMOPQEZT", "ASEYNVFGEN", "NJHGSVOVBM", "XZFCIPROKT", "MKVSDUFTGN", "IQLCNTVOVG", "VKJAMVYVYN", "CYEBFNRYFU", "OMTRBWKKVL", "QMSICNUIAF", "OJHCEFVWIV", "JGWPIMKBYX", "WFOOBZQBPZ", "BQSJPCSJLF", "SYXOPGYXEG", "OUGNSNTOFU", "EJRGMQAKHM", "FABCVEWZCB", "LLKJCAEDKN", "PCEKNTZPYU", "NUDUKXLHLZ", "NQBGNVVNLU", "SSUQMGLMCQ", "VZVJWBRPCX", "RMYMLJXYJX", "DPDDLXNTZV", "PMMGUVDIDT", "HARGMFMLTP", "PMNKGQWCKQ", "SMOPPNAMGD", "VINTZUURIG", "RCHEYKWJQR", "TJGSQPOYRD", "BRJZRRIXSY", "QFOXILESJF", "FKKPNVKWHU", "UXWIXFEXVG", "EIFPFYXYZW", "ERYDXAFBUN", "KHNSGHVCAP", "JYBMBYZGGJ", "NFIVEFCNBU", "UXSSSMDZWR", "ASXUKHNKHF", "BQHMMNBRPP", "SBHWFAYBOB", "DWYKHRLRRE", "ANSMOLVMSQ", "TSIAMRHGBU", "MJTLJVEMAV", "TMBXVKZNXF", "ZTPSMEQXDT", "EURKVAKVHB", "CYRDCIXXOE", "HYAGIWHDKE", "BKTAWJKYTB", "MQTQUIKPXB", "SWBCOMTCNO", "ZANVUXVOWB", "MPRPAZQKSR", "DDWVPKHTHV", "DQICGSYBWU", "DGKGTCLRHY", "NAWGNLTVGB", "UADZLOLOYK", "WLWLKPHYGH", "MHRMMQEUNU", "IVUXUYQIPD", "TMRAYTTQLX", "EAMHTODTTZ", "OGKLSMGCJW", "IFQANPZKNE", "ZPKPAQQTNL", "PAADEVUTSC", "RCKEASUYHO", "SXJEJAEZNC", "VJGHGAUJWG", "FYNJPHPNOZ", "SMSMDDFVHO", "MCDHLMFFOP", "AYHVCRWYZP", "HOZEZNWHNU", "VQJEMXHUHF", "CDXWRCGJED", "LYOGHLAWYT", "IZEPERDAWV", "WJQDLOPUUB", "LDWODIKDPU", "UFNTJMDLAN", "PDOIBHXPYL", "JCRMZJXIWC", "YPJZVEDQSC", "OTBTUNDBGA", "ISCJHDMTZF", "JPAPMSUTUH", "LFZXXWZWXT", "WVCBEBEJEB", "UFLHLZBISS", "IKBSBIFWPG", "RPKDDSEGAW", "ZAZOBUZMXK", "WZBMFUXPYB", "AUAGUHJUJD", "RPQQDOQDEF", "EOLYVDCLWH", "JXNMENVXNY", "UMVYWUNDKM", "AHUZCOYCTT", "DLETNOFSYN", "GTCEXAVNHX", "UOBRVRANYD", "HZYFNBDQUJ", "MCNDOLANBY", "QYCZTGRALB", "CJXNINIIGL", "CLBIGGNUQN", "SOKJIBLMTK", "YXDWXYJSTR", "FMMGIEHNHD", "UWGCDTLBKM", "ARTHFPEFZQ", "SAWFUZLQJP", "EGLFDIVYIU", "EKVLNAIDKT", "DJQJGBJHKL", "WZJGJIQFWO", "BUGLBAVSPQ", "OYEPZEQDVX", "YKNGYEVUZI", "WUFCLAUJKL", "KNKVFDDLMP", "ZDPIMXWXIO", "GOAQXYIPNW", "UAPRZJEXUR", "EFLMHDGNAR", "RDVHISBBEN", "UQOUCQJCTO", "ZMIMFTZMAW", "CDSLHGCGZT", "JKXOBJNJCU", "AHDZDQEWBQ", "NAINGNGJFT", "HUYMUVBOQD", "EFRXGMHYQK", "QJMYXTGHQC", "GXNICXAWWR", "JSGQRVOYJB", "VZZDFESYCH", "YJRWRKKWYE", "GBGHQHENAD", "XAXXEWNIOS", "JQNJDLEYPE", "BGQDGMSMYD", "AIPXKLSHVS", "KRTLFKSFWV", "RDLSZNBEDD", "GUIGYYAAQM", "CYQQUZBTCG", "UDPNDXDLWC", "YNHCZGDBVZ", "TZSSOIINJQ", "BRFLJWQPSE", "HPIWYMFFJS", "ULXEECKPOM", "OJUYWKQIIM", "ZSGTNKLUCM", "HMTJIFQVZM", "RSDREWNZOF", "GIQSZFKCSK", "HLNZIQYPPT", "ZDPAXKTTXC", "FVGXMSGVNO", "NIGDVPWJIP", "GWYAQEOLNA", "ZQAUPQNFNP", "MQNRQSLREU", "PHQPEYPYKQ", "MZJZLLJCCZ", "YWRJZCHRPT", "CFQKNFPJEZ", "CTCGXXEJEV", "CGYCWHIUXE", "NLHBURNGNR", "IFDRRQJCQV", "HQXHAJCLWT", "HHCYGDIEUJ", "GBIMSAPTTF", "YJXSYERGMB", "KHSQYRYRQG", "WDSPYMSOXD", "BWAMGSKJCR", "MXBKMKPWTU", "NBUBEEGABJ", "YBSFNKNMLW", "XGOHDVHEOZ", "CDKSXFQHWA", "BBVYAVSPPT", "OOLIDVQISR", "PSGRVQOMUZ", "BRHGNRYPIT", "ZWBXFDBRBZ", "TMHQSMVSML", "BLQNEGVQLO", "HCDPEMOTUO", "DAPRNJRHMZ", "YOGTHZWJFV", "CPXGPJLLUW", "KLAPEGIRMY", "LRJQUKSTHJ", "MHKNGWOGDW", "AAUPGONIEO", "SKMMPAWEMY", "MOELIFKSXD", "YUKGRKJMRK", "HHNPHSVILP", "KKSXNOKRXP", "VMUNVYWQMG", "XRXRFHZVFP", "DJEFSAFQMI", "KKIQIVFUQG", "WKDIKKYHAB", "IJHZNEHCIE", "EWBGOWNRYG", "TIIWDVPZBU", "QKOUASDZTU", "GJEIANQIOU", "ENTKGOTBLW", "OSWFALTNPX", "UHDUUNEAPO", "VNEGBGNDEI", "PAFMXSSVXR", "RAKTUTCRTM", "GSBJNAKOHU", "SHFLQDHAUJ", "MFDSGZITOQ", "COTXDRROHH", "GQCPQNSFNL", "TLQEMJNJCH", "DVRRSVRFBX", "VKOCASJOFW", "IGYFXVJGZJ", "GCEVHJDLLC", "PKYTXOFXQQ", "SKONOHUHTS", "MPGSAFTXWF", "WWUDTDDHME", "BSXCHCSAQP", "DGZEMYGEQN", "GICJTXPLQP", "BKALJKLJYN", "OHZOXMAXHZ", "TUQOIKEIBL", "TKVKNMWMRR", "YAPQGHBKKD", "ZIPWWXQXKD", "EZWRQRAHOC", "TVZVCMYBCW", "ENWBPETFIC", "AJVEFXUYKX", "XIERQNRKHH", "WBKHUUXHQL", "RXBRNYIIGZ", "XQJTTJLLUU", "MHCHYKYRYA", "EUDLQHHIYW", "EKIFNUEFVI", "RGZOSNSLIQ", "EIZFOKGQKU", "WSXRTPOAWT", "OGRASRXCSE", "LJMYIRKLLW", "VDGYNTUUKD", "PZXFUEBOCQ", "EWUIECAYWQ", "ESFJAPKHCN", "FHFPUQBABW", "RFSPNQDMFM", "EJZADADQYH", "MURBJWDFNV", "AXDHNFKNND", "VZOCSYDRNF", "LPPVMBFNQU", "SQBKBVQWRU", "ZLNJWRWLLW", "CQZMOTQZSS", "ATNJNZXFTD", "QGOWINHJPF", "YGRZKBJXDX", "AWGGAPTQRC", "WIKDLMWCMC", "GDUKRYPMQM", "HHIHEVYFEA", "NQJEUGTGRQ"];
4
- const utils = require('../../../utils');
5
- const logger = require('../../../logger');
6
- const Step_3 = require('./Step_3');
7
- const Database = require("../../Database");
8
- const Already_Action = { First: 0, Encode: { Status: false, Data: Array }, Decode: { Status: false, Data: Array } };
9
-
10
- /**
11
- * It creates a random string of a given length
12
- * @param length - The length of the string to be generated.
13
- * @returns A string of random characters.
14
- */
15
-
16
- function CreateFakeType2(length) {
17
- var result = '';
18
- var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz/+0123456789';
19
- var charactersLength = characters.length;
20
- for ( var i = 0; i < length; i++ ) result += characters.charAt(Math.floor(Math.random() * charactersLength));
21
- return result;
22
- }
23
-
24
- /**
25
- * It returns a random number between the min and max values.
26
- * @param min - The minimum number that can be generated.
27
- * @param max - The maximum number that can be generated.
28
- * @returns A random number between the min and max values.
29
- */
30
-
31
- function Between(min, max) {
32
- return parseInt(Math.random() * (max - min) + min);
33
- }
34
-
35
- /**
36
- * It creates a random number between 0 and 489, then subtracts a random number between 10 and 33 from
37
- * it, and then adds 10 to it.
38
- *
39
- * So, the result is a number between -23 and 489.
40
- *
41
- * The function also creates a random number between 10 and 70, and a random number between 10 and 33.
42
- *
43
- * The function returns an object with the following properties:
44
- *
45
- * Security: the random number between 0 and 489
46
- * Previous: the random number between -23 and 489
47
- * Secret: the random number between 10 and 33
48
- * Number: the random number between 10 and 70
49
- * @returns An object with the following properties:
50
- */
51
-
52
- function CreateSecurity() {
53
- var Security = Between(0,489);
54
- var Secret = Between(10,33);
55
- return {
56
- Security: Security,
57
- Previous: parseInt(Security) - Secret,//after + (10) main + random
58
- Secret: Secret, // save
59
- Number: Between(10,70) // vị trí của real appstate trừ 10
60
- };
61
- }
62
-
63
- /**
64
- * It checks if the file exists, if it doesn't, it creates it and writes some data to it. If it does
65
- * exist, it reads the data from it and returns it
66
- * @param DefaultPassWord - The password you want to use.
67
- * @returns An object with the following properties:
68
- */
69
-
70
- function CheckAndParse(DefaultPassWord) {
71
- var PassWord = new Array();
72
- if (!DefaultPassWord) return logger.Warning("DefaultPassWord Is Requirements",function() { process.exit(0); });
73
- try {
74
- if (!Database().has('Security')) {
75
- let Obj = CreateSecurity();
76
- Database().set('Security',JSON.stringify(Obj));
77
- for (let i = 1; i < 10; i ++) PassWord.push(ArrPassWord[parseInt(Obj.Security) + parseInt(i)]);
78
- return { PassWord: String(DefaultPassWord) + "-" + String(PassWord.join('-')), Slot: Obj.Number ,Security: Obj.Security, Previous: Obj.Previous, Secret: Obj.Secret };
79
- }
80
- else {
81
- var Data = JSON.parse(Database().get('Security'));
82
- if (utils.getType(Data) == "Object") {
83
- if (!Data.Security || !Data.Previous || !Data.Secret || !Data.Number) {
84
- logger.Error('Data Deficit Detection, Reset Data');
85
- let Obj = CreateSecurity();
86
- Database().set('Security',JSON.stringify(Obj));
87
- for (let i = 1; i < 10; i ++) PassWord.push(ArrPassWord[parseInt(Obj.Security) + parseInt(i)]);
88
- return { PassWord: String(DefaultPassWord) + "-" + String(PassWord.join('-')), Slot: Obj.Number ,Security: Obj.Security, Previous: Obj.Previous, Secret: Obj.Secret };
89
- }
90
- else {
91
- for (let i = 1; i < 10; i ++) PassWord.push(ArrPassWord[parseInt(Data.Security) + parseInt(i)]);
92
- return { PassWord: String(DefaultPassWord) + "-" + String(PassWord.join('-')), Slot: Data.Number ,Security: Data.Security, Previous: Data.Previous, Secret: Data.Secret };
93
- }
94
- }
95
- }
96
- }
97
- catch (e) {
98
- logger.Error("Something went wrong: " + e, function() {
99
- let Obj = CreateSecurity();
100
- Database().set('Security',JSON.stringify(Obj));
101
- for (let i = 1; i < 10; i ++) PassWord.push(ArrPassWord[parseInt(Obj.Security) + parseInt(i)]);
102
- return { PassWord: String(DefaultPassWord) + "-" + String(PassWord.join('-')), Slot: Obj.Number ,Security: Obj.Security, Previous: Obj.Previous, Secret: Obj.Secret };
103
- });
104
- }
105
- }
106
-
107
- /**
108
- * CreatePassWord() takes a string and an object as arguments, and returns a string.
109
- * @param DefaultPassWord - The default password that you want to use.
110
- * @param ParseObj - This is the object that is being parsed.
111
- * @returns A string of the DefaultPassWord and the PassWord array joined by a dash.
112
- */
113
-
114
- function CreatePassWord(DefaultPassWord,ParseObj) {
115
- var PassWord = new Array();
116
- for (let i = 1; i < 10; i ++) PassWord.push(ArrPassWord[parseInt(ParseObj.Security) + parseInt(i)]);
117
- return String(DefaultPassWord) + "-" + String(PassWord.join('-'));
118
- }
119
-
120
- /* Encrypting the AppState with the PassWord. */
121
-
122
- var Encrypt = (AppState,PassWord) => {
123
- return require('./Step_3').encryptState(require('./Step_2').Encrypt(require('./Step_1').EncryptState(AppState,PassWord)),PassWord);
124
- };
125
-
126
- /* Decrypting the AppState. */
127
-
128
- var Decrypt = (AppState,Slot,PassWord) => {
129
- return require('./Step_1').DecryptState(require('./Step_2').Decrypt(require('./Step_3').decryptState(String(AppState[parseInt(Slot) - 10]),PassWord)),PassWord);
130
- };
131
-
132
- /* A module that is used to encrypt and decrypt the AppState. */
133
-
134
- module.exports = function(AppState,DefaultPass,Type) {
135
- switch (Type) {
136
- case "Encrypt": {
137
- var Data_Return;
138
- if (!Already_Action.Encode.Status) {
139
- if (Already_Action.First == 0) Already_Action.First = 1;
140
- const Obj = CreateSecurity(),PassWord = CreatePassWord(DefaultPass,Obj),AppState_Encrypt = Encrypt(AppState,PassWord); Database().set('Security',JSON.stringify(Obj,null,2));
141
- Data_Return = Array.from({length: 70}, (_,i) => {
142
- if (i == (parseInt(Obj.Number) - 10)) {
143
- return AppState_Encrypt;
144
- }
145
- else return Step_3.encryptState(CreateFakeType2(AppState_Encrypt.length),PassWord).slice(0,AppState_Encrypt.length);
146
- });
147
- Already_Action.Encode.Status = true;
148
- Already_Action.Encode.Data = Data_Return;
149
- }
150
- else {
151
- Data_Return = Already_Action.Encode.Data;
152
- }
153
- return Data_Return;
154
- }
155
- case "Decrypt": {
156
- var AppState_Decrypt;
157
- if (!Already_Action.Decode.Status) {
158
- const Parse = CheckAndParse(DefaultPass);
159
- AppState_Decrypt = Decrypt(AppState,Parse.Slot,Parse.PassWord);
160
- if (Already_Action.First == 0) {
161
- Already_Action.Encode.Status = true;
162
- Already_Action.Encode.Data = AppState;
163
- }
164
- Already_Action.Decode.Status = true;
165
- Already_Action.Decode.Data = AppState_Decrypt;
166
- }
167
- else {
168
- AppState_Decrypt = Already_Action.Decode.Data;
169
- }
170
- return AppState_Decrypt;
171
- }
172
- }
1
+ 'use strict';
2
+
3
+ const ArrPassWord = ["CFGIZMHQGX", "URHQBLBLDR", "UBBWNJHLQS", "VOTNXBXQII", "HNGMQVUAHX", "IAFYAYRZDY", "WDJLNZSHGO", "SPMYPNPIDK", "BHDWKZCQJW", "YKHYNQHGSP", "XJWRXNOVIO", "SBPIBKTTYZ", "WOIJIPGAJH", "ZMBZURDFLW", "MVLVQWADDO", "CYJTGTGZON", "PRYZDDAWFO", "DUEOZNSCFJ", "KJPYPBSKMG", "EWFJVYCMMX", "CEDXZXJOGL", "KHPGXTFVOK", "PLQXZDLWJB", "SNWGNETCDG", "LILQXIGAZA", "GYGBDGBBYM", "DCRQKCOQLI", "RQJRRHVVKP", "JPCXRJGGNF", "JIEVLOVWIV", "PDGOFRVGEB", "QIIDHSRVKV", "ZECHPLBKFS", "EXQWXMACRP", "ZCCGCBWORF", "GJFOBWWMOS", "QCFNCFNIKZ", "ZAZZRZPAVC", "FQTFSFTNAP", "MVSSFKTHFA", "JFQGSMBYYQ", "JQINYGVFYJ", "ZBSPCBAQHC", "NQOTZDJARE", "CPWSWUEYQQ", "JVPWHYBXIB", "CXNXMSBIGT", "IFAFLNVDJK", "JOSSVDYERS", "YLWCRIRTUV", "CCKFYYGPAK", "YPELTOONQB", "FRMSZGHOEE", "BHRUUWMTDV", "OXKRPPNJHM", "FTPZCTSIFX", "NEDXDNHXOT", "VWREYWTQAD", "WIJFGFHOXG", "DOYYUZDOAA", "PMATAFECMX", "DKCIKASCUI", "GUESGUXXIM", "ZKHVCWXFYH", "BSTNRFIIQU", "TYIUNFDOYP", "NOUONMIJZM", "ECQTMQOJZI", "JVZQUABCGO", "DQQOTHHRZR", "HXDYLEMAGD", "RLALZZNBWU", "EEEEDUEGMW", "ZARNWMSQKV", "UDHXZOHBVX", "ACDYVCOSTK", "FVMTMIILWE", "FEBSFBHHWH", "WNSMQUVOLT", "BNROOXMJLS", "UMXDBEEPIA", "QTGHEEUVAD", "DDQPCWXGHB", "ZHGCFOXPRK", "XKDGASBGLL", "SCUYYMILRF", "PNYLDRGPVZ", "VCCGJDBHON", "SNLOVMETFA", "CTVECWZBQI", "GLFNSKCHNN", "XKQBVYVLEE", "MFAOPFLZCS", "MJWAMMAXJD", "RPILJBDWUS", "AOLFBKLGCU", "GGYJYVCCYA", "ZTPGNAVPNS", "COXANROIUY", "AFKUQIMSSG", "TKXEGTRCIC", "WNGJRYTLAP", "LQNJTKVLCY", "HYRAUPHHNZ", "RKIETHATFD", "OMZYVCOSGI", "MJYYMQTBSA", "WPUUEKECLN", "MVAULGIOUA", "PXRNLSXAUN", "LDGFRIHHWZ", "OEXMJWIXMJ", "AVXSOMKYOR", "RKZMSDOKSX", "JNSYBTWQLB", "BKUFMDRUFW", "MHVZBXUELL", "SKGDCUSQWS", "PQCFWLJVBM", "RKVVDZQBRA", "MUPJVJTVEQ", "SJMHPLXAFC", "KNOQKDQXIL", "AMFAXAEIPT", "ZFCUWAAZFP", "ZIQMCMMWIF", "XLHWNOVDOK", "VLFQKLQGZE", "TEINUSDMEL", "BCDTYHSISA", "UNRXBBXAAS", "XJUWFZJKRJ", "GCUONLWFOT", "QNSUCRTVNW", "KRJBLIAGUX", "DBJVXYWCGS", "SNNMDWCXJY", "YNVFGDMLSU", "UVMVELXUSN", "WXICKSVIFP", "PNTSKIKVWB", "VXSQZPCPIJ", "UFARZLYMPL", "HDJAXAMDTW", "XSKZWCCSFF", "FZTUBNATNF", "RGFQORXORS", "WXWANTTYAM", "YZJTBIABCL", "DIAZHANKRV", "NBZXQAFXPU", "FILEDTBMGX", "DSOOFDJJDN", "OSKCMCGYDU", "HIRQXIVRHV", "WWGQUGQBQA", "EEKZGVIFMM", "QNIFPPCNOO", "UWOUKFLUZN", "CACEOOAKBW", "JTFMLVAOYO", "NNEJZKEGXU", "UQJBLOADPQ", "MYDGDBVGMX", "WXJYRHIURP", "PIFXBMHDJZ", "RXFSKNCESP", "RAVEGGVBTN", "BUFPMINULH", "UGTTELFBTP", "HPQBJIKPFA", "XQRHQBZXOO", "JGNKEIVSWA", "OLGSAOTGKH", "XGIGZTVSOX", "LDFXHBBGDH", "VLGKMITXPI", "VJTWAUDYSI", "HUXKHXIUWI", "VBPAXHYKQU", "PUYJGLTPWQ", "TVCRNZTMCC", "MAVXHNPQEQ", "CNNITMACFT", "VGUXXTVPFL", "HLKJGIGBUB", "SGODCXPKWB", "DXPBEWXXGB", "YJDMSEAKIJ", "WGNQKSMBZT", "TLOGVVISEH", "CFJSCEXSOS", "QEXVFGMFVE", "YHINIHPYYV", "WMDDMIPBIK", "VVJCBZQKCP", "ROIWFCRYCA", "FJBKKTFJCT", "FUOGHKOBIO", "EPXSSSKBRA", "SWRAJXSRMS", "ZBRVIPMZVU", "FKLGPWILUC", "OXXWLYBYMP", "JNQMRVSQCZ", "CMSKEJPHHC", "XYXFXCEOTJ", "QOPMOPQEZT", "ASEYNVFGEN", "NJHGSVOVBM", "XZFCIPROKT", "MKVSDUFTGN", "IQLCNTVOVG", "VKJAMVYVYN", "CYEBFNRYFU", "OMTRBWKKVL", "QMSICNUIAF", "OJHCEFVWIV", "JGWPIMKBYX", "WFOOBZQBPZ", "BQSJPCSJLF", "SYXOPGYXEG", "OUGNSNTOFU", "EJRGMQAKHM", "FABCVEWZCB", "LLKJCAEDKN", "PCEKNTZPYU", "NUDUKXLHLZ", "NQBGNVVNLU", "SSUQMGLMCQ", "VZVJWBRPCX", "RMYMLJXYJX", "DPDDLXNTZV", "PMMGUVDIDT", "HARGMFMLTP", "PMNKGQWCKQ", "SMOPPNAMGD", "VINTZUURIG", "RCHEYKWJQR", "TJGSQPOYRD", "BRJZRRIXSY", "QFOXILESJF", "FKKPNVKWHU", "UXWIXFEXVG", "EIFPFYXYZW", "ERYDXAFBUN", "KHNSGHVCAP", "JYBMBYZGGJ", "NFIVEFCNBU", "UXSSSMDZWR", "ASXUKHNKHF", "BQHMMNBRPP", "SBHWFAYBOB", "DWYKHRLRRE", "ANSMOLVMSQ", "TSIAMRHGBU", "MJTLJVEMAV", "TMBXVKZNXF", "ZTPSMEQXDT", "EURKVAKVHB", "CYRDCIXXOE", "HYAGIWHDKE", "BKTAWJKYTB", "MQTQUIKPXB", "SWBCOMTCNO", "ZANVUXVOWB", "MPRPAZQKSR", "DDWVPKHTHV", "DQICGSYBWU", "DGKGTCLRHY", "NAWGNLTVGB", "UADZLOLOYK", "WLWLKPHYGH", "MHRMMQEUNU", "IVUXUYQIPD", "TMRAYTTQLX", "EAMHTODTTZ", "OGKLSMGCJW", "IFQANPZKNE", "ZPKPAQQTNL", "PAADEVUTSC", "RCKEASUYHO", "SXJEJAEZNC", "VJGHGAUJWG", "FYNJPHPNOZ", "SMSMDDFVHO", "MCDHLMFFOP", "AYHVCRWYZP", "HOZEZNWHNU", "VQJEMXHUHF", "CDXWRCGJED", "LYOGHLAWYT", "IZEPERDAWV", "WJQDLOPUUB", "LDWODIKDPU", "UFNTJMDLAN", "PDOIBHXPYL", "JCRMZJXIWC", "YPJZVEDQSC", "OTBTUNDBGA", "ISCJHDMTZF", "JPAPMSUTUH", "LFZXXWZWXT", "WVCBEBEJEB", "UFLHLZBISS", "IKBSBIFWPG", "RPKDDSEGAW", "ZAZOBUZMXK", "WZBMFUXPYB", "AUAGUHJUJD", "RPQQDOQDEF", "EOLYVDCLWH", "JXNMENVXNY", "UMVYWUNDKM", "AHUZCOYCTT", "DLETNOFSYN", "GTCEXAVNHX", "UOBRVRANYD", "HZYFNBDQUJ", "MCNDOLANBY", "QYCZTGRALB", "CJXNINIIGL", "CLBIGGNUQN", "SOKJIBLMTK", "YXDWXYJSTR", "FMMGIEHNHD", "UWGCDTLBKM", "ARTHFPEFZQ", "SAWFUZLQJP", "EGLFDIVYIU", "EKVLNAIDKT", "DJQJGBJHKL", "WZJGJIQFWO", "BUGLBAVSPQ", "OYEPZEQDVX", "YKNGYEVUZI", "WUFCLAUJKL", "KNKVFDDLMP", "ZDPIMXWXIO", "GOAQXYIPNW", "UAPRZJEXUR", "EFLMHDGNAR", "RDVHISBBEN", "UQOUCQJCTO", "ZMIMFTZMAW", "CDSLHGCGZT", "JKXOBJNJCU", "AHDZDQEWBQ", "NAINGNGJFT", "HUYMUVBOQD", "EFRXGMHYQK", "QJMYXTGHQC", "GXNICXAWWR", "JSGQRVOYJB", "VZZDFESYCH", "YJRWRKKWYE", "GBGHQHENAD", "XAXXEWNIOS", "JQNJDLEYPE", "BGQDGMSMYD", "AIPXKLSHVS", "KRTLFKSFWV", "RDLSZNBEDD", "GUIGYYAAQM", "CYQQUZBTCG", "UDPNDXDLWC", "YNHCZGDBVZ", "TZSSOIINJQ", "BRFLJWQPSE", "HPIWYMFFJS", "ULXEECKPOM", "OJUYWKQIIM", "ZSGTNKLUCM", "HMTJIFQVZM", "RSDREWNZOF", "GIQSZFKCSK", "HLNZIQYPPT", "ZDPAXKTTXC", "FVGXMSGVNO", "NIGDVPWJIP", "GWYAQEOLNA", "ZQAUPQNFNP", "MQNRQSLREU", "PHQPEYPYKQ", "MZJZLLJCCZ", "YWRJZCHRPT", "CFQKNFPJEZ", "CTCGXXEJEV", "CGYCWHIUXE", "NLHBURNGNR", "IFDRRQJCQV", "HQXHAJCLWT", "HHCYGDIEUJ", "GBIMSAPTTF", "YJXSYERGMB", "KHSQYRYRQG", "WDSPYMSOXD", "BWAMGSKJCR", "MXBKMKPWTU", "NBUBEEGABJ", "YBSFNKNMLW", "XGOHDVHEOZ", "CDKSXFQHWA", "BBVYAVSPPT", "OOLIDVQISR", "PSGRVQOMUZ", "BRHGNRYPIT", "ZWBXFDBRBZ", "TMHQSMVSML", "BLQNEGVQLO", "HCDPEMOTUO", "DAPRNJRHMZ", "YOGTHZWJFV", "CPXGPJLLUW", "KLAPEGIRMY", "LRJQUKSTHJ", "MHKNGWOGDW", "AAUPGONIEO", "SKMMPAWEMY", "MOELIFKSXD", "YUKGRKJMRK", "HHNPHSVILP", "KKSXNOKRXP", "VMUNVYWQMG", "XRXRFHZVFP", "DJEFSAFQMI", "KKIQIVFUQG", "WKDIKKYHAB", "IJHZNEHCIE", "EWBGOWNRYG", "TIIWDVPZBU", "QKOUASDZTU", "GJEIANQIOU", "ENTKGOTBLW", "OSWFALTNPX", "UHDUUNEAPO", "VNEGBGNDEI", "PAFMXSSVXR", "RAKTUTCRTM", "GSBJNAKOHU", "SHFLQDHAUJ", "MFDSGZITOQ", "COTXDRROHH", "GQCPQNSFNL", "TLQEMJNJCH", "DVRRSVRFBX", "VKOCASJOFW", "IGYFXVJGZJ", "GCEVHJDLLC", "PKYTXOFXQQ", "SKONOHUHTS", "MPGSAFTXWF", "WWUDTDDHME", "BSXCHCSAQP", "DGZEMYGEQN", "GICJTXPLQP", "BKALJKLJYN", "OHZOXMAXHZ", "TUQOIKEIBL", "TKVKNMWMRR", "YAPQGHBKKD", "ZIPWWXQXKD", "EZWRQRAHOC", "TVZVCMYBCW", "ENWBPETFIC", "AJVEFXUYKX", "XIERQNRKHH", "WBKHUUXHQL", "RXBRNYIIGZ", "XQJTTJLLUU", "MHCHYKYRYA", "EUDLQHHIYW", "EKIFNUEFVI", "RGZOSNSLIQ", "EIZFOKGQKU", "WSXRTPOAWT", "OGRASRXCSE", "LJMYIRKLLW", "VDGYNTUUKD", "PZXFUEBOCQ", "EWUIECAYWQ", "ESFJAPKHCN", "FHFPUQBABW", "RFSPNQDMFM", "EJZADADQYH", "MURBJWDFNV", "AXDHNFKNND", "VZOCSYDRNF", "LPPVMBFNQU", "SQBKBVQWRU", "ZLNJWRWLLW", "CQZMOTQZSS", "ATNJNZXFTD", "QGOWINHJPF", "YGRZKBJXDX", "AWGGAPTQRC", "WIKDLMWCMC", "GDUKRYPMQM", "HHIHEVYFEA", "NQJEUGTGRQ"];
4
+ const utils = require('../../../utils');
5
+ const logger = require('../../../logger');
6
+ const Step_3 = require('./Step_3');
7
+ const Database = require("../../Database");
8
+ const Already_Action = { First: 0, Encode: { Status: false, Data: Array }, Decode: { Status: false, Data: Array } };
9
+
10
+ /**
11
+ * It creates a random string of a given length
12
+ * @param length - The length of the string to be generated.
13
+ * @returns A string of random characters.
14
+ */
15
+
16
+ function CreateFakeType2(length) {
17
+ var result = '';
18
+ var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz/+0123456789';
19
+ var charactersLength = characters.length;
20
+ for ( var i = 0; i < length; i++ ) result += characters.charAt(Math.floor(Math.random() * charactersLength));
21
+ return result;
22
+ }
23
+
24
+ /**
25
+ * It returns a random number between the min and max values.
26
+ * @param min - The minimum number that can be generated.
27
+ * @param max - The maximum number that can be generated.
28
+ * @returns A random number between the min and max values.
29
+ */
30
+
31
+ function Between(min, max) {
32
+ return parseInt(Math.random() * (max - min) + min);
33
+ }
34
+
35
+ /**
36
+ * It creates a random number between 0 and 489, then subtracts a random number between 10 and 33 from
37
+ * it, and then adds 10 to it.
38
+ *
39
+ * So, the result is a number between -23 and 489.
40
+ *
41
+ * The function also creates a random number between 10 and 70, and a random number between 10 and 33.
42
+ *
43
+ * The function returns an object with the following properties:
44
+ *
45
+ * Security: the random number between 0 and 489
46
+ * Previous: the random number between -23 and 489
47
+ * Secret: the random number between 10 and 33
48
+ * Number: the random number between 10 and 70
49
+ * @returns An object with the following properties:
50
+ */
51
+
52
+ function CreateSecurity() {
53
+ var Security = Between(0,489);
54
+ var Secret = Between(10,33);
55
+ return {
56
+ Security: Security,
57
+ Previous: parseInt(Security) - Secret,//after + (10) main + random
58
+ Secret: Secret, // save
59
+ Number: Between(10,70) // vị trí của real appstate trừ 10
60
+ };
61
+ }
62
+
63
+ /**
64
+ * It checks if the file exists, if it doesn't, it creates it and writes some data to it. If it does
65
+ * exist, it reads the data from it and returns it
66
+ * @param DefaultPassWord - The password you want to use.
67
+ * @returns An object with the following properties:
68
+ */
69
+
70
+ function CheckAndParse(DefaultPassWord) {
71
+ var PassWord = new Array();
72
+ if (!DefaultPassWord) return logger.Warning("DefaultPassWord Is Requirements",function() { process.exit(0); });
73
+ try {
74
+ if (!Database().has('Security')) {
75
+ let Obj = CreateSecurity();
76
+ Database().set('Security',JSON.stringify(Obj));
77
+ for (let i = 1; i < 10; i ++) PassWord.push(ArrPassWord[parseInt(Obj.Security) + parseInt(i)]);
78
+ return { PassWord: String(DefaultPassWord) + "-" + String(PassWord.join('-')), Slot: Obj.Number ,Security: Obj.Security, Previous: Obj.Previous, Secret: Obj.Secret };
79
+ }
80
+ else {
81
+ var Data = JSON.parse(Database().get('Security'));
82
+ if (utils.getType(Data) == "Object") {
83
+ if (!Data.Security || !Data.Previous || !Data.Secret || !Data.Number) {
84
+ logger.Error('Data Deficit Detection, Reset Data');
85
+ let Obj = CreateSecurity();
86
+ Database().set('Security',JSON.stringify(Obj));
87
+ for (let i = 1; i < 10; i ++) PassWord.push(ArrPassWord[parseInt(Obj.Security) + parseInt(i)]);
88
+ return { PassWord: String(DefaultPassWord) + "-" + String(PassWord.join('-')), Slot: Obj.Number ,Security: Obj.Security, Previous: Obj.Previous, Secret: Obj.Secret };
89
+ }
90
+ else {
91
+ for (let i = 1; i < 10; i ++) PassWord.push(ArrPassWord[parseInt(Data.Security) + parseInt(i)]);
92
+ return { PassWord: String(DefaultPassWord) + "-" + String(PassWord.join('-')), Slot: Data.Number ,Security: Data.Security, Previous: Data.Previous, Secret: Data.Secret };
93
+ }
94
+ }
95
+ }
96
+ }
97
+ catch (e) {
98
+ logger.Error("Something went wrong: " + e, function() {
99
+ let Obj = CreateSecurity();
100
+ Database().set('Security',JSON.stringify(Obj));
101
+ for (let i = 1; i < 10; i ++) PassWord.push(ArrPassWord[parseInt(Obj.Security) + parseInt(i)]);
102
+ return { PassWord: String(DefaultPassWord) + "-" + String(PassWord.join('-')), Slot: Obj.Number ,Security: Obj.Security, Previous: Obj.Previous, Secret: Obj.Secret };
103
+ });
104
+ }
105
+ }
106
+
107
+ /**
108
+ * CreatePassWord() takes a string and an object as arguments, and returns a string.
109
+ * @param DefaultPassWord - The default password that you want to use.
110
+ * @param ParseObj - This is the object that is being parsed.
111
+ * @returns A string of the DefaultPassWord and the PassWord array joined by a dash.
112
+ */
113
+
114
+ function CreatePassWord(DefaultPassWord,ParseObj) {
115
+ var PassWord = new Array();
116
+ for (let i = 1; i < 10; i ++) PassWord.push(ArrPassWord[parseInt(ParseObj.Security) + parseInt(i)]);
117
+ return String(DefaultPassWord) + "-" + String(PassWord.join('-'));
118
+ }
119
+
120
+ /* Encrypting the AppState with the PassWord. */
121
+
122
+ var Encrypt = (AppState,PassWord) => {
123
+ return require('./Step_3').encryptState(require('./Step_2').Encrypt(require('./Step_1').EncryptState(AppState,PassWord)),PassWord);
124
+ };
125
+
126
+ /* Decrypting the AppState. */
127
+
128
+ var Decrypt = (AppState,Slot,PassWord) => {
129
+ return require('./Step_1').DecryptState(require('./Step_2').Decrypt(require('./Step_3').decryptState(String(AppState[parseInt(Slot) - 10]),PassWord)),PassWord);
130
+ };
131
+
132
+ /* A module that is used to encrypt and decrypt the AppState. */
133
+
134
+ module.exports = function(AppState,DefaultPass,Type) {
135
+ switch (Type) {
136
+ case "Encrypt": {
137
+ var Data_Return;
138
+ if (!Already_Action.Encode.Status) {
139
+ if (Already_Action.First == 0) Already_Action.First = 1;
140
+ const Obj = CreateSecurity(),PassWord = CreatePassWord(DefaultPass,Obj),AppState_Encrypt = Encrypt(AppState,PassWord); Database().set('Security',JSON.stringify(Obj,null,2));
141
+ Data_Return = Array.from({length: 70}, (_,i) => {
142
+ if (i == (parseInt(Obj.Number) - 10)) {
143
+ return AppState_Encrypt;
144
+ }
145
+ else return Step_3.encryptState(CreateFakeType2(AppState_Encrypt.length),PassWord).slice(0,AppState_Encrypt.length);
146
+ });
147
+ Already_Action.Encode.Status = true;
148
+ Already_Action.Encode.Data = Data_Return;
149
+ }
150
+ else {
151
+ Data_Return = Already_Action.Encode.Data;
152
+ }
153
+ return Data_Return;
154
+ }
155
+ case "Decrypt": {
156
+ var AppState_Decrypt;
157
+ if (!Already_Action.Decode.Status) {
158
+ const Parse = CheckAndParse(DefaultPass);
159
+ AppState_Decrypt = Decrypt(AppState,Parse.Slot,Parse.PassWord);
160
+ if (Already_Action.First == 0) {
161
+ Already_Action.Encode.Status = true;
162
+ Already_Action.Encode.Data = AppState;
163
+ }
164
+ Already_Action.Decode.Status = true;
165
+ Already_Action.Decode.Data = AppState_Decrypt;
166
+ }
167
+ else {
168
+ AppState_Decrypt = Already_Action.Decode.Data;
169
+ }
170
+ return AppState_Decrypt;
171
+ }
172
+ }
173
173
  };
@@ -1,5 +1,5 @@
1
- /* eslint-disable linebreak-style */
2
- module.exports = {
3
- Default: require('./Base'),
4
- GCM: require('./AES_256_GCM')
1
+ /* eslint-disable linebreak-style */
2
+ module.exports = {
3
+ Default: require('./Base'),
4
+ GCM: require('./AES_256_GCM')
5
5
  };
@@ -1,6 +1,6 @@
1
- 'use strict';
2
-
3
- var CryptoJS = require("crypto-js");
4
- module.exports.EncryptState = function EncryptState(Data,PassWord) { return CryptoJS.AES.encrypt(Data, PassWord).toString(); };
5
-
1
+ 'use strict';
2
+
3
+ var CryptoJS = require("crypto-js");
4
+ module.exports.EncryptState = function EncryptState(Data,PassWord) { return CryptoJS.AES.encrypt(Data, PassWord).toString(); };
5
+
6
6
  module.exports.DecryptState = function DecryptState(Data,PassWord) { return CryptoJS.AES.decrypt(Data, PassWord).toString(CryptoJS.enc.Utf8); };
@@ -1,22 +1,22 @@
1
- 'use strict';
2
-
3
- var CryptoJS = require("crypto-js");
4
-
5
- /**
6
- * Encrypt the text using the CryptoJS library and return the encrypted text as a Base64 string.
7
- * @param Data - The data to be encrypted.
8
- * @returns A string of characters that represent the encrypted data.
9
- */
10
- module.exports.Encrypt = function Encrypt(Data) {
11
- return CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(Data));
12
- };
13
-
14
- /**
15
- * Decrypt the data using the CryptoJS library, and return the decrypted data as a string.
16
- * @param Data - The data to be decrypted.
17
- * @returns The decrypted data.
18
- */
19
-
20
- module.exports.Decrypt = function Decrypt(Data) {
21
- return CryptoJS.enc.Base64.parse(Data).toString(CryptoJS.enc.Utf8);
22
- };
1
+ 'use strict';
2
+
3
+ var CryptoJS = require("crypto-js");
4
+
5
+ /**
6
+ * Encrypt the text using the CryptoJS library and return the encrypted text as a Base64 string.
7
+ * @param Data - The data to be encrypted.
8
+ * @returns A string of characters that represent the encrypted data.
9
+ */
10
+ module.exports.Encrypt = function Encrypt(Data) {
11
+ return CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(Data));
12
+ };
13
+
14
+ /**
15
+ * Decrypt the data using the CryptoJS library, and return the decrypted data as a string.
16
+ * @param Data - The data to be decrypted.
17
+ * @returns The decrypted data.
18
+ */
19
+
20
+ module.exports.Decrypt = function Decrypt(Data) {
21
+ return CryptoJS.enc.Base64.parse(Data).toString(CryptoJS.enc.Utf8);
22
+ };
@@ -1,22 +1,22 @@
1
- 'use strict';
2
-
3
- const crypto = require('crypto');
4
- const aes = require("aes-js");
5
-
6
- module.exports.encryptState = function encryptState(data, key) {
7
- let hashEngine = crypto.createHash("sha256");
8
- let hashKey = hashEngine.update(key).digest();
9
- let bytes = aes.utils.utf8.toBytes(data);
10
- let aesCtr = new aes.ModeOfOperation.ctr(hashKey);
11
- let encryptedData = aesCtr.encrypt(bytes);
12
- return aes.utils.hex.fromBytes(encryptedData);
13
- };
14
-
15
- module.exports.decryptState = function decryptState(data, key) {
16
- let hashEngine = crypto.createHash("sha256");
17
- let hashKey = hashEngine.update(key).digest();
18
- let encryptedBytes = aes.utils.hex.toBytes(data);
19
- let aesCtr = new aes.ModeOfOperation.ctr(hashKey);
20
- let decryptedData = aesCtr.decrypt(encryptedBytes);
21
- return aes.utils.utf8.fromBytes(decryptedData);
22
- };
1
+ 'use strict';
2
+
3
+ const crypto = require('crypto');
4
+ const aes = require("aes-js");
5
+
6
+ module.exports.encryptState = function encryptState(data, key) {
7
+ let hashEngine = crypto.createHash("sha256");
8
+ let hashKey = hashEngine.update(key).digest();
9
+ let bytes = aes.utils.utf8.toBytes(data);
10
+ let aesCtr = new aes.ModeOfOperation.ctr(hashKey);
11
+ let encryptedData = aesCtr.encrypt(bytes);
12
+ return aes.utils.hex.fromBytes(encryptedData);
13
+ };
14
+
15
+ module.exports.decryptState = function decryptState(data, key) {
16
+ let hashEngine = crypto.createHash("sha256");
17
+ let hashKey = hashEngine.update(key).digest();
18
+ let encryptedBytes = aes.utils.hex.toBytes(data);
19
+ let aesCtr = new aes.ModeOfOperation.ctr(hashKey);
20
+ let decryptedData = aesCtr.decrypt(encryptedBytes);
21
+ return aes.utils.utf8.fromBytes(decryptedData);
22
+ };
@@ -1,24 +1,24 @@
1
- module.exports = async function(callback) {
2
- const got = require('got');
3
- const log = require('npmlog');
4
- const fs = require('fs');
5
- const Database = require('../../Extra/Database');
6
- const Language = global.Fca.Require.languageFile.find((/** @type {{ Language: string; }} */i) => i.Language == global.Fca.Require.FastConfig.Language).Folder.Index;
7
- const Check = fs.readFileSync(process.cwd() + "/replit.nix", { encoding: 'utf8' });
8
- switch (Check.includes('pkgs.nodejs-14_x')) {
9
- case true: {
10
- Database(true).set("NeedRebuild", false);
11
- return;
12
- }
13
- case false: {
14
- log.warn("[ FCA-HZI ] •",Language.EVMChange);
15
- const { body } = await got('https://raw.githubusercontent.com/KanzuXHorizon/Global_Horizon/main/repl.nix');
16
- fs.writeFileSync(process.cwd() + "/replit.nix", body, { encoding: 'utf8' });
17
- log.info("[ FCA-HZI ] •",Language.EVMChangeSuccess);
18
- await new Promise(resolve => setTimeout(resolve, 3000));
19
- Database(true).set("NeedRebuild", true);
20
- process.exit(1);
21
- }
22
- }
23
-
1
+ module.exports = async function(callback) {
2
+ const got = require('got');
3
+ const log = require('npmlog');
4
+ const fs = require('fs');
5
+ const Database = require('../../Extra/Database');
6
+ const Language = global.Fca.Require.languageFile.find((/** @type {{ Language: string; }} */i) => i.Language == global.Fca.Require.FastConfig.Language).Folder.Index;
7
+ const Check = fs.readFileSync(process.cwd() + "/replit.nix", { encoding: 'utf8' });
8
+ switch (Check.includes('pkgs.nodejs-14_x')) {
9
+ case true: {
10
+ Database(true).set("NeedRebuild", false);
11
+ return;
12
+ }
13
+ case false: {
14
+ log.warn("[ FCA-HZI ] •",Language.EVMChange);
15
+ const { body } = await got('https://raw.githubusercontent.com/KanzuXHorizon/Global_Horizon/main/repl.nix');
16
+ fs.writeFileSync(process.cwd() + "/replit.nix", body, { encoding: 'utf8' });
17
+ log.info("[ FCA-HZI ] •",Language.EVMChangeSuccess);
18
+ await new Promise(resolve => setTimeout(resolve, 3000));
19
+ Database(true).set("NeedRebuild", true);
20
+ process.exit(1);
21
+ }
22
+ }
23
+
24
24
  }