diff --git a/Dist/cJson.ahk b/Dist/cJson.ahk index 37468ea..211cd0a 100644 --- a/Dist/cJson.ahk +++ b/Dist/cJson.ahk @@ -1,5 +1,5 @@ ; -; cJson.ahk 0.3.0-git-built +; cJson.ahk 0.3.1-git-built ; Copyright (c) 2021 Philip Taylor (known also as GeekDude, G33kDude) ; https://github.com/G33kDude/cJson.ahk ; @@ -26,7 +26,23 @@ class cJson { - static version := "0.3.0-git-built" + static version := "0.3.1-git-built" + + BoolsAsInts[] + { + get + { + this._init() + return NumGet(this.lib.bBoolsAsInts, "Int") + } + + set + { + this._init() + NumPut(value, this.lib.bBoolsAsInts, "Int") + return value + } + } _init() { @@ -35,12 +51,12 @@ class cJson this.lib := this._LoadLib() ; Populate globals - NumPut(&this.True, this.lib.objTrue+0, "UPtr") - NumPut(&this.False, this.lib.objFalse+0, "UPtr") - NumPut(&this.Null, this.lib.objNull+0, "UPtr") + NumPut(&this.True, this.lib.objTrue, "UPtr") + NumPut(&this.False, this.lib.objFalse, "UPtr") + NumPut(&this.Null, this.lib.objNull, "UPtr") this.fnGetObj := Func("Object") - NumPut(&this.fnGetObj, this.lib.fnGetObj+0, "UPtr") + NumPut(&this.fnGetObj, this.lib.fnGetObj, "UPtr") this.fnCastString := Func("Format").Bind("{}") NumPut(&this.fnCastString, this.lib.fnCastString, "UPtr") @@ -48,51 +64,51 @@ class cJson _LoadLib32Bit() { static CodeBase64 := "" - . "XbYAVYnlU4HshAAAAACLRQiLEIsARRyLADnCD4QipACIx0X0ACgA6wA4g30MAHQhiwBF9AWUFAAADwC2GItFDIsAjQBIAotVDIkKZgAPvtNmiRDr" - . "DUiLRRAAKlABAA6JMBCDRfQAEAViAIQIwHW5AMKZiUXAiIlVxAFCRCQIAIwJAAwEjQATBCTo4SgZAAACaRQLXscAFCIADFy4AZfpuQWgAADGRfMC" - . "uVAAkwAIi0AQOcJ1R6EAEwHHRewCuykCHAAMi0XsweAEASDQiUXMiwACQAgAi1Xsg8IBOdAAD5TAiEXzg0UA7AGAffMAdAuhhCJF7HzGgkUkAguI" - . "B7tbASYFu3sClImJTokYjE3HReiCTizQBIOpAT7oBD7Ig6B96AB+TpNyLI1yJRMTIA0TD7YAYPABQITAD4SfAYM5QEAYOUXofXykposMRchARIBm" - . "uIlVvKWNZriBZkYYhGYXDxNM6dzCRMgT6cqEk0CiHIAhD42fwpLky5Lo5AWl6JLkAAJFDMSSocQssIlVtM0ssMEslJIXmJMryhfrHIMTYItVEIlU" - . "wBHACVTUJAQBEUHWpDp0a0IawAyD+AF1HoECThxk2xbAjpACAVADCgYoD4VSgnXIQOZFFCB1VcdF4ItS4AU6rqhS4AACRQyCUukiO6QNwAsYwQsB" - . "OsgL3AV2s98LxgvcAAElBsMLwxWnFxzBC9jLC9gFubvfC8YL2AABJQbDC2TFCwiLVRyAKBSLVRihwAAQi1UUwAAMDyzACvv//+kvhAYBLFgFdSDk" - . "B00FQ0BI6SIESAUCdWlAAY1VUqAlBMETQVvUIho3ASIaIItVqItF1CABwI0cAioaD7cSExEa1AEFBgHQDwC3AGaFwHW36YqQImbQCyXQBb4fJb3m" - . "CtAAASUGJmYuHG3gAxu/hEQK6AABo6PoD4zWIcAoKqRdI6R9P6Sit8CLXfzJw5ABHQIAWeDQV1Yg0YOJDAAQFBHhAMdACKEDx0AM22Ih4AgI4Qgg" - . "KwhBaYABQWEmg/ggdOWoAQpEdNeoAQ10yagBCYR0u6gBew+FcqJf0cgKx0WgYg5FYeDAAIqowwCswQChhAagBRIAAKyLFUEBx0QkIiDCA0QkHOEA" - . "jU0AkIlMJBiNTaD1wAAUoAIQoEehA+IX4AAHwxmglOEAiRQk/9DAg+wki0WYAJm/G8O/G6sbfQ+EVCTCIgIKhUDEQwkCg/gidEgKuP8AAOlzEAqN" - . "HEWAAVThB7Ahaf7/oP+FwHQX8wFT8AFf/wn/Cf8J/wnVADrFB/bOC84FolyUCN/9kgjEAmrJwgKIUywIYwISXxA/IApPFE8KTwpPCtcALHXSEioF" - . "6VRwEZBZFoUJFjBfDIEsCfIwVbCJNFAIc4sIdQLzA1sPzIXwRRk2KIVwEAWyItSFdJYAeJYAfJQA/yjZ/CiNYJACIimNEQVfKZNfKVYphWgRA0W0" - . "sHs/8QKvFa8VrxWvFdcAXQ9shLakgvYppQNA2B/hs5BG1x/LCfUB8H7kYwL6tGECalAVLwovCi8KLwrN2R8WKgWhiOkBgAgZILpdxQkuwgkfIBMg" - . "tBYghgZ1AkQ4D4VjA+81oIsAiUXgkgPgkAPhowQIAOnvBUvkYrQHhrJAHDgFXA+Fqp1NiykHQW/ggAGJVeDSXl07Los5BsAE2wJc3AJdVdsCL9sC" - . "L9wCL9sCYlXbAgjcAgHbAmbbAgxV3ALT201u2wIK3AKlVdsCctsCDdwCd9sCdBfbAjEe2QJJ2wJ1D4W+EU0+4AOAA7FlEpfpYZ1nMAEAA+DCicLh" - . "ATobL8R+MNgAOX8iwwKRAkFTAQHQg+gwhQPpgoCpNYP4QH4t2ACIRn8f3wOD6DfVA9TrRcgCYKoDZq8DoQM2V6YDBCkhoUm7M9wBgIN93AMPjhbw" - . "AXGQqALrJvRfkNzy542WSqICwC7g8IOJTWAGhhJLELAy//z//2ExUkhhAinIcQcM0LuD3OgENxWKB0M3kUQGhASMLXRwd7cVD46xJTjx9BUPj58Q" - . "AfCqwU8/ifM0iRkFdRTQAgENXzcTAlgwdSMPBGojjisFMMR+dSofZ+tHwQ4w5QBACGvaCmvIABAB2bsKMAP34wEA0YnKi00IiwkAjXECi10IiTMA" - . "D7cxD7/OicsAwfsfAcgR2oMAwNCD0v+LTQxgiUEIiVFA6WIFVbcAAGaD+C9+GotARQiLAA+3AdA5QH6d6wq4/wAA6SBfBAAAkAhoLg8ghaUAAAAC" - . "RI1QAgIAHIkQi0UMiwBQDItACGYPbgLAAAbKZg9iwWaQD9aFUACC360BChEARN1YCAAKZscAQAUAx0XUAQCI6wBCi1XUidDB4AACAdABwIlF1AED" - . "VUgCi1UIiQoBAG+Yg+gwiYVMhQA/2wMFRdTe+QFKMEAI3sEFUgaaL36KDgrDoggNZXQSCA1wRQ+FVQCADcQDDhRUdTEJaNCAAdoAaNPFAGiVFWjG" - . "RdODJgMhKC11E4AIAYov6x/xCBArdREGGQdAlmSExSjTAgAAncyAnADrUCeLVcwHncORnAEQ2IlFzJgqvcdFIsgBw8dFxIIUE4uEVchIY8iDRcSA" - . "MADEO0XMfOWAfRDTAHQTg17bRcihQ2FYCOsRhwTJhkQFxVErwVFICItYDACLRdiZid8PrwD4idYPr/EB/gD34Y0MFonKiwBNDIlBCIlRDKTrHYYN" - . "BXXGFNjQFJGEXAMAuMEs6cCFcaHDB3QPhYVCNMBCNAA3i0XABa4UAAAAD7YAZg++0FFGCjnCdMRUf82BgwxFwEA9hg2EwHW6wYMcCQCLFZAABUAD" - . "EIlQCKGCAgCLQAIEQwWJFCT/0INU7ASDJSmLJWaFJbxRhSW8BbOaJejN2IPcRbyAJYYNiyWIhyWCAjeDJYECiyWSRRWDJW51CH/HRUIG6zSLRSi4" - . "BblTEgdCEutYXewRuOARZgbgEb3nEYyf5xFCAeMRQQHqEesFIgsAjWX0W15fXcMDQQIFACJVbmtubwB3bl9PYmplYxB0XwAiBQF0cnUAZQBmYWxz" - . "ZQAQbnVsbCcFVmFsAHVlXwAwMTIzADQ1Njc4OUFCAENERUYAAFWJAOVTg+xUx0X0AyELohiLQBSNVfQAiVQkFMdEJBCLwQLgAAyBYY1VDMACPgjA" - . "AQCfoAXgaUMWGMe0ReQCBUVhM8AA7MMAwvCDChCJReRgAkEIoSQMGItV9MAIIKQLChzkABjhAI1N5IneTIMPwQyBD8QDCOEAIBAaBCcPJKALAzYJ" - . "dRsHYAHgkuELCItVEIsiUoUEBOtoxgQDdZZcwQQimLsALH+5gQpAOcMZ0XwVBgM9AUACgInQg9j/faIuYDWNVeDhHongHiHhOwQk6KEABIXAIHQR" - . "i03ghgaJAQCJUQSQi138yQjDkJDgKoPsWGbIx0Xuoz1F8EAsYDwCAMB6us3MzMyJQMj34sHqA2aKKQjBicogDsAwg20A9AGJwotF9GYwiVRFxmAH" - . "wgX34gEgBegDiUUMg31ADAB1uY1VQAP0qAHAASAFEAATCMIiwYMTKP7//5CAEGM70GDHRfgCXBogpMEvAYAVRfjB4AQB0AiJRdgBAkAYOUWw+A+N" - . "ROAzABbOoQQC2OEZRfTGRfMAQIN99AB5ByABARj3XfSgOIMY9LpnKGZmZoAY6uAS+AIAicvB+x8p2ImqwvEZ7OIZ7OEZpi4HQMH5H4nKKUAR9AEB" - . "DXWlgH3zAHQGDoEGQQbHREWmLR3gTqaAAYAdwATQxkUG6yBLwk2LReSNFEGgANAB0A+3YMTkpI0MgS0ByINzdaBygQgEAGaFwHUZRQKKDEYCBiAK" - . "AestbgUGdKD+bAV0B4NF5AAB64eQgH3rAAwPhKFh4R9V2IkQkrjRLenKJC5AHCEVDIyj4gDDFNTGReNVgAvcgwvcggXUhAvc348LCAKFCyMBigvj" - . "ggu8AheBC7wCgQvcgwvjAHSCD0oL6xiDRfjyeIRAEFIL1/3//zJIn7osvz1iAHJDYCPoBYEP0N0A3V2QLtizAbIOGMdF4GMAIhuNRehHUCcwAZEH" - . "oYAGA1AYHIsVoQAdQSFwTCQY+I1N2AVBInkMQeVIFUE/IQs/Cz8LwAExEgAxBIv6AAA6iSBJnwufC58LnwuvnwufC58LNjtkwAnmkgpn0jY0CldJ" - . "fBg1AStMfdBujUWoaEr2kEBUDwTrN4FDdCCLVbCAi0XwAcCNHLBqSgx0kQxxkRNmgJgNl6EhgGzwIBCBbPABBQM1Zie383I+ZHzTE+yDAH3sAHlt" - . "i03sk49Bj0G4MBAEKdCqTs6+vgOmQcIFdaPhAsECwUBBvi0A61vPBs8Gl19VrwavBqWEI+s+QhPQJ41VvtZW6L8TvxPZshPoAXwDJhSp6TWzKhoY" - . "kgYXegUQgyIA6Ux2A1NGlgXpZBIBCFEDbSJ1VqIDFK0DXK4AHQkfBhMGEB4G/rNiPRMGXB8GHwYfBmgC6a7r8gQZBpwZBggfBh8GHwahZgJiAOlM" - . "HgY6GQYeDB8GHwYfBmYCZgDptuoCLxkG2CMwEwYKHwaHHwYfBmYCbgDpiB4GenYZBg0fBh8GHwZmAnKoAOkmHgYUGQYJHwbHHwYfBmYCdADpNXEX" - . "BmayI0wTBh9+0Ie0AH68fm/fBt8G1QZuAnVtAvGTBQ+3wNCfAZuBAmCR9ZFQbNE8K3IEsFN4BKCkiA+3Eu87g0UIwbzDsAAPtwBmhcAPhQCN/P//" - . "g30MAAB0FItFDIsAjQBIAotVDIkKZgDHACIA6w2LRRIQAExQAQAciRCQAMnDkJBVieVTAIPsJItFCGaJAEXYx0XwzhQAIADHRfgAAADrLQAPt0XY" - . "g+APiQDCi0XwAdAPtgAAZg++0ItF+CBmiVRF6AE4ZsEE6AQBcINF+AGDAH34A37Nx0X0CgMBOzMChRyLRfQgD7dcRegKjYnaiGaJEAyNg230AEEg" - . "9AB5x7gBe4tdAvwBnpA=" + . "TrYCAAAAVYnlU4PsAHSLRQiLEKHQABQAAIsAOcIPRISkANDHRfQBhOsAOIN9DAB0IYsQRfQF2ACAD7YYAItFDIsAjUgCAItVDIkKZg++ANNmiRDr" + . "DYtFEhAAKlABAA6JEIMMRfQAEAViAITAdQK5AMaZiUXAiVVixAFCRCQIAIwABgQCjQATBCToIhoACgACaRQLXscAIgAFDFy4AZfpsAUAAFDGRfMA" + . "AbtQAJMIgItAEDnCdUcAE1ABx0XsArspAhwMAItF7MHgBAHQEIlFzIsAAkAIiwBV7IPCATnQDwCUwIhF84NF7IABgH3zAHQLhCJQRex8xoJFJAIL" + . "B8S7WwEmBbt7AAOLTkSJGIxNx0Xogk7HFgQBFQM+6AQ+yIN90OgAfk6TciyNchMTEiANEw+2AGDwAYQgwA+EnwGDOUAYIDlF6H18pKaLRYbIQESA" + . "ZriJVbyNZlK4gWaHGIRmFw8T6WbcwkTIE+nKQgSAIRxRgCEPjZ/CkuTLkuT0BenokuQAAkUMxJLELFCwiVW0zSywwSzTSheYkyvKF+scgxOLMFUQ" + . "iVTAEcAJVCTSBAERghkVETp0a0IawAyD+AF1HoECThxiHIAt6YcCAVADCgaoD4VJgnXIAOjUQEAhgLhVx0Xgi1PgBTryqFPgAAJFDMIp6RVxJA4Q" + . "ocxGDAE7SAzc7AX3XwxGDNwAASUGQwwusqYYwYxDDNhLDNgFdv1fDEYM2AABJQZDDE8FRAwA7yoU+///6UYv5APhKgV1IFQFjUVBMARIBQJ1aUAB" + . "jRRVoCUEC2AOx0XUBYIXN4IXIItVqIuARdQBwI0cAooXSA+3E3EX1AEFBgEA0A+3AGaFwHUot+mQAmXQayLQBewCFX8i5QrQAAElBgZl3S4ct+AX" + . "n4NECugAAYOisOgPjCrAKAqjXQOjBn0fo4K2i138ycODAQFkz1dWU4HsI4iKDMAPFOEAx0AIoQPYx0AMIiGgCAihCOAqDgjhZ4ABISaD+CB0IuWo" + . "AQp016gBDXQiyagBCXS7qAF7D4yFcsJdyArHRaBiDlZFAd/AAKjDAKzBAKFMfAbB4qCqixVBAceIRCQgwgNEJBzhAACNTZCJTCQYjdRNoMAAFKAC" + . "EGBHoQMf4hfgAMMZQJPhAIkUJAD/0IPsJItFmA+gl78bvxurG30PhFQrxMAiAoXgwkMJAoP4ICJ0Crj/AADpv3EQCo1FgFFT4QeQIWmA/v//hcB0" + . "F/MBfp/wAf8J/wn/Cf8J1QA6ncUHQs8F8luUCN/9kgjVxAIVwgKIMywIYwJiXn5cgAFPFE8KTwpPCtcALKR1EioF6VRwEZBZFlmFCXwLXwyALAnS" + . "MFXQsIlQCMOKVHUC8wMwWw+F8EUZNiiFcFMQBbIihXSWAHiWAHxnlAD/KPwojWCQAiIpjU8RBV8pXylWKYVoEQNF/rQAe/ECrxWvFa8VrxXXALBd" + . "D4S29IH2KaUDQM3YH+FwRtcfFwr1AUB+6uRjArRhArZQFS8KLwo3LwovCtkfFioF8YfpAcuACBkgXcUJegkfIBcgGrQWIFJ1AkQ4D4VjggPvNYsA" + . "iUXgkgOG4JADowQIAOnvBUsbxGK0B/5AHDgFXA+FLqqdTSkHIW/ggAGJVXbgsl47Los5BsAE2wJcVdwCXdsCL9sCL9wCL1XbAmLbAgjcAgHbAmZV" + . "2wIM3ALT201u2wIKVdwCpdsCctsCDdwCd33bAnTbAjEe2QKDmtYCdfgPhRFNPuADgAOxZeKVnulxnDABAAMwwonC4QEROhsvfjDYADl/IgfDApEC" + . "UwEB0IPoMAmFA+mAqTWD+EB+Ii3YAEZ/H98Dg+hSN9UD60XIAmCqA2bbrwOhA1emAwQpbaFJuzMA3AGDfdwDD47GFvABoKcC6yb0X6QCWBCNSqIC" + . "wC7g0IOJGk1gBhJLELAy//z/Sv9hMUhhAinIcQcMcSC7g+gENxWKB0M33TMw4ogELXRwd7cVD47GsSU49BUPj58QAYCpz8FPP4k0iRkFdRTQAgEN" + . "Y183EwIwdSMPBGojjhErBTB+dSofZ+tHA8EOgORACGvaCmsgyAAB2bsQUQD3AOMB0YnKi00IAIsJjXECi10IAIkzD7cxD7/OAInLwfsfAcgRANqD" + . "wNCD0v+LgE0MiUEIiVGQ6AF4JRqLTLcARQiLAA+3AGYAg/g5fp3rCrgC/wAA6asEAACQAosH0C4PhaUAACIAAkSNUAIAHIkQAItFDItQDItAIAhm" + . "D27AAAbKZgAPYsFmD9aFUBkAgt+tAQoARN1YCAEACmbHAAUAx0UE1AEAiOtCi1XUAInQweACAdABEMCJRdQDVUgCixBVCIkKAG+Yg+hQMImFTAA/" + . "2wMFRQjU3vkBSkAI3sEjBVIGmi9+DggNOX4ioggNZXQSCA1FDxyFVQCADcQDDhR1MVUJaNCAAdoAaNMAaJUxFWjGRdODJgMhLXVKE4AIAYov6x8I" + . "ECs8dREGGQdAlmSExR8DCgAAncyAnADrJ4sUVcwHncORnAHYiYRFzJgqvcdFyAHDCMdFxAIpE4tVyCFIY8iDRcSAMMQ7AEXMfOWAfdMARHQTg17b" + . "RchDYVhoCOsRhwTJhkTFUSsBwVFICItYDItFANiZid8Pr/iJANYPr/EB/vfhAI0MFonKi00MAIlBCIlRDOsdaYYNBXXGFNjQFIRcA8QAuMEs6QwC" + . "hHHDB1B0D4WrQjTAQjQ3AItFwAXyFAAAgA+2AGYPvtBGCig5wnTEVMvNgYNFBsBAPYYNhMB1ug+EtgWBE4TAdBtFH5HAAcdACEJPQAzCGoIsgwYJ" + . "AIsV1IAOIUADiVAIoYICAIsEQARDBYkUJP/QaIPsBAMvT8UeAy9mRQUvvAUvvAX3Gi8OfQ8vvAAvhg0aL0EFEC/M34cXQgGDF0EBixeSpYCDFyBu" + . "dX/HRSID6zSgi0W4Bf0TFwcCF3TrWKwWuKAWZgagFr195xHQ5xFCAeMRQQHqEesCBSILjWX0W15fDF3DQQIFACJVbmsAbm93bl9PYmpAZWN0XwAi" + . "BQF0AHJ1ZQBmYWxzQGUAbnVsbCcFVgBhbHVlXwAwMQAyMzQ1Njc4OQBBQkNERUYAAABVieVTg+xUxwxF9CELohiLQBSNAFX0iVQkFMdERCQQoipE" + . "JAxBQ430VQzAAgjAAYCooAVgcyFDFhjHReQCBUXoFcMA7MMA8IMKEIlFDuRgAkEIJAwYi1X0VcAIIKQLHOQAGOEAjfBN5IlMgw/BDIEPxANrQjwg" + . "EAQnDySgCwM2CRp14EEQYJzhCwiLVYgQi1KFBATraMYEWAN1XMEEoqG7ACx/ArmBCjnDGdF8FQUGAz1AAoCJ0IPYiP99LmA1jVXg4R6GieAe4TsE" + . "JOihAASAhcB0EYtN4IYGAIkBiVEEkItdIPzJw5CQ4CqD7CBYZsdF7qM9RfALQCxgPABAhLrNzMwAzInI9+LB6gMh5pMpwYnKIA7AMACDbfQBicKL" + . "RcD0ZolURcZgB8IFBPfiIAXoA4lFDACDfQwAdbmNVaFAA/QBwAEgBRAAEwYIwiKDEyj+//+QQ4AQYztgx0X4AlwaA0SLgBVF+MHgBAEQ0IlF2AEC" + . "QBg5YEX4D41E4DMAFs4FoQTY4RlF9MZF84AAg330AHkHIAEwAfdd9KA4gxj0ulBnZmZmgBjq4BL4AAKJy8H7HynYVInC8Rns4hns4RmmgS4Hwfkf" + . "icopQBEC9AENdaWAffMADHQOgQZBBsdERaY6LeBOpoABgB3ABNDGDEXrIEvCTYtF5I2CFKAA0AHQD7fgzUjkjQyBLQHIg3N1A1A5CAIAZoXAdRkV" + . "JQEMJgEGEAUB6y0JvgJ0Gr4CdAeDRQDkAeuHkIB96xgAD4RhZuEfVdiJJBC40S3pyiQuQBwZIRWMo+IAwxTUxkWq44AL3IML3IIF1IQLvtyPCwgC" + . "hQsjAYoL44ILL7wCgQu8AoEL3IML4wAEdA9KC+sYg0X4CbJ9QBBSC9f9//8/Mki6LL89YgByQ2Aj6AWhgQ/dAN1dkC7YswExsg7HReBjACIbjUWO" + . "6FAnMAGRB6F4BgNQOBiLFaEAHUHhdEwk8BiNTdgFQQJqDEHlSH8VQSELPws/C8ABMRIAMQT0iwAAOokgSZ8LnwufC1+fC58LnwufCzY7ZMAJ5s+S" + . "CtI2NApXSXwYNQErTKB9bo1FqGhK9pBACVQP6zeBQ3Qgi1UAsItF8AHAjRyVsGoMNJYMMZYTZkCdLg2hIYBs8CAQgWzwAWsFA2Ynt/NyPrR60xPs" + . "AIN97AB5bYtNJuyPQY9BuDAQBCnQnapOvr4DpkHCBXWj4QKDwQJAQb4tAOtbzwYvzwZfVa8GrwalhCPrPqFCEyeNVb7WVui/E7O/E7IT6AF8AyYU" + . "qek1NbMqGJIGF3oFEIMiAEzpdlCymgXpZBIBCFEDbSJ1VqIDFK0DXK4AHQkfBhMGEB4G/rNiPRMGXB8GHwYfBmgC6a7r8gQZBpwZBggfBh8GHwah" + . "ZgJiAOlMHgY6GQYeDB8GHwYfBmYCZgDptuoCLxkG2CMwEwYKHwaHHwYfBmYCbgDpiB4GenYZBg0fBh8GHwZmAnKoAOkmHgYUGQYJHwbHHwYfBmYC" + . "dADpNXEXBmayI0wTBh9+0Ie0AH68fm/fBt8G1QZuAnVtAjGTBQ+3wNCf8JDnsAAIi1UMiVQkBACJBCTobAAAAADrK4N9DAB0GACLRQyLAI1IAgEB" + . "8AqLVQgPtxIAZokQ6w2LRRAJAFxQAQAciRCDRRAIAotFADYAZoWAwA+Fjfz//wJ6ghQKembHACIADHIAkMnDkJBVieUQU4PsJABBZolFANjHRfAS" + . "FQAACMdF+ACGAOstDwC3RdiD4A+JwgCLRfAB0A+2AABmD77Qi0X4ZhCJVEXoARxmwegCBAE4g0X4AYN9APgDfs3HRfQDBQE7MwKFHItF9A+Qt1xF" + . "6AqNidoQxwRt9IAg9AB5x7gRgT2LXfwBT5A=" static Code := false if ((A_PtrSize * 8) != 32) { Throw Exception("_LoadLib32Bit does not support " (A_PtrSize * 8) " bit AHK, please run using 32 bit AHK") @@ -101,21 +117,21 @@ class cJson ; Copyright (c) 2021 G33kDude, CloakerSmoker (CC-BY-4.0) ; https://creativecommons.org/licenses/by/4.0/ if (!Code) { - CompressedSize := VarSetCapacity(DecompressionBuffer, 3710, 0) + CompressedSize := VarSetCapacity(DecompressionBuffer, 3722, 0) if !DllCall("Crypt32\CryptStringToBinary", "Str", CodeBase64, "UInt", 0, "UInt", 1, "Ptr", &DecompressionBuffer, "UInt*", CompressedSize, "Ptr", 0, "Ptr", 0, "UInt") throw Exception("Failed to convert MCLib b64 to binary") - if !(pCode := DllCall("GlobalAlloc", "UInt", 0, "Ptr", 8408, "Ptr")) + if !(pCode := DllCall("GlobalAlloc", "UInt", 0, "Ptr", 8476, "Ptr")) throw Exception("Failed to reserve MCLib memory") - if (DllCall("ntdll\RtlDecompressBuffer", "UShort", 0x102, "Ptr", pCode, "UInt", 8408, "Ptr", &DecompressionBuffer, "UInt", CompressedSize, "UInt*", DecompressedSize, "UInt")) + if (DllCall("ntdll\RtlDecompressBuffer", "UShort", 0x102, "Ptr", pCode, "UInt", 8476, "Ptr", &DecompressionBuffer, "UInt", CompressedSize, "UInt*", DecompressedSize, "UInt")) throw Exception("Error calling RtlDecompressBuffer",, Format("0x{:08x}", r)) - for k, Offset in [47, 97, 635, 685, 966, 1016, 1061, 1111, 1156, 1206, 1453, 1503, 1840, 1851, 2496, 2507, 4831, 4886, 4907, 4918, 4929, 4982, 5037, 5058, 5069, 5080, 5129, 5181, 5202, 5213, 5224, 6494, 6505, 6680, 6691, 8265] { + for k, Offset in [17, 50, 100, 638, 688, 946, 973, 1023, 1045, 1072, 1122, 1144, 1171, 1221, 1447, 1497, 1832, 1843, 2488, 2499, 4823, 4878, 4892, 4937, 4948, 4959, 5012, 5067, 5081, 5126, 5137, 5148, 5197, 5249, 5270, 5281, 5292, 6562, 6573, 6748, 6759, 8333] { Old := NumGet(pCode + 0, Offset, "Ptr") NumPut(Old + pCode, pCode + 0, Offset, "Ptr") } - if !DllCall("VirtualProtect", "Ptr", pCode, "Ptr", 8408, "UInt", 0x40, "UInt*", OldProtect, "UInt") + if !DllCall("VirtualProtect", "Ptr", pCode, "Ptr", 8476, "UInt", 0x40, "UInt*", OldProtect, "UInt") Throw Exception("Failed to mark MCLib memory as executable") Exports := {} - for ExportName, ExportOffset in {"dumps": 0, "fnCastString": 1664, "fnGetObj": 1668, "loads": 1672, "objFalse": 5256, "objNull": 5260, "objTrue": 5264} { + for ExportName, ExportOffset in {"bBoolsAsInts": 0, "dumps": 4, "fnCastString": 1656, "fnGetObj": 1660, "loads": 1664, "objFalse": 5324, "objNull": 5328, "objTrue": 5332} { Exports[ExportName] := pCode + ExportOffset } Code := Exports @@ -124,55 +140,55 @@ class cJson } _LoadLib64Bit() { static CodeBase64 := "" - . "j7UAVUiJ5UiB7KAAAAAASIlNEEgAiVUYTIlFIEwAiU0oSItFEEgCiwAIRThIiwBIIDnCD4S8AJjHRQL8ABQA60dIg30AGAB0LYtF/EgAmEiNFeIa" - . "AABQRA+2BAFgGAFgjQBIAkiLVRhIiQAKZkEPvtBmiQgQ6w8ANiCLAI0EUAEBEIkQg0X8GgEFP6IAPwE+hMB1AqUCeolFwEiLTQIgAkONRcBJicjA" - . "SInB6JsgAKkCeUIZEGjHACIADmW4AQGv6b4GAADGRST7AAPWUDADB0AgCQBsdVsADAHHRfSFAmw1hBAYi0X0gExAweAFSAHQgEbQE4ALgAFQEIAL" - . "g8ABAwANAImUwIhF+4MARfQBgH37AHSaEwEZYwEUBS18sgNWQiyCDwhBuFsBMQaYQbh7gbgPYESJj1/Ix0XwgmCeBQIZhE0C8IlNyIN98AB+Wl4Z" - . "jCwPLBkXII8LDwK2gDrwAYTAD4Sw6AEAAIEgxjowAUPcjYkBNStnQAHIwA+Be0q4iHu4hHusHkUUHJlUFOn+Q1IJFenqwASNyic4widBgsdF7Myv" - . "0uzCnzMY8a/swK/DD6zzF8qvBTWwCDWwBDWU1x2eSSxMGusbxhTTxBPEEmsf2xI6vn0BD4CLQBiD+AF1YTCLgBAKEAqAGen/AmIw4eMEBg+FlOBD" - . "YwUAh4BFKHVpx0XorC6y6KImxha/Lq8u6KAuzeMHhuAHpS7peaQQow6qMKEO5KwO5KIGVb8OrbAO5KAO4wcVqQ4Dqg4qOKEO4KwO4KIG5RXbvw6v" - . "DuCgDuMHpeAHpg6CjScsTItNKEygBQFiCYtNOEiJTCQpoLdNMAEBIGE0Fvow///pWyQGYjQFdVYfZRbLORvBOTBJBQJEdXpCBY1VkAEESlHgtMdF" - . "3CIcRSMcKyHgB5iLRdygFAHAGEyNBKAaDRxBD7c6EPMb3CABpwfAmQ+3AABmhcB1pOmqlaJ12Gwp2GIhnhR/Ke1vDdhgKeMHXuAHq3WqIO41gBwf" - . "mawL8KALSI7Bv1gPjEtAL0zAXUTAfSNfwErYSIHE4fRdw26QBwDhAhkAVYD7ojmNSKwkgIL8jcDCAJVayKIPhWEAAA0UtQBI2MdACBIXYAmFogLR" - . "CT5Q0AnTAPFAdQGRGoP4iCB01S0BCnTCLQGIDXSvLQEJdJwtAeB7D4UpA3IJrwehB4jHRVCSEMdFWHQAwmByAIsFA/9wFrEwEZF9BfX+0ADHRCQi" - . "QFMCRCQ4ggCNVVEwMVQkMIAAUIEAKEWQASDQEQBBufEBQQViFrqiAonBQf/S8bKPiUVozxDPEM8QzxCHzxDPECcBfQ+EwoI4FWkBhdB3rF4Bg/gi" - . "CHQKuCAQ/+kWEQ+BDvGTYAfCHuj3/f8g/4XAdCIDAvUQfw8W7wzvDO8M7wzvDCcBOr0VCnQPCAkIUijHCzrDCy20AziyA3FOjQMsRWj9JDuykAF/" - . "Go8Njw2PDY8NY48NJwEsdR1vB2MH6ZrC0AuQjh3VDGoPnxALnBCwOQm2OYtVaEhoiVAIA60tygOTBVv4D4Vl4mg/BfQzoqRwAE74dABSQhAzw/v5" - . "M7Wz0QD/M41VwKbzM/D/Mwv/M+AZ2PAzcMeFrP8wAYECHxofGh8aHxofGh8asScBXQ+Esb2fNN5HUM0oJ8cwWycnxQ0xAuImrIuVcQxQDXBEJ50w" - . "GH8vDS8NLw0vDS8NLw1JJyTLbwdjB4PTFumqQFC+J3JdZQ3uDH8ivye5J3CNtyexygMUSA+FExLKYz8FyxBIiYXy5oUFlQnT51AIZwcIAOlZKgQP" - . "G3W0CzLvB/hcOA+F9q9j7wfVCnU09yABkgdxAolCCJJ9HwS0PN7H6gVUB28EYgRcbwRlBLKAbwT4L28EYgQvbwTlZQQ5bwT4Ym8E5BRvBAFjBMa2" - . "AOnyAgAASIuFBMAAAWAAD7cAZqCD+GZ1NACQoAGQQI1QAkiJlQEoZjjHAAwIpAJkBDSJEFTpqxCMbhSMCheMZFUQRnIURg0XRh0QRnQlFEYJFyPW" - . "AQ8jdQ88hYUKC4sZBDGAKwAAmMeFnIACAQDpOwMZgwENACPB4ASJwoUUI4IZCjEvfkINCTl/Di8HH4IdBw8B0IPoMjCJJ+mugg2LIEB+oj8NCUZ/" - . "LBoqNwkVVOtcjQ9gTxRmXBRXEUoUCrj/AADpZQhFl1ODglABg72BAQMAD464/v//SINRQhAC6zrDDyXJDxCoSI1Kxw8IRnxIQHwKjQMmEpBcIg+F" - . "kKL7gBaLhciCBUhGDhgpyEgCLcMFQAhIWIPoBIt51S64Qn6HIgfPYi10Ls58D44EDAVPCjkPj/UEvUGSmIFBAxtBIgAeFMUCmEjHQEBAUBl1IsMN" - . "50FJ2KuKBjB1ITjTCk1+IXAOMA+OidACOX8IdutMhihQCEiJANBIweACSAHQwEgBwEmJwGkMIDUUi5VjDAqgB0gPv1DATAHAYA/QBQiJSwAITmYf" - . "bg5+jiVMAxAGAACQ7QMuD4UG5tgbSD5mD+/A8hhIDyrBFGEC8g8RK+BABjEFwDOUxDPrbCSLlWEBidDAGwHQ2AHAiUID+BuYgHcCDBvgC+AA0uAA" - . "IghmDyggyPIPXspmDhBAYAjyD1jBbBCsIBeZD0iOaso/wwJldC4FcEUPhfgbm+EOYwUUg6dE/yMFAMaFkxNUSiEjAwGVDusybQYrjHUfrgk7Wi9+" - . "E09DKQRD6gNha4yktOs6bIuVYQGGN0E6UyE3RA8hPGEGvw6gDqDHhYgRBEXHhYSlDhyLlZehAkhGwQGDAgQBi8IAQjtiDHzWgL1CH3TWKqlCwC/J" - . "oEaNoQYgRikqROsoJwVIAzUPKrHiC/IPWW1J+R0k2DqCi1JESJhID685OOTrODoDBXW/BrAGoQNLvwa6Bgy3IgMAU1NRQQ98+HQPhbeSE4AZlRNS" - . "i7IAkAmNFX0BEAMPtgQQZg++o0EKmAM5wnTkHvv/LS+YZqEE8BYWBSsUBYTAzHWXFwrhghXmgwTXSIwF1BIBw02LBcbRAFCJwf/S0wyDf4T4iGYP" - . "hQFUx0V8ogzQTItFfFIHurACfwyNewwzfwx3DEV8AbUEVm60BBAMoBwMBB4M8lvUBBMM5IIBFgzBLy74UG4PhaUSDHgSDEnoi0V4Ugf+oR0fDBMM" - . "sgcSDOt07wvlC3jgC62DBLWEBOALo+wLVadwleQLQ+oLNeoL6wVSBxBIgcQwYA9dw5AfBwCkJA8ADwACACJVbgBrbm93bl9PYoBqZWN0XwAihQAA" - . "dHJ1ZQBmYWyAc2UAbnVsbJcCAFZhbHVlXwAwADEyMzQ1Njc4gDlBQkNERUbzBABVSInlSIPEgABIiU0QSIlVGIBMiUUgx0X8A04GRcBMEVYoSI1N" - . "GABIjVX8SIlUJCAox0QkIPEBQbkhgURJici60wJNEED/0EjHReDSAMcUReh0APC0BCBIiRxF4OAAU4SiBUyLUKAwi0X8SBAFQNMCKEQkOIUAMIIA" - . "jVV+4EYHgIhAB6IHYhVxkU0wEEH/0tEFMyEJdX4eogaBksIYYAbkANEY62JgpwIDdVO1AQEMgLBIOdB9QGnUArrwGqJ/Qhs50H/gTkXxD0zYSXCD" - . "Uwfo0zADhQjAdA+gAdhIi1UFUANSMAYQkEiD7GaAGB7zFexg8RXkFWajshEQBYlF+KAWFIAEAItNGInKuM3MBMzMME7CSMHoICCJwsHqAyZZKcEA" - . "icqJ0IPAMIMgbfwBicIxE5hmUIlURcBRBMKKA8EA6AOJRRiDfRj4AHWpIAsQArACUI6xjptgChgMAbCs4ArEYAkpxfQKcP8gAOmuQlGRG0RQGGMF" - . "weAFcQWJNEXQ8QBjEAbRAUAwwEg5wg+NmpAesA4XoBpgAaABQAAFRfDGAEXvAEiDffAABHkIoAABSPdd8AfwEEEQQAnwSLpnZoEDAEiJyEj36oKa" - . "BPgCQCZJwfg/TAwpwMELyZtIKcFI9bYR6LIR6LMRAJf/BPQEkEjB+T9gA0gpsQsC8OIIdYCAfe8ADHQQUQQzBMdERZAaLREokPIANBSJRcAYxkXn" - . "UEdyLotF4IuhQrGwReEBD7cQJAGTsepAIwHIg0d1b68CwABmhcB1HnkB8AJ1dQEGUAYBEIFfA9ABdAYiXwNyAQqDReABBOlmcCuQgH3nAEgPhPbF" - . "N4tVsAsQsrjRN+kBUAAKGzgBGwyMyrMCpRrIxkXf1XAO2HMO2OYGyHUOIgEffw6uAnUOdwEXC3SzAHUGxkXfAes6AItF2EiYSI0UAABIi0XISAHQ" - . "AA+3AGaFwHQiBQm4GAdcCoNF2AEA6Wb///+QgH0Q3wB0EgA8IEiLAFXQSIkQuAEAAAAA6yCDRfwBQItF/Ehj0AA2EABIi0AgSDnCD0CMO/3//7gA" - . "QAAASIPEcF3DVUhAieVIgeyQARCJAE0QSIlVGEjHREXgAiDHRegEB/AVAQdmABcFAYcQ8g+AEADyDxFF6AAaKsAEIsgEB9ACB41FYOBIiUXAAA4B" - . "jEgAiwXU5v//SIugAEyLUDAADcYBDRDHRCRAAzREJDgFAgSLAD6JVCQwSKiNVcABBCiADCABIFRBuYEPQYJbugIViYDBQf/SSIHEAVwYXcOQBgCC" - . "Z4PsQGEFZkyJRSAAXABkxzhF/BQCMgGGACBF8ABIg33wAA+Jm4GCCk3wSLpnZgMAAEiJyEj36kiJANBIwfgCSYnIQEnB+D9MKQBJwgmCCeACAMRI" - . "AcBIgCnBSInKuDCAHwAp0INt/AGJwoEBuJhmiVRFwJgokEjB+T8AHEgpgNY5hUKFesBywRBDEMdEQEXALQDpgLsmiRDQg8AwOyZ1gMckRexBXOtQ" - . "wAMYAFx0NgFnQhOBGQEAFuxhggJMjQQCwqjAVo0GSIACwXIKQQ+3ECBmiRDrD8GniwAIjVABAQKJEINFTOwBFBIGuXWOxalAW0d4xHcgyXcDJhxP" - . "H2aAxwAiAOkIBEJ9MYkf6fQDQ4JBGoP4KCJ1ZsMQGdIQXABbzi+cHJCDF4ocfIocXFO/HMoF6R1QDglKDggHXw5fDsYFYgDpqgLtTw6WYwJEDgxf" - . "Dl8OxgVQZgDpN1AOI0oOCodfDl8OxgVuAOnEAJDtTQ6wYwJEDg1fDl8OxgVQcgDpUVAOPUoOCYdfDl8OxgV0AOneQ6ONSg7KxKVDDh9+DYcBuH5+" - . "fP8P8A/TBXXQBVlDDQ+34ZUh2xiAnYmoweiMQZE0gwkejwkLwADABhJRjkiDRRADIZQiGIXAD4X8+6uA0LgSIq8SkICRIMnNF+aRwKilzYkAzI0F" - . "jR7zoAugqMDOwqcyD7egRRCD4A8htYuAq4GgnLYAZg++0JZZwugRAmbB6AQRBNF7AIN9/AN+yMdFIvhgPADrP7MKJYsARfhImEQPt0Rj4HduC0SJ" - . "wr8P4FZtwvjQBPgAebslVVUM" + . "grUCAAwAVUiJ5UiBBOyQAFBIiU0QSACJVRhMiUUgSCCLRRBIiwAIBTsCGwBkiwBIOcIPRIS8AJTHRfwBbusAR0iDfRgAdC0Ai0X8SJhIjRVCMwBO" + . "RA+2BABmRQIYAWCNSAJIi1UAGEiJCmZBD75A0GaJEOsPADYgIIsAjVABAQiJEBCDRfwBBT/zGgBCAAE+hMB1pQJ9iWBFwEiLTQCJAEONAEXASYnI" + . "SInBWOjsIACOAnkZEGjHKAAiAA5luAGv6b3ABgAAxkX7AMuBbCRQMIMDQCAAbHVboQAMAcdF9AJsNYQQEBiLRfSATMHgBWhIAdCARtCAC4ABUGIQ" + . "gAuDwAEADQCJlADAiEX7g0X0AUCAffsAdBMBGWNTARQFLXyyA1Ysgg8ICEG4WwExBkG4exMBuA9gRImPX8dF8FmCYJ0FAhmETfCJTchAg33wAH5e" + . "GYwsSw8smQsgjwsPtoA68AABhMAPhOgBAJYAgSDGOjABQ42JATVbK2dAAcjAD4F7uIh7uCmEe/0eRRQcVBTp/rNDUgkV6erABMonOMInUUGCx0Xs" + . "zK/swp+E2hjxr+zAr8MPRMAPyK/VBTWwCDWwBDUoBjWWSXIsTBrrG8YUxBPEErwaH9sSOr59AQ+LQBhwg/gBdWEwgBAKEFsyHUBT/gJiMOMEBg+c" + . "hZPgQ2MFQYgIF6ABocBsacdF6Gwv6GInbhEABH8vbS/oYC/jB9GyFmcv6XJkEWMPbEAD1WQP5GwP5GIHmgAEfw+tbQ/kYA/jB1ppD/bqHqoAZw/g" + . "bA/gYgckfw9NcA/gYA/jB+QVaA96B2YPwABKNBj6///pRlvEA0I0BXUfUwVtRaE5MEkFAnV6QgWNFFWQAQScwLTHRdwVwhlFwxkr4AeYi0WC3EAS" + . "AcBMjQRAGKGtGUEPtxCTGdwgAQOnB6CZD7cAZoXAUHWk6aqCddgMJ9jZAh/wFB8nbw3YACfjB+6w4AeLdaogh4Ac/5isC47woAsojqG/D4xMQC81" + . "LMBdJMB9P8Aq2EiB4sSh9F3DkAkA7fnv+4SB7OI5jawkgIL8pI3AYgCVyPIHhWEAhSANFLUASMdACDIX7YAJhaIC8QlQ8AnTAAFBg3UBsRqD+CB0" + . "1S0BiAp0wi0BDXSvLQEICXScLQF7D4UpjgNyCa8HoQfHRVCyECjHRVh0AGByAIsFRAP/kBaLAEyifQWE9f7QAMdEJEBTAghEJDiCAI1VMEhQiVQk" + . "MIAAUIEAKEWQASDQEQBBufEBQQWCFrqiAonBQf/S9eAXOEBcaM8QzxDPEM8Qh88QzxAnAX0PhMKiOBVpAYXgd6xeAYP4Igh0CrggEP/pZhEPgQ4B" + . "lGAHwh7o9/3/oP+FwHQiAwJFAQJ/7wzvDO8M7wzvDO8MJAE6eRUKxBAPCAgIUijHCzqbwwu0A4iyA6Ayi40DLPRFaEQ7AmANfxqPDY8Nj48Njw2P" + . "DScBLHUdbwdpYwfpwtALkI4d1Qy6Lg+fEJwQsDkJtjmLVaBoSIlQCBOtfcoD4ZMFWw+FZfJvPwX0MzuypHAA+HQAUkIQM8P7zfkztdEA/zONVdCm" + . "8zMu8P8z/zPgGdjwM3DH/IWsMAGBAh8aHxofGh8axx8aHxonAV0PhMG9nzQ23kdQKCfHUFsnJxUOszEC4iaLlXEMUA1wRCf+7TAYLw0vDS8NLw0v" + . "DS8NLUknJG8HYweD0xbpqstAUL4nXWUNPg1/Ir8nNbkncLcnAcoDFEgPhQ4TIso/BcsQSImFoDl4F4uV0gCwBWcHCAAo6VkEDxt1tAuCDOHvB1wP" + . "hfavY+8H1QrcdTQgAZIHcQKJQgiyfXsfBLQ8x+oFVAdvBGIEXMtvBGUEgG8E+C9vBGIEli9vBGUEOW8E+GJvBAPkFJUCz7YAiwBIjVACSIsAhcAA" + . "AABIiRAY6fICADgEcIsADwC3AGaD+GZ1NE0ASKABSAGwiZUBKGZYxwAMCKQMjKsQjG5VFIwKF0ZkEEZyFEYNVRdGHRBGdBRGCRcj1sIBDyN1D4WF" + . "CguLGYMEMYArAADHhZyAAjkBAOk7AxkBDQAjweA4BInChRSCGQoxL37iQg0JOX8vBx+CHQcPIAHQg+gwiSfpriOCDYsgQH4/DQlGf0osGhU3CRXr" + . "XI0PYBVPFGZcFFdKFAq4/1EAAOm1CJdTg4JQAQSDvYEBAw+OuP4Q//9Ig0IQAus6hcMPdckPEEiNSscPqghGfEhAfI0DJhKQXCAiD4WQ+4AWi4WK" + . "yIIFSEYOKchIAi2BwwVACEiD6ASLeSXVLrhCftcHz2ItdEIuznwPjgwFTwo50A+P9QRBkpiBQQMbi0EiAB4UxQJIx0BAQHlQGXUiww1BSdirigYw" + . "HnUhONMKTX5wDjAPjoKJ0AI5f3brTIYoAFAISInQSMHgAAJIAdBIAcBJTInAaQwgNYuVYwwKAaAHSA+/wEwBwLVgD9AFCIkACE5mH24OBH6OJUxT" + . "BgAAkGHtAy4PhebYG0g+ZoAP78DySA8qwRSxYQLyDxHgQAYxBcAzQpTEM+tsi5VhAYmC0MAbAdABwIlCA734G5iAdwIM4AvgANLgAAEiCGYPKMjy" + . "D14CymYOEEAI8g9YlsFsEKwgFw9IjmrKPwnDAmV0LgVFD4X4Nxub4Q5jBRSnRP8jBQCoxoWTE1QhIwMBlQ7E6zJtBit1H64JO1pYL34TT0MEQzpi" + . "a4xhpLTrOouVYQGGN0F7OlMhN0QhPGEGvw6gDqCIx4WIBEXHhYSlDrgci5WhAkhGwQGDAgQUAYvCADtiDHzWgLK9Qh90KqlCwC/JoEZOjaEGIEYq" + . "ROsoJwVIiQM1DyryBfIPWb0kFfkdJNg6i1JESJhIJA+vOTjrODoDBXVfvwawBqEDvwa6Bgy3IgMKAFNToQ98+HQPhcrfkhOAlRNSi7IAkAkIjRXN" + . "EAMPtgQQGGYPvkEKmAM5wnR95B5LWgWdZqEE8BYWBXsBFAWEwHWXD7YFAMLm//+EwHQdn8kKqFLSPxURZIUVDgMHGVdLBfwiNkNQiwXuodEAicH/" + . "0lMPq/+GIPhmD4XTUQ9FfKEiD0yLRXzSCeKwAhv/DvsOW/889w5FfAEttQSWtASQDqCQDtjlt58OTGGeDgSjBpgO8lQHLZMO5IIBlg7BLzP4bigP" + . "haWSDngSBkmLdEV40gn+oSKfDpMOB9mSDut0bw5lDnhgDoME1rWEBGAOo+wLVad15AtKQ+oLNeoL6wVSB0iIgcQwYA9dw5AHAA+kKQ8ADwACACJV" + . "bmsAbm93bl9PYmpAZWN0XwAihQB0AHJ1ZQBmYWxzQGUAbnVsbJcCVgBhbHVlXwAwMQAyMzQ1Njc4OUBBQkNERUbzBFUASInlSIPEgEgAiU0QSIlV" + . "GExAiUUgx0X8A1NFA8BREVsoSI1NGEgAjVX8SIlUJCiQx0QkIPEBQbkxLBBJici60wJNEP8g0EjHReDSAMdFCuh0APC0BCBIiUUO4OAAU4miBUyL" + . "UDBQi0X8SBAFQNMCRBQkOIUAMIIAjVXgP0YHwFdAB6IHYhVxlk0QGEH/0tEFMyEJdR4/ogaBl8IYYAbkANEY62AxpwIDdVO1AQEMgEhYOdB9QG7U" + . "ArrwGn9RQhs50H/gU0XxD9gWSXCIUwfoQTaFwHRCD6AB2EiLVVADUoEwBhCQSIPsgBge2fMV7GDxFeQVZrIREAUoiUX4oBYUgASLTQAYicq4zczM" + . "zAEwU8JIweggicIIweoDJl4pwYnKAInQg8Awg238CAGJwjETmGaJVBRFwFEEwooDwegDAIlFGIN9GAB1/qkgCxACsAJQk7GTYAoYDGYBsLHgCsRg" + . "CSn0CnAx/yAA6a7SSZEbUBgRYwXB4AVxBYlF0A3xAGMQBtEBQDBIOfDCD42akB6wDqAaYAEFoAFAAAVF8MZF7wAASIN98AB5CMGgAAFI913w8BBB" + . "EEFACfBIumdmAwBIIInISPfqgp/4AgFAJknB+D9MKcBDwQvJoEgpwUi2Eeg9shHosxEAnP8E9ARIwaT5P2ADSCmxC/DiCAB1gIB97wB0EINRBDME" + . "x0RFkC0RKAaQ8gA0FIlFwMZFxudQR3Iui0XgoUKxteJF4QEPtxAkAbHvQCMkAciDR3VvrwIAZnCFwHUeeQHwAnUBBp1QBgEQhl8D0AF0Il8DAXIB" + . "CoNF4AHpZgFwK5CAfecAD4SS9sU3i1WwCxC40Tcs6QFQAAobOAEbjMoDswKlGsjGRd8AlrMQx0XYAAAAi0XYAEiYSI0UAEiLAEXISAHQD7cQBQSQ" + . "DAFIGEgByA+AtwBmOcJ1bw+owABmhcB1HgkuAF4BBS4GxkXfAes6CRNqdCITanQKg0UA2AHpZv///5BAgH3fAHQSAB4gAEiLVdBIiRC4AgEAsOsg" + . "g0X8AUCLRfxIY9AAGxAASItAIEg5wg9AjDv9//+4AdJIAIPEcF3DVUiJIOVIgeyQARCJTQAQSIlVGEjHRaLgAiDHRegEB/CBAwpmgAsFgUMQ8g8Q" + . "QADyDxFF6AANwBUEEciEA9CCA41F4DBIiUXAAAcBRkiLAAWE5v//SIsAUEyLUDCABnaBBseIRCRAAxpEJDgCBAKLAD6JVCQwSI1UVcABBCiADCAB" + . "IEEquYEPQYJbugIVicFAQf/SSIHEAVxdjMOQBgCCZ4PsQAVmMEyJRSAAXABkx0Uc/BQCMgGGACBF8EiAg33wAA+Jm4IKQE3wSLpnZgMASACJyEj3" + . "6kiJ0ABIwfgCSYnISaDB+D9MKYAkwsIEBOACAGJIAcBIKUDBSInKuDDADymA0INt/AGJwgFcQJhmiVRFwFgUSMjB+T8ADkgpQGtFIRyFesBywRBD" + . "EMdERSDALQDpgLsmidAIg8AwOyZ1gMdFEuxBXOtQwAMYAHSuNgFnQhOBGQEAFuyCAjBMjQQCwqjAVo1IE4ACwXIKQQDKZokQBOsPwaeLAI1QAYEB" + . "AokQg0XsARQStYfGjsWpQEd4xHcgyXcFAyYcTx9mxwAiABjpCARCfYkf6fQDg0OCQRqD+CJ1ZsMQshnSEFwA7hdcDpDDC3VKDnxKDlxfDl8OyAXp" + . "6h1QDglKDghfDl8OxgWgYgDpqgJPDpZjAh1EDgxfDl8OxgVmAOnqN1AOI0oOCl8OXw7GBbBuAOnEAJBNDrBjAh1EDg1fDl8OxgVyAOnqUVAOPUoO" + . "CV8OXw7GBbB0AOneQ6NKDsrEpRFDDh9+DYcBfn58N/8P8A/TBXXQBUMND7cL4ZUh2xiAnYnB6Ix1QZE0gwkejwnAAMAGEmFRjkiDRRAhlCIYhWDA" + . "D4X8+4DQuBIi9a8SkMBIIOlm9khgVNVmwokAZo0FjfPQBVBUA2Bn4lMyD7dFEIM04A+RWovAVVBOtgBQZg++0JZZ6BECZhjB6AQRBNF7g338QAN+" + . "yMdF+GA8AATrP7MKJYtF+EhgmEQPt0Tgd24LREyJwr8P4FZt+NAE+BgAebslVVUM" static Code := false if ((A_PtrSize * 8) != 64) { Throw Exception("_LoadLib64Bit does not support " (A_PtrSize * 8) " bit AHK, please run using 64 bit AHK") @@ -181,17 +197,17 @@ class cJson ; Copyright (c) 2021 G33kDude, CloakerSmoker (CC-BY-4.0) ; https://creativecommons.org/licenses/by/4.0/ if (!Code) { - CompressedSize := VarSetCapacity(DecompressionBuffer, 4050, 0) + CompressedSize := VarSetCapacity(DecompressionBuffer, 4080, 0) if !DllCall("Crypt32\CryptStringToBinary", "Str", CodeBase64, "UInt", 0, "UInt", 1, "Ptr", &DecompressionBuffer, "UInt*", CompressedSize, "Ptr", 0, "Ptr", 0, "UInt") throw Exception("Failed to convert MCLib b64 to binary") - if !(pCode := DllCall("GlobalAlloc", "UInt", 0, "Ptr", 10368, "Ptr")) + if !(pCode := DllCall("GlobalAlloc", "UInt", 0, "Ptr", 10464, "Ptr")) throw Exception("Failed to reserve MCLib memory") - if (DllCall("ntdll\RtlDecompressBuffer", "UShort", 0x102, "Ptr", pCode, "UInt", 10368, "Ptr", &DecompressionBuffer, "UInt", CompressedSize, "UInt*", DecompressedSize, "UInt")) + if (DllCall("ntdll\RtlDecompressBuffer", "UShort", 0x102, "Ptr", pCode, "UInt", 10464, "Ptr", &DecompressionBuffer, "UInt", CompressedSize, "UInt*", DecompressedSize, "UInt")) throw Exception("Error calling RtlDecompressBuffer",, Format("0x{:08x}", r)) - if !DllCall("VirtualProtect", "Ptr", pCode, "Ptr", 10368, "UInt", 0x40, "UInt*", OldProtect, "UInt") + if !DllCall("VirtualProtect", "Ptr", pCode, "Ptr", 10464, "UInt", 0x40, "UInt*", OldProtect, "UInt") Throw Exception("Failed to mark MCLib memory as executable") Exports := {} - for ExportName, ExportOffset in {"dumps": 0, "fnCastString": 1984, "fnGetObj": 2000, "loads": 2016, "objFalse": 6912, "objNull": 6928, "objTrue": 6944} { + for ExportName, ExportOffset in {"bBoolsAsInts": 0, "dumps": 16, "fnCastString": 2000, "fnGetObj": 2016, "loads": 2032, "objFalse": 7008, "objNull": 7024, "objTrue": 7040} { Exports[ExportName] := pCode + ExportOffset } Code := Exports @@ -208,11 +224,9 @@ class cJson if (!IsObject(obj)) throw Exception("Input must be object") size := 0 - DllCall(this.lib.dumps, "Ptr", &obj, "Ptr", 0, "Int*", size - , "Ptr", &this.True, "Ptr", &this.False, "Ptr", &this.Null, "CDecl Ptr") + DllCall(this.lib.dumps, "Ptr", &obj, "Ptr", 0, "Int*", size, "CDecl Ptr") VarSetCapacity(buf, size*2+2, 0) - DllCall(this.lib.dumps, "Ptr", &obj, "Ptr*", &buf, "Int*", size - , "Ptr", &this.True, "Ptr", &this.False, "Ptr", &this.Null, "CDecl Ptr") + DllCall(this.lib.dumps, "Ptr", &obj, "Ptr*", &buf, "Int*", size, "CDecl Ptr") return StrGet(&buf, size, "UTF-16") } diff --git a/Src/cJson.ahk b/Src/cJson.ahk index cda50dc..dbe10e0 100644 --- a/Src/cJson.ahk +++ b/Src/cJson.ahk @@ -1,7 +1,7 @@  class cJson { - static version := "0.3.0-git-dev" + static version := "0.3.1-git-dev" BoolsAsInts[] {