diff --git a/microscript/ILibDuktape_Polyfills.c b/microscript/ILibDuktape_Polyfills.c index 395917d..09a8bb1 100644 --- a/microscript/ILibDuktape_Polyfills.c +++ b/microscript/ILibDuktape_Polyfills.c @@ -2195,7 +2195,7 @@ void ILibDuktape_Polyfills_JS_Init(duk_context *ctx) #ifdef WIN32 // Adding win-registry, since it is very useful for windows... Refer to /modules/win-registry.js to see a human readable version - duk_peval_string_noresult(ctx, "addCompressedModule('win-registry', Buffer.from('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', 'base64'));"); + duk_peval_string_noresult(ctx, "addCompressedModule('win-registry', Buffer.from('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', 'base64'));"); // Adding PE_Parser, since it is very userful for windows.. Refer to /modules/PE_Parser.js to see a human readable version duk_peval_string_noresult(ctx, "addCompressedModule('PE_Parser', Buffer.from('eJytV0tz2kgQvlPFf+j1RSjL8rJCEVM+EOxUqPWCC4FTOQ7SCKYsZrSjkTGbyn/fHkkIiad2KzogNNPzdffXL6n5oVoZimAr2XKloNNq92DEFfVhKGQgJFFM8GqlWnliDuUhdSHiLpWgVhQGAXHwlu7U4YXKEKWh02hBTQvcpFs3Zr9a2YoI1mQLXCiIQooILASP+RTou0MDBYyDI9aBzwh3KGyYWsVaUoxGtfI9RRALRVCYoHiAT15eDIjS1gJeK6WCu2Zzs9k0SGxpQ8hl00/kwubTaPg4th//QGv1iTn3aRiCpH9HTKKbiy2QAI1xyAJN9MkGhASylBT3lNDGbiRTjC/rEApPbYik1YrLQiXZIlIFnnamob95AWSKcLgZ2DCyb+DzwB7Z9Wrl22j2dTKfwbfBdDoYz0aPNkymMJyMH0az0WSMT19gMP4Of47GD3WgyBJqoe+B1NajiUwzSF2ky6a0oN4TiTlhQB3mMQed4suILCksxRuVHH2BgMo1C3UUQzTOrVZ8tmYqToLw2CNU8qGpyWs2YUpVJDnygmrW8QEgCxGpJM70nTqR0lRWK17EnXg/IDKkNdx6JmplVis/kri9EYlhUC/Eh3v48bO/X/VCXEkjVDO80DDzmy5uemFDBJTbW+7sgOtgyEVBcrFVNJxS4ubWXBF+xRX07x4+R55HZYP4vnBqXSt/lKvTUp2ClAhSsf4uF2OCiBuT9zCxYRVvJ3uZOYn9Ev/F9ntufW9WHVp16Fp42yliHtSy7fjUHAu33X16rLXMhhI2Jhpf1tpd/TAPMLJDgnSb8Ns9GB8H1oNhJkAp7fpSKyk2UDMiLqkjlpz9oyuBcSK3kMQ1I/LnKdfGs9Ke7ZiMHds9NHzKlzpkx47ddtCxbsvMu58dC3VV1xDIynlurOi7kbrbsj628Lrgsm5LBJ4f45aU91LfQuxGziqnsEC3VaT7WIeDxIPRthzjTtN120FO1X5bX0nCNxKSkS7jvdc1+kWZBWp97R/C9rpdK8HtWmVwUfoKrks9EvkqxpzzVy42/DKobgwe49S9AJzlS3oYawR7APETQm3MNAQ6zW8ny/mzZweuGzfA+wuZA7/jeDtZkTu8QvJmRXxY62eN3Fl5Ke0z1Djvs6cSia/NL/aiaD19GRzQX+BpuKLOqx2tn8V1Ziz86VpFnjWzE28oXB2bva2F45Z56syI42wkvu4fD0SR88d7J4/PeWmAdsfM3N6V6bHo9bZ4tmpbn/NVm3bDYp5nkThj46eO2T9ZQUMqlR7FRNGZHo77ND7rba8kVFpR53Buy5qkccrmD6KeBpVvxFZEqrJlqsE+dUu1v84uPkn3+1/xabfKsno9QJb1awJk/ZdAlw6Q1ft1AWq3D6N9bpAUpXYTNx0tgPoj/XaKbSx+R53suvFfZMmcOzBQ15mea12s6MvTqOj9ENXrUZakStZR9FvG5VQ47hv5yUIi/OWKObqHOnsEbP3cx28Xnqxiy9KP+oTHZKgAz8itucfU/X7lHo2iQo4cjhqUj4cM3rPxcsWXHFoqmbP5ULnGLeRGy7xkzjFgbN3xckljMSv2nl21/ISa/YviAvMFX4sugzxsnmJVCHbC82Jeoe+OL0KaOp+bcfobKc0ovRq/Fa2FG/m0gR9xQipde/GHUZyD1cq/OIedMw==', 'base64'));"); @@ -2240,9 +2240,9 @@ void ILibDuktape_Polyfills_JS_Init(duk_context *ctx) duk_peval_string_noresult(ctx, "addCompressedModule('linux-cpuflags', Buffer.from('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', 'base64'));"); duk_peval_string_noresult(ctx, "addCompressedModule('linux-acpi', Buffer.from('eJx9VVFvm0gQfkfiP8z5Bago5Ny3WHlwHJ8OXWWfQnJV1VbVGga8F7zL7S6xLSv//WYBO7h1ui8G9ttvvvlmZh2/c52ZrPeKl2sD46vxFSTCYAUzqWqpmOFSuI7rfOQZCo05NCJHBWaNMK1ZRj/9Tgj/oNKEhnF0Bb4FjPqtUTBxnb1sYMP2IKSBRiMxcA0FrxBwl2FtgAvI5KauOBMZwpabdRul54hc53PPIFeGEZgRvKa3YggDZqxaoLU2pr6O4+12G7FWaSRVGVcdTscfk9l8kc7fk1p74lFUqDUo/K/hitJc7YHVJCZjK5JYsS1IBaxUSHtGWrFbxQ0XZQhaFmbLFLpOzrVRfNWYM5+O0ijfIYCcYgJG0xSSdAS30zRJQ9f5lDz8uXx8gE/T+/vp4iGZp7C8h9lycZc8JMsFvf0B08Vn+CtZ3IWA5BJFwV2trHqSyK2DmJNdKeJZ+EJ2cnSNGS94RkmJsmElQimfUQnKBWpUG65tFTWJy12n4htu2ibQP2dEQd7F1jzXKRqRWRRUXDS77yyruR+4zqErha119H25+hczk9zBDXgt7L2FeZMO0zvve/iMwmgviOb2YU7xDaooY1XlW54QjGow6A7ZFWUKmcEW7XstZdBzdhGjHAsu8G8lKT2z71lGuqmpwakSoxAO8MyqBq9fVRRWAe6oXjrdi8z34memYtWI2EbIIy2zJzReAC/HYLxomaMTb6/x8Cq18yGjAglDLpyCCcvU5zGTQmDrpX+Ampn1NbwRO4QNGpYzw67PDIWXEE718AdODZSc1FAYz1J4wzPZuhFPwTn6h8N2kSpYVSRGTy5vNqumKKhnbkA0VfUGyMgnaibCtFEjI1MaEVH6QaSplamkX8WpoMPFC7pl2rNRhaKk6+LmBn4PqJZtYo3Qa16YPpcJvPySoUZ88gP4jVrTsxSvym/bh6hQcnMCy9oPLlNiRZN2gCHwIs4Oo2+z5/Yq6eDBz7ALptvVmU7iuoNf+LejV3DRKrtaUxSaCDf8OCe28QXbUN93jF+uvtF47Wv6MEy73xzTprfGHbUqdWr+SP8TH8a3cz8Ij9Nz4dCHtw69Ds5w/WDVGebsZThKNi1rBn3qEUTzYq+ljcybCmmO7URawwRuz66oyf8tuBKP', 'base64'));"); #endif - char *_servicemanager = ILibMemory_Allocate(27633, 0, NULL, NULL); - memcpy_s(_servicemanager + 0, 27632, "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", 16000); - memcpy_s(_servicemanager + 16000, 11632, "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", 11632); + char *_servicemanager = ILibMemory_Allocate(27809, 0, NULL, NULL); + memcpy_s(_servicemanager + 0, 27808, "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", 16000); + memcpy_s(_servicemanager + 16000, 11808, "9EykiWVwDxncuVR3EOnGeDSybFfrIfwMiNSLH86gToB7hvGk/cO+aE7GRZbxIywO7WnIwk2ohzKMU+8NdbMg6yE4xykOPw5b5HU7SIEiIeghlctoU8Nga2ii0WOiRfhmarj7GFGqNZriVjTU1U3FnsIj+GXr/YELaFG1cL9uLKOn2aEOSKk/WXzJiHLDsy0f2VbfVobbpEnpxhEznvNqVGs4UkzK36kN8GTCNseGETNZRzAk5jjYUYo7tZsctj1OSXjcEeooMUIExR9IhrU5epI0r8HgCWJVAEbCBjS7oAthUAkzePWwHNRRF9zWKkX+jF56jpZRNTyRySS0IOxGtjZSbI2SmsPAINEDfKgyCY5kdfMcbF1DKXl2RgZc/vhkwbNew6EpZ1DvayZMYeBCJuHhOMBTqQcyyH7heJR3MfyUTbRwVB13RWZxjeAu/4YaSBzwfCQ7ahLAio8EK51TiXSsHteypOEonSBqgk8FQZKCFnaJipG6/v4HSVXSJTnYwYJc/QfWTVcJtUalblBWw2cLT5ukSY6pEJ7Ck5kfAWTa2TkoNbCgc7UzxdaJw0I+J46FWAROLhAfq4ne017TY9AhBypoZ4CVEeIVQZrA+Lqflg5HmtlpHNDjzvVC5b6CBdnsb6Um0xJoRaUzxQDhUhG1BM22LTjhrREveq/mfFhcCT1nKm9Ez0X6S9NNvx6dUKmQ2V+3tGo8zHUVqAxXTNCzXalub0syOrP96MDbIAHwTXBvZPmVFtKoPHSuFoLzR/lgzdqnoNbWQQ2rj11riBVRVV4q3inDd0eApN14TSAE0QqBCNPHWDHmAqfVqW/uN7dSo2CVNLilO+SShvRNSnl24GcjSl1MKT5nDFIU6buIfKTmURLwWbWC/iYflaIINn5VRL5pqSL+L+XMAFPOADQsh8P3jkDHgMSMyXm3SXiXdIUwL839enaYilRVK+1o7r7iuCR7YQlajFdGRHNA4qxAONhRU3DurNYkqcDrZbjc8hkhIprhj4+wRHc1u6N/kaqlGFQ8bZAsm+ObG1ggEPWiEG6rtKXZ2g0oirK6S67FK5Cf8QCMigOKh6/PR7RhmTd6v4YJr4iqRUk/l2Z0kX5FInjK5sfkahNYmzlY3xBwXyqV0ig8MeRxo+jG2NaOeRy5DbIMEhfdgRxvQ72IoiMN85swU0e09Bd6gUU5eh2Rb91XL4gQUq1uoqGO18OOhhHVc+QQKCoPdRJBZivod/RqaT1YNi5hCFZ+dzDNWDeFTuO63jhpHbYlw8ranpHdqkhk9LzMact0V2r7zUI1PQy4fa/Zj5VPJReLqqTWV+NbJwOVEoJg86RsUvuvnqb31XS9r9YW1v1g86l6X325qO77mq+l630tgfTm7X3N672c9xgX15NYcLWSafQ55zWPz1qN5vV2vbV/etxkQHUkfOiHIx07/lmrJEKFYelNsIzS3CPN1q3ea1RD76yxLRFFUhAksxCIxFdYHtZWsTRMotqVpXUMgsoqfY1WoglBOkNmBWqlBkC9TDV9BgFJO3niLvvBevTEeeqbOLf9fZ5r7kzQ6oIVplMCZfYebzqUuBJLuu5zeo4rG4O6ULMf9U+l6y4Z2Tl8kcWBAOIFtRa0We3etTFtgg0I1PFQk7H7hH5bEuGJkDHJZ+tMbq6IIjudzfM/+ixaWjQBa0rQ1MGCRX0UonxGtxQ1F+WG4/nHLtVmaDQXzAI1pFM+9aHS5zYdW+uX3o81e7qnwRG5fundXvOiBKFFjANFHeimBrG6LjonzYOrq8bYtjXTxWLJtS2jo7lXV4xnnbBBDpdr8YaksmQGBrG5I7GCWZeY4QrJPV8A4nOg86cFvzgDNnTKLjgyIZcCySg8KdjXLX7GcXOaL5K2xnjdBW9PrFP8jTbKOABeLTt4ua+TsyVsWwnW/4cTU7MJIYuBrKiJX4IF8WfU6cevEtxF07Vo/0+m7HJZ9gxtWzYyrQns6+XxisoyjSkYZO/wohwpJhqb/ESoDW0Lm326Q37B/hVSyBYEfYEXsRauTNrYxDLzbtz2oT02yROvWUSXq+m6QywFJD/mXKpUlG5sa1jIYaL7miJopNcs9yvI58Jm9Bzm1gd+Ivzrw8x6TSIN5JZmARHyXcXRXq5KuTvLgd107HC4fXJeP25eXR3oqm051g1mhHPd7FkTx2OSMywxcF+urk55T6UssjUzeOVn0lz0foiQ1N8K0haeCQVIBdNbFKS+CWLcNXRngOds4vPyzF044q0LHZhBFOk9++xwMrHJw2rlpdP8d0MYTcfFc5Kr9WCRgWE9gE2eG8PCqm7EUXYZ8ZRgzYjKqFqprUaqJ8/et7Z1YPX0G5i9KvfV7wisY22k6HY8WCLjEYkKHjEwjyEykUUdxonRgp+9o95bKuflgodGsLnxppTIc6mLXBB8z6jovlyFHV6ix9JZen59H1LGEBLRS/MkVzMgUO7qHO20FeGE5VuiiZ5Y3r0Enh+WbVkQNyC13xbPL9mena0PBCO68PCv2JUEOAEG979J99JHQGOj71DnG3+54S0/Ex1TTO6Akx2Acsj9Zi6AwtVEuNpEeMukr9gLlBfwWk2xaMrmKfN4kOIXOUCH3WHoTLw33z6+/dLQ6gV36XGLf28Er/BovDs43LrG/5qdUue69eG0c4z+RvF5do6PEvMcnrwLIiEwCgMM4mJ6W8RdC1v7iKuoGkKySgzlZCbAgllThtIYD6GmYTv2xlD6DhYAk24+vB+LS7Fobf/nFxZ7ThKWTciFjo4Pz1pbzddI6pAUX/a4+f60dYzLbrf2m3S530Ht5sn54fFeq72TUBrPfDjj1mvkDMYuntvM2PwlxNHijLv2VXxmgH8jJ+tRLrYc7L7ScrLNcEEqi09fU/WogSdlWzG4lpTcmK1i4tj49SuA9nCtEWt2bIGR3gNT3EaujAuW8VJcSppg5YhtOFjgWh1g8YprzcIA8V1TrSFesvdYnQ4QIg3KkqrYNeYnZyO3fIR+/cr6/EDIs/C4ne2/8st2/nWejg1W/UIxKrOyPKmHBESczdyJuIl9aVhK79pWr1Wyc4J+hcZjC7zGOJJBy+iJEXPYB4ooTYK3k4g6f6bNw8MTlglj8KLZwShsHzICf4in8LFJO0OGFeV+rUagRjN7IfdAkJwpZ6dIeSmdgf4BE1DMBDD0nckRNWO5Ykzjxfxn1WIShRczk0xbDmpdPDKP4L8beCWcXfDFxQl2xt9YyBEx0F6i5pgcNGdu5Xth6v+jIXm+ZYAI6jMtB2IGl6dvvjzgKWJgI/cyI4y68loySPXFrTl4+gaSP8r092SLEMkahKcFuwbyFEPT5TJqwMViiNeiO4gqJj28XBrj3/AI9px0c6CBWcuYCif4ulPUardO2I4VGo4dF90otxoUwzJ1gHY70W0DpbnD0bVvThGmDXaIIYcHgJ8tyMWGDPRVlFsmtjK4EWB2+YR3UgJCc/MLosTo3GRmJRGsbawN32l1w9jHslEz4UxSHnaoQLLSHOQmqqV1FNi/gjWf5FLtDEHJg8c5iugjf4Rp6K5CLzwgl5n70fcHysGbT0upA5E/iFkT76RgWSEPQYWYh17+Si6KoF2miHjwfhKYoyWa/AWmz5OBBudyDGsC8oxtmtIwpXyvsoUmtuVqJXSMsaVhqhooJhood1DAtVBPw6s+Qo54UaiMyFNcB1YUzH4RF/4MZLtJdhox8atYPPWAgHHJka3dwcas7jhjzSlFyt2bVPaDWXzV7HYDsTGmvYv7s/nWtHl3MTTG+yttq9G39k4r7U7nbPP0qLNWVVdad92dtc8X55O77vnZF2V77cvlh92act421Onaxfn24OK8sXZ5fmZcnr8fdc5OX2yefqlOu7W1SqM/et85Pd7pnN5v47pqFx9ad6p5Nt6vDki5fXNzdFkfHZxUer48uD3TyzO8v7ucWHvqyvFANd9be53NPxt6va+cX/TPp3X3Uq/ru9ubu8fNy92T5qne2q70d/WLvlIznG6j7h406rd7O+1Br+HPt9epT4/0tdvLDxd3XfPM6W45/d7OwOj2rX6rUe9fnret7rRuntbOpr2h8fmysznovts1Ls6PX7Te7Va7wxej7lA1W1urwwNWRh2eVXofdsetreZeq7E5VN7j5ztnn5WdV/3darty8WG3opy/MFvvMO7My9FF7YPe37uY1bFzf3dR23ZazXb7eKuC4W1vnd4a788am39q1c3N09vqyc0H3L/Pq/0PjdbtSXPt3fGtcXB8NtFbjQsG86a622jqgCM2bv33lWrztLl92tmqYFwweGZ1v2rtbK8ouK/adNO5PF9dU1c2HeXDe2t3q+60dppOq9G6a+m3f7bebU4x/BUMf/XCbFdUvX970Jj04V9352x8uXJs7TXeT/Y6VVzPC7O307cuzlz43tvrQPmKuUdw0r5tNY63Tk6P378/O24BrOrKaX///KDf0uH5e9yfY0pL0/ofuP3b06bRJH3ttAC3xkVtcNdq9E44LWKYCH4xETJ8jtYw/X3p7axN9hq3fW0C7RrD1rbTb3WkdIPhO7Zw//dgLIVxY2N12u8O1yopx97o4jFu9I2Jcv5+bbfR7+NxrQT60ce42AU6FmlV3TFuW1utP/Zrx0ZPXxv3zu+dw+lmRcH4BTwFYKt0VzYnsTQF+RubtoLraTUq9+0ObUNSl9dPzGt36rtN47Kh9o/0iynuB+vPbSq84PxA+7vqsILH9KK/29j15ECL0PnlqGFW9jDO8PhsT3t4oPD47JJ26+QTeH3v5j2M3zbG64G198HZa5zT8YM6MZ3M6tQ3cRUGxVH/dhf6d9R5b7UkfN9q3GISNUaXuoeTCaY1GKf+wefVu8uds9p+7UW1uzPx6KHx/naXyQOdyLvtfp/BSORZF8vOy+mkr77bxfx79kWdsnHsW7uN8zNHrZ2KdZhCHXdqY23l4twgcmF3Avkxbmb4TlXmcoj7hPGJ0fj54gPmBUxnB5i+FID9A+ULoDX+Heo9/OKQd92V+ojgjOG+ceL8idufXgbK4XyANzpes3x8fHgdg967sy9e/R1rJPRBP/vQHlzWTl/OaPW0z/ulrdD2bt4Rmn7l0ca7e9ZGe43gE9rF7y7OD/YuPwxGeHwneM7awPqE5/AjXIrCFcEPkLgy6DcisRwXkII5+LLD1khAhUL+69ej+vFB5+EhXxRUxkjnBDLjcvtX1LIlZr0UM+t/b2shGRjRK6FYdWYYVV/0oc/szrvE6iKYP2MiMdC8dAskbe7ks6Y8PfFVUimU+cHYvE11c5zk3qDxCNenLYM9U7rJxI+3OqmvEcp4fdBiIs4vPFp8QnDlHya9Hya9Hya979Ckl2Kkn8mgl9k0IN8wJsHLU5sI/pUzrGD3yFNLJZ727LFpaHeagT7WVlZffEoxMX2zmcYPvzXyg1+pvvwk9Zjg6fktwyLAtuaMFHD/iIEwRb+JG0O2Pf2YBsWaian3iZwFYnvtWxzIMsRrGAkxuiMDNzzS9yV2A+KHSvOPVmmyqgxR9XxPqtEPteb7UmtozNtI3pTdWzbfBJRKdwo3J9eieMDz1IpUzLmCJBREXd/2hGiQN/n0qMjcI+6GxCLOzwLEQgRmBj2i/nVjm72BA85xqkeyivDxFKvXWMkSJtINcpAiPL+m1zs+MiejONVTzH9u2bdYHm/hkVRdy55uPIUy1MTKUAcUv2y1Z9GIUsHRYRGAD8fuaOxugJL63Wq4rKINy1xmVScsJpLBjQmQHgNUBGAdTd1YSQDpqe7pjQDH54QdQAGc96tUlhKIJQboiMf/+qXtR+abmWYt6xMsiunCcfyNIV696stw5p7xcMaK6oauOBtxk0baCuNWRTwRX81ran9+GtO52ELpGqtHY4PH3BQ7mKWWxdjhg1XOzPF0ClRdg3liSW3yGUYjuqWU1nxfBamM+unMKKnJZIGWfQ4ZeBadMgWEO0zTwJM8boLiIAUdOdq4Z3k5CrO7yiMkTsZ1K7sJN+sCenaB7oLWzx4cj1o+R9ayaDDp5zzqNCwasTTZGZNL/PKba2svK9UXr15VXqyu1qtrm39u/9lc22yurq5VVxvVV3GB5UmYRQLIbicQLiO/P7X23tfWJtqH3dFlbVBpbbUmBye3/c75i8oluPPU1qbqztr04sPxqFtb3Wvc3o8uamdjtXZ223p3Nr7cOZsS14XO5qa6s/1Z2Tntn+wYny/PX3y57Ez6Z8OzqVoz7rp6fbr/ud7fI3nr+ixPa3Q4Gb3orpz2u+fbL1o7L+56jc2qWjsFF6mROt0cKuf3RmvnbBW3O8HvRl1983O3Vp10d4xBdwjuOL1Rb6dPXKpaTQ7f6bhhGHe9zqZ78eG2363tVi7OjXFrp9m/gP52Nu8udXB1EeHdHPTqFnPJGVR67+ov96drK70VdXzxYXNwURsY+8O16eV0zQE3oK5J3NIOOqft7ROjvb1/0hof4PJn5y+cyw/tL613u4b64WykDjGudnZx37Yn6g7At613cbvdne2VFsYtfm7iPMZlY7PSnZL+rahD6nKx39j80q1dVnq17enl+9Gt8qFdwe/03odjyF/tDo8NNdwPwFswLx6DzQEeB/392UG/c3agt5q7m6cV42S/PvrQOTtunVTPTlvbvc1TY3fzxDjePcb5Tqqt/vvK2uFx0zjtnK4dnk43j471Tfwe00jFODxuTPqX58QdZgpjpEKfVw763RVwCSFjhNte3TutnRmMTg447lo7l3ccdnUF3KwMPNYHgJfx5coZuG/0L2trtcsPu2PqdrRpqMPqSF1pY1p88aUF+eojPBbVEbhtKOdrY9zvCJys7u3pr8BtZXSp162Z+8yLgTrs1faH90Z32Ksojfqr1tbBqGE6jA7adxjWOzxeY3AV3Gv0MG1um5cnVv9yZ9vo4jbBTYi56PRv8HiBG1jr3aTPXVTATfB8hbuhnPV2p7d/UpeozYk6XPsMtLI/PFsFN7i9E2fvBn/0htuYrw76R51N6pY1GVVU83aPuJaBC9i0vjajr1Nr16v/1MV8NL4472EcqKP9YRXzCIb3Q2t8WTurzFwMB0LbmLZWLrsHRgV4ca0xbA96O21r710/Gg/43SGHZYZLQ9sxKlhI/ElchMz2ivLh+LPSkLR1VhHrHgC/7zK3nN0vjAepO9mXfZO5BzU43ug/zMeYz9ecy84Lp1tTLdHtcV9fHc/wzPKb4FLpcNwz96UeGS9Zm92VOhkP4flnoLtu7d4grqLTvnlK3dfAFW2M2zQD+XXM1wPli6yfx1V1qr4U4QP3vL13B2PMt53e+QtC87jPIzEPH/9YmAQ3MXABbG1V+rvTuu2jl9rlF4yfMcB32bwcdXfOTrTzF5/3Gupd70N7ul+j7qH7taqh1gY3nNbV6Suz1XD6Qf45/7Lbg+e70zVwbzP3Oi8q3SqRPxiO/iiAlzWxT5fn918u3wv9eifmjRjrCpknphxPwbG+Eevb2Z1enm/bnF7xnDW8+HDm9Las2LHFctzuDtdW2HzjXpy/uD3U6xH93+5FjT3ws5RH+hs+V7KEKRxrA9Jr5z1zd+gGkYQKR3BlvdmfqQRYm7TUwiu0jAoFXAm/JeUPT3uYPam+xH9Wl9D/oFex8QWhnUnGQ+syDUowAOYm3Vz8skVUePY1M9jB1dgVwaycGEt1s1kIICHa6gxpwpYuGI1J1hk2DBy3b2lceF4BexutmYqtcRDjmgzmxR1Nk13UGpleikl3oN3HX8Q5SfBIhJR6byBEE2l3VILqONkwSdzOSLktktnam2UfLmql8v14FmWFMNvyOOveWVZo/k1bZxn7vhiHoAwwZN/NEQ1+k+CWRJ70K0P7zIIUxZSzY9yCszX6Kjk8voE+flqPIFjJsfKx6Qz0G9fvCp6ix7MqSF93O4ftEr3JTL+ZymLeJpixJaBRwL7PrQ7PmWcuV56svi5RUcLksRDYpb2ZgyHMEdnAXy+5jkdFh4HjqsQBh5h7RzSasbDzAE/RX7jRN7fa9K2w2QUC/U0ZHl6ZbyhhvfU5YNCimKjelPlrGhpBeu/SGE5CENqQ7HuEooT8hWuFm2DKb8lNpG9uFMOBH7KqCcEC26E8eUY6wq58rNv98VAzXYf3JGgJY4XhDkZaWLFtJT5jIe895HhZxA6lh0UJSWNCkzC0P4+Eb7x47u5QjOgeWUVENYndl0ek/oib/ZTUM0jBiHz8S8JIlaOGSkIicH80GErf/HU/NNAdjWm4kauWKjl6VhaDt5E7PdlefpX7Szb6pAJo+80vW4eNk4ujJnt2dLq532qg3HK5XB+NDA01rOFojPtfLm+dbKGj/VbnBOF2yuVmO4dyA9cdvS6XJ5NJSYHscGkmZHTKmGJHmu1O4aD2Mi5Q6rm9XDwo9KuvN7EFMNJ6uuom5CHIBW7ZV7qaEck4vASjBxktcIqPI4BZPXyApbOUFMCgH0JWWDOxbbpOCGI2Q0eOx2bd3beUXnIPZoI0Q/17mjaqG/qdFlW/IGCe5jKnEFgRhCjLy3tBQjxokTiKKkrnkXT535Qj4JrnesxQ5WwWS6w9ejR+kTplpGkbcHaC9QvXNbQWXLpyp0TytrQCuKmlr9lvUzpMvCnzAtLuxoioqCEQBF+ZfH8b9gD+7qOT7utdW7Gn5X1lbKpsDzZiPUT6GNoclIz1d+lkLAOS56Jx/ue9+9d/X8sCXEQDYCVrKJDkvkgRHfi+fKu/J5/oFI/iRz8zQxWpIJHB9M1csb8DW9JTu2DHDHKqyZSvjX13moaO+CoG7HlMEZV/IeXIv4wXF/LRd2UFYAHv3nSXZEVIal+R+MuxInh48ZdiyeSTaNBgPs5zxeTPILoTTZTf+TVcC56nnqe3j53bnuLuseeix+w3mj0BzT4/ZS6g2wug3vlpNGyNZR+R1zb4LbICoqgRlt1oQ1QIcrYQKwGeN2z4Le9LgoHX6zJ46QnrZ3BrXkK//YaCJuDUk6AvUO6OYXX5mcgyVYAEW7ECdcsmQomJeKb0nVi3mikGxxXe8TA15VCtoQpKI2sUsrMDbiQ5Ne22sEQGq5Qn8fciKgsSA4cwuAOEgQ9XQSMwliU7PU9spP7G5veZjZylR5nKhZTaaj5LCQbkwH0x8WZx6eWOEaZwtHhbeGJnFmANTz8IPoP4DyP4DyN4ZlhDMvSfY/f2q4zkmk4Q2g7Ms7LnokPVfNbUfX2oE+BPrM6s4kw21SixCcmTWA5c0S7KLLEbGaRWYPwpBFIBPKv+I2l8Hrkl7W/kll1Qys25ifFIh4T/yMbFgvcqIpHONyt+7E9IsYVXBcmSR1wziJZJyXXEp+zyYl8D8YMXVhJuLKNHWvI1/BeKvQj5nTXUtknBgn+NA2tBv4GWrFLgoBioqhHvAjDzKvt6LwEDO7Y1HrW24hAQv1dCe59iIRa1S8IqSGFftSamUGJmySGes0KXE0YwzuTExjKrJVzYfSSjmBEZwa7FtT9Hpx/WfSt+soIOXtcsrt5DVznTwJ7+FbzQqQTXLO+eS7r2dkK+WXy9HTYww0xq4U+yR0YWk1b3M9azyGqX3oBKPuhJXrHPwuI8fDNMIegwGFjKz9bBoGzzW3sDTteRhpOJbq7UkjzZGDJhdp1ddnOrj7Y0A699NmW7fTLjRqabsEWSG5t4OG4JzSWEBYq+PlR29j6i8WxhUr1zF+bdR0AnFhV5olBdXdEj0iu1qyt12IMS5Dx4uYEa7w5bjSbC3y5QuY3KW/CJV1AV9BvqaQbKCSE/+EI5l/8EnrNAZa/RqtxrNn5tSYgUiAuDfD8t0dHjVMZpiFv+CAWnUJ1DjOOdQsY0RndxuFgoIpiutR675MC2eYYZULXSjubuK47bhLeFkA0xdn7jXVANy9FCZqkZg4HSEpq5Q9Qp6Su5hFHri2SBB3wZP8Lizp5K1Wa4nJdi+smu6pV5FAcQRa+x14JM8DWykPCVBRKa71owHgpDet3VY2+sSh3/NsZ5IhAemvpJyGuKsb+Xy95dH7SD0VmfNpjEgkNAxIR/YOwkMjiCkJEJkRqiaxTjOy/f+Cum19zMXXWKCBLZo0dI5zOeYmgFUuT8JifIGCggzTtJZwQ6FvCU8fogxRxlgyRuOHoE4Kl5Wm/e6EKeIpAiklAYANUaY4XAtFzU1XzQFFFUWJ8YeGLiTKSQVWWRN2jY3flkFhOdP4TWf0qyyMjnh4T5b0iYRwX6fbwUmK1gIgt34NgXNeHDvXfRrL5AqZEmyhUJh+3jnOTYVmnq7emOFz5rIVUniKRs4ihSFMVQ+CKExbxSLqWQiGHizFFjy7KRk3mc+4Rx6npij/7PFd91PoAz1RUL9NziN+rEZ7SFB1IMKS1KDj8iuhsPL+utqrmOAmIyWkvktg7dOR6bJrmAKnv3eSUg2iIlQFxItEcweQxYT6L+PF4wMDK7n09qZZum5xG7SV0nmt48rBXZ5QhgUtwSk4nt0x/YjjVVJZ7a5njCqLOU8PnxNBbCxDGIPJvwGH56WiO6zJQYlrYxpmFiy52NNOysOKKXv0cMG2+pY3GiN2P2obCH6Q46pbWlJiJgDgK9sTWt6/RSUKhUYC9wqyaRjH07TZm2MCWV2erjWe0Zxlfulky/SMzb4iZl0PBNCwmdov57nBZmDvACpNSSHqKcaGKhSzq6wSdZ0InNTehOg8wPQyZ8ac2cXBPq5tky1c1kdULVBnEryFg13bGIr9mjLYbt5aFiKn3Npm4IR/Rhy7yxCtWlUlsemJlsuQrsneuOnWnXus891UZkapOb755GxwVvkHw+9V3shNSh1B8bSBXuP12PCeQTuswxN3LQsnKPli000nvwoVpDjOQe+hspk1uU/wpS8tfqxsZVrnqVg3bxj6vcVW4dUff0XyuwKe8U0VUO/0/ut9dNFx59rH3CsDzk+TWQuXiwEpfAAl0EMVfCfR9KC0ackPXJe7KtlZ4aUhqH5zEF+0QP205LryhKHvFtP4mUSgAnfsdvliNh1y+VPQtSXNDu5PjgCTI7bWMSDAazCllszR3bpoBc7jJDNrWFCYmeXRInIvqkMCLnfmfO6zH+MiCD3OEIVxKIQCV41gtg0qz4b8kZd2nmQrVIHjCH3GVUDfumcF0FGJ2rMBvo60PITYZw4JFik8MOuSs/3kR5STb5kSTDrPpcZFgt8GzLrQcKC35TeAlDrwtZCuT56q1yHM3d0hwXK1xESeKPhWdOaf9wZ7u138TCy3fIbt/q90FJpk04pVKJGFQCTYEqGWz9KkhHWaDZanXqm/vNraVgx4Mte9SkGppijkd1s0cFaCI4/khHeo+sQGBOsadfI9XEYP71B29Z+vUhBFwksCScWAOoIxWgGeZdoCPmGZ8jky88iHO3Qn+R/Pyg1dUVro4cfkKvfS/K3nOomdQK/AVRBaCOQq5IaBg/g5K53BLJ+Ck0gAzxpAfBvkf138NBjEZAFQKRdkWFgGoESVVrtv0kVVumymzhfhXG6mlLQbGQhAeGP06IKrh7M5djcpJNoCwMGPPBDnFHmIV5kvclibLlrBTnMBrIjmcATqN6L4DdQFu+Lgbe8UpgFDutHdi0EQcypVSgxAloI8N3qxtGFMpCiJXkmUVDluXACM8Jk1ZgHcZml48JHByItyzn5ohMHmd/EsAgDZdGY2dQyC93X65CIZ9RTMggBuSdzYlLs1H04kqLFXACuOZ9JJ+SDD3NVdSBBgIQTilIcrh0ibvqm8rn9JxkyCkG4JtpJeuhgSJKg0czfksTIVaYQL0214UFO1mz0xt2cMsjy3admQvtAV3nrQdzlNgCEBQLbRLIzXxtUxxOZnpVoG68pDzsMOc+3ID4c53A+/8Bdy8BrA==", 11808); ILibDuktape_AddCompressedModule(ctx, "service-manager", _servicemanager); free(_servicemanager); diff --git a/microscript/ILibDuktape_fs.c b/microscript/ILibDuktape_fs.c index 03fa1fc..dbf58d8 100644 --- a/microscript/ILibDuktape_fs.c +++ b/microscript/ILibDuktape_fs.c @@ -2274,6 +2274,25 @@ duk_ret_t ILibDuktape_fs_chownSync(duk_context *ctx) } } #endif +#ifdef WIN32 +duk_ret_t ILibDuktape_fs_convertFileTime(duk_context *ctx) +{ + if (!(duk_is_object(ctx, 0) && duk_has_prop_string(ctx, -1, "_ptr"))) { return(ILibDuktape_Error(ctx, "Invalid Input Parameters")); } + FILETIME *ft = (FILETIME*)Duktape_GetPointerProperty(ctx, 0, "_ptr"); + SYSTEMTIME st; + if (ft == NULL) { return(ILibDuktape_Error(ctx, "Invalid Input Parameters")); } + + if (FileTimeToSystemTime(ft, &st) != 0) + { + duk_push_string(ctx, ILibDuktape_fs_convertTime(&st, ILibScratchPad, sizeof(ILibScratchPad))); + return(1); + } + else + { + return(ILibDuktape_Error(ctx, "Error converting time")); + } +} +#endif void ILibDuktape_fs_PUSH(duk_context *ctx, void *chain) { duk_push_object(ctx); // [fs] @@ -2307,6 +2326,7 @@ void ILibDuktape_fs_PUSH(duk_context *ctx, void *chain) #ifdef WIN32 ILibDuktape_CreateInstanceMethod(ctx, "_readdirSync", ILibDuktape_fs_readdirSync, DUK_VARARGS); ILibDuktape_CreateInstanceMethod(ctx, "_statSync", ILibDuktape_fs_statSync, 1); + ILibDuktape_CreateInstanceMethod(ctx, "convertFileTime", ILibDuktape_fs_convertFileTime, 1); #else ILibDuktape_CreateInstanceMethod(ctx, "readdirSync", ILibDuktape_fs_readdirSync, DUK_VARARGS); ILibDuktape_CreateInstanceMethod(ctx, "statSync", ILibDuktape_fs_statSync, 1); diff --git a/microstack/ILibSimpleDataStore.c b/microstack/ILibSimpleDataStore.c index b8b294c..9ce53ec 100644 --- a/microstack/ILibSimpleDataStore.c +++ b/microstack/ILibSimpleDataStore.c @@ -827,7 +827,7 @@ __EXPORT_TYPE int ILibSimpleDataStore_GetEx(ILibSimpleDataStore dataStore, char* // Before returning an error, check if this is a compressed record char *tmpkey = (char*)ILibMemory_SmartAllocate(keyLen + sizeof(uint32_t)); memcpy_s(tmpkey, ILibMemory_Size(tmpkey), key, keyLen); - ((uint32_t*)(tmpkey + keyLen))[0] = crc32c(0, tmpkey, keyLen); + ((uint32_t*)(tmpkey + keyLen))[0] = crc32c(0, (unsigned char*)tmpkey, keyLen); entry = (ILibSimpleDataStore_TableEntry*)ILibHashtable_Get(root->keyTable, NULL, tmpkey, (int)ILibMemory_Size(tmpkey)); ILibMemory_Free(tmpkey); if (entry != NULL) { isCompressed = 1; } @@ -886,7 +886,7 @@ __EXPORT_TYPE char* ILibSimpleDataStore_GetHashEx(ILibSimpleDataStore dataStore, // Before we return an error, let's check if this is a compressed record char* tmpkey = (char*)ILibMemory_SmartAllocate(keyLen + sizeof(uint32_t)); memcpy_s(tmpkey, ILibMemory_Size(tmpkey), key, keyLen); - ((uint32_t*)(tmpkey + keyLen))[0] = crc32c(0, key, (uint32_t)keyLen); + ((uint32_t*)(tmpkey + keyLen))[0] = crc32c(0, (unsigned char*)key, (uint32_t)keyLen); entry = (ILibSimpleDataStore_TableEntry*)ILibHashtable_Get(root->keyTable, NULL, tmpkey, (int)ILibMemory_Size(tmpkey)); ILibMemory_Free(tmpkey); } @@ -912,7 +912,7 @@ __EXPORT_TYPE int ILibSimpleDataStore_DeleteEx(ILibSimpleDataStore dataStore, ch // Check to see if this is a compressed record, before we return an error char *tmpkey = (char*)ILibMemory_SmartAllocate(keyLen + sizeof(uint32_t)); memcpy_s(tmpkey, ILibMemory_Size(tmpkey), key, keyLen); - ((uint32_t*)(tmpkey + keyLen))[0] = crc32c(0, key, keyLen); + ((uint32_t*)(tmpkey + keyLen))[0] = crc32c(0, (unsigned char*)key, keyLen); entry = (ILibSimpleDataStore_TableEntry*)ILibHashtable_Remove(root->keyTable, NULL, tmpkey, (int)ILibMemory_Size(tmpkey)); if (entry != NULL) { @@ -1013,7 +1013,7 @@ void ILibSimpleDataStore_EnumerateKeysSink(ILibHashtable sender, void *Key1, cha if (Key2Len > sizeof(uint32_t)) { // Check if this is a compressed entry - if (crc32c(0, Key2, Key2Len - sizeof(uint32_t)) == ((uint32_t*)(Key2 + Key2Len - sizeof(uint32_t)))[0]) + if (crc32c(0, (unsigned char*)Key2, Key2Len - sizeof(uint32_t)) == ((uint32_t*)(Key2 + Key2Len - sizeof(uint32_t)))[0]) { Key2Len -= sizeof(uint32_t); } diff --git a/modules/service-manager.js b/modules/service-manager.js index 30be140..93e0481 100644 --- a/modules/service-manager.js +++ b/modules/service-manager.js @@ -272,7 +272,13 @@ if (process.platform == 'darwin') }); } Object.defineProperty(ret, 'daemon', { value: ret.plist.split('/LaunchDaemons/').length > 1 ? true : false }); - + try + { + Object.defineProperty(ret, 'installedDate', { value: require('fs').statSync(ret.plist).ctime }); + } + catch(xx) + { + } ret.appWorkingDirectory = function appWorkingDirectory() { var child = require('child_process').execFile('/bin/sh', ['sh']); @@ -728,6 +734,16 @@ function serviceManager() } } }); + try + { + Object.defineProperty(retVal, 'installedDate', + { + value: require('win-registry').QueryKeyLastModified(require('win-registry').HKEY.LocalMachine, 'SYSTEM\\CurrentControlSet\\Services\\' + name, 'ImagePath') + }); + } + catch(xx) + { + } if (retVal.status.state != 'UNKNOWN') { require('events').EventEmitter.call(retVal); @@ -774,7 +790,6 @@ function serviceManager() if (ret.startsWith('"')) { ret = ret.substring(1); } return (ret); }; - retVal.appWorkingDirectory = function () { var tokens = this.appLocation().split('\\'); @@ -1038,6 +1053,14 @@ function serviceManager() } return (ret); }; + try + { + Object.defineProperty(ret, 'installedDate', { value: require('fs').statSync(ret.rc).ctime }); + } + catch (xx) + { + } + ret.appLocation = function appLocation() { var child = require('child_process').execFile('/bin/sh', ['sh']); @@ -1129,7 +1152,7 @@ function serviceManager() if ((platform == 'init' && require('fs').existsSync('/etc/init.d/' + name)) || (platform == 'upstart' && require('fs').existsSync('/etc/init/' + name + '.conf'))) { - ret.conf = (platform == 'upstart' ? ('/etc/init' + name + '.conf') : ('/etc/init.d/' + name)); + ret.conf = (platform == 'upstart' ? ('/etc/init/' + name + '.conf') : ('/etc/init.d/' + name)); ret.serviceType = platform; Object.defineProperty(ret, "startType", { @@ -1298,7 +1321,6 @@ function serviceManager() return (child.stdout._str); }; ret.status.platform = platform; - return (ret); } else { @@ -1418,7 +1440,6 @@ function serviceManager() child.waitExit(); return (child.stdout._str); }; - return (ret); } else { @@ -1526,7 +1547,6 @@ function serviceManager() return (false); } }; - return (ret); } else { @@ -1534,6 +1554,15 @@ function serviceManager() } break; } + try + { + Object.defineProperty(ret, 'installedDate', { value: require('fs').statSync(ret.conf).ctime }); + } + catch (xx) + { + console.log(xx); + } + return (ret); }; } this.enumerateService = function (options) diff --git a/modules/win-registry.js b/modules/win-registry.js index 280790e..1eac116 100644 --- a/modules/win-registry.js +++ b/modules/win-registry.js @@ -38,6 +38,8 @@ function windows_registry() { this._ObjectId = 'win-registry'; this._marshal = require('_GenericMarshal'); + this._Kernel32 = this._marshal.CreateNativeProxy('Kernel32.dll'); + this._Kernel32.CreateMethod('FileTimeToSystemTime'); this._AdvApi = this._marshal.CreateNativeProxy('Advapi32.dll'); this._AdvApi.CreateMethod('RegCreateKeyExW'); this._AdvApi.CreateMethod('RegEnumKeyExW'); @@ -154,6 +156,45 @@ function windows_registry() this._AdvApi.RegCloseKey(h.Deref()); return (retVal); }; + this.QueryKeyLastModified = function QueryKeyLastModified(hkey, path, key) + { + var v; + var err; + var h = this._marshal.CreatePointer(); + var HK = this._marshal.CreatePointer(hkey); + var retVal = null; + if (key) { key = this._marshal.CreateVariable(key, { wide: true }); } + if (!path) { path = ''; } + + if ((err = this._AdvApi.RegOpenKeyExW(HK, this._marshal.CreateVariable(path, { wide: true }), 0, KEY_QUERY_VALUE, h).Val) != 0) + { + throw ('Opening Registry Key: ' + path + ' => Returned Error: ' + err); + } + + var achClass = this._marshal.CreateVariable(1024); + var achKey = this._marshal.CreateVariable(1024); + var achValue = this._marshal.CreateVariable(32768); + var achValueSize = this._marshal.CreateVariable(4); + var nameSize = this._marshal.CreateVariable(4); + var achClassSize = this._marshal.CreateVariable(4); achClassSize.toBuffer().writeUInt32LE(1024); + var numSubKeys = this._marshal.CreateVariable(4); + var numValues = this._marshal.CreateVariable(4); + var longestSubkeySize = this._marshal.CreateVariable(4); + var longestClassString = this._marshal.CreateVariable(4); + var longestValueName = this._marshal.CreateVariable(4); + var longestValueData = this._marshal.CreateVariable(4); + var securityDescriptor = this._marshal.CreateVariable(4); + var lastWriteTime = this._marshal.CreateVariable(8); + + v = this._AdvApi.RegQueryInfoKeyW(h.Deref(), achClass, achClassSize, 0, + numSubKeys, longestSubkeySize, longestClassString, numValues, + longestValueName, longestValueData, securityDescriptor, lastWriteTime); + if (v.Val != 0) { throw ('RegQueryInfoKeyW() returned error: ' + v.Val); } + + var systime = this._marshal.CreateVariable(16); + if (this._Kernel32.FileTimeToSystemTime(lastWriteTime, systime).Val == 0) { throw ('Error parsing time'); } + return (require('fs').convertFileTime(lastWriteTime)); + }; this.WriteKey = function WriteKey(hkey, path, key, value) { var result;