Update bootstrap.js and relative files

This commit is contained in:
Namhyeon Go 2020-07-21 15:30:18 +09:00
parent 0585a1806f
commit 238420c637
2 changed files with 67 additions and 15 deletions

14
bootstrap.js vendored
View File

@ -6,19 +6,21 @@
var PS = require("lib/powershell"); var PS = require("lib/powershell");
var REG = require("lib/registry"); var REG = require("lib/registry");
var SYS = require("lib/system");
var SHELL = require("lib/shell");
return { return {
main: function() { main: function() {
// unlock file // unlock file
console.log("Starting unlock files..."); console.log("Starting unlock files...");
PS.execCommand("dir | Unblock-File"); PS.execCommand("dir | Unblock-File");
// import necessary registry // import necessary registry
REG.importFromFile("app/assets/reg/Allow_ADO_CORS.reg"); REG.importFromFile("app/assets/reg/Allow_ADO_CORS.reg");
//REG.importFromFile("app/assets/reg/Add_URI_Scheme.reg"); //REG.importFromFile("app/assets/reg/Add_URI_Scheme.reg");
// register URI scheme // register URI scheme
// todo //REG.write(hKey, path, key, value, REG.STRING, computer);
console.log("done"); console.log("done");
} }

View File

@ -11,6 +11,43 @@ exports.VERSIONINFO = "System Module (system.js) version 0.1";
exports.global = global; exports.global = global;
exports.require = global.require; exports.require = global.require;
exports.createProcess = function(cmd) {
var SW_HIDE = 0;
var pid = 0;
var wmi = GetObject("winmgmts:{impersonationLevel=impersonate}!\\\\.\\root\\cimv2")
var si = wmi.Get("Win32_ProcessStartup").SpawnInstance_();
si.ShowWindow = SW_HIDE;
si.CreateFlags = 16777216;
si.X = si.Y = si.XSize = si.ySize = 1;
//wmi.Get("Win32_Process").Create(cmd, null, si, pid);
var w32proc = wmi.Get("Win32_Process");
var method = w32proc.Methods_.Item("Create");
var inParams = method.InParameters.SpawnInstance_();
inParams.CommandLine = cmd;
inParams.CurrentDirectory = null;
inParams.ProcessStartupInformation = si;
var outParams = w32proc.ExecMethod_("Create", inParams);
return outParams.ProcessId;
};
exports.getFilePath = function(path) {
return WSH.ExpandEnvironmentStrings(path);
};
exports.get32BitFolder = function() {
var base = JPTUDBSTOW.file.getPath("%WINDIR%");
var syswow64 = base + "\\SysWOW64\\";
if (JPTUDBSTOW.FS.FolderExists(syswow64))
return syswow64;
return base + "\\System32\\";
}
exports.isElevated = function() { exports.isElevated = function() {
try { try {
WSH.RegRead("HKEY_USERS\\s-1-5-19\\"); WSH.RegRead("HKEY_USERS\\s-1-5-19\\");
@ -97,18 +134,31 @@ exports.getNetworkInterfaces = function() {
return rows; return rows;
}; };
exports.getCurrentProcesses = function() { exports.getProcessList = function() {
var processes = []; var wmi = GetObject("winmgmts:{impersonationLevel=impersonate}!\\\\.\\root\\cimv2");
var response = SHELL.exec("tasklist.exe"); var query = "Select * From Win32_Process";
var lines = response.split(/\r?\n/); return wmi.ExecQuery(query);
for(var i in lines) { };
var line = lines[i];
var values = line.split(' '); exports.killProcess = function(pid) {
processes.push(values); var processes = exports.getProcessList();
var items = new Enumerator(processes);
while (!items.atEnd()) {
var proc = items.item();
try {
if (proc.ProcessId == pid) {
proc.Terminate();
return true;
}
} catch (e) {}
items.moveNext();
} }
return processes; return false;
}; };
exports.createShortcut = function(shoutcutName, fileName) { exports.createShortcut = function(shoutcutName, fileName) {