PATH:
opt
/
bitninja-threat-hunting
/
node_modules
/
node-pty
/
src
/
win
/** * Copyright (c) 2019, Microsoft Corporation (MIT License). */ #include <nan.h> #include <windows.h> static NAN_METHOD(ApiConsoleProcessList) { if (info.Length() != 1 || !info[0]->IsNumber()) { Nan::ThrowError("Usage: getConsoleProcessList(shellPid)"); return; } const SHORT pid = info[0]->Uint32Value(Nan::GetCurrentContext()).FromJust(); if (!FreeConsole()) { Nan::ThrowError("FreeConsole failed"); } if (!AttachConsole(pid)) { Nan::ThrowError("AttachConsole failed"); } auto processList = std::vector<DWORD>(64); auto processCount = GetConsoleProcessList(&processList[0], processList.size()); if (processList.size() < processCount) { processList.resize(processCount); processCount = GetConsoleProcessList(&processList[0], processList.size()); } FreeConsole(); v8::Local<v8::Array> result = Nan::New<v8::Array>(); for (DWORD i = 0; i < processCount; i++) { Nan::Set(result, i, Nan::New<v8::Number>(processList[i])); } info.GetReturnValue().Set(result); } extern "C" void init(v8::Local<v8::Object> target) { Nan::HandleScope scope; Nan::SetMethod(target, "getConsoleProcessList", ApiConsoleProcessList); }; NODE_MODULE(pty, init);
[+]
..
[-] conpty.cc
[edit]
[-] winpty.cc
[edit]
[-] conpty_console_list.cc
[edit]
[-] path_util.cc
[edit]
[-] path_util.h
[edit]