Updated youtube video profile.
This commit is contained in:
@@ -54,7 +54,7 @@ proc processList*(): Table[DWORD, ProcessInfo] =
|
||||
# Take a snapshot of running processes
|
||||
var sysProcessInfo = processSnapshot()
|
||||
defer: LocalFree(cast[HLOCAL](sysProcessInfo))
|
||||
|
||||
|
||||
let pNtOpenProcess = cast[NtOpenProcess](GetProcAddress(GetModuleHandleA(protect("ntdll")), protect("NtOpenProcess")))
|
||||
let pNtOpenProcessToken = cast[NtOpenProcessToken](GetProcAddress(GetModuleHandleA(protect("ntdll")), protect("NtOpenProcessToken")))
|
||||
let pNtClose = cast[NtClose](GetProcAddress(GetModuleHandleA(protect("ntdll")), protect("NtClose")))
|
||||
@@ -62,8 +62,8 @@ proc processList*(): Table[DWORD, ProcessInfo] =
|
||||
while true:
|
||||
var
|
||||
status: NTSTATUS
|
||||
hToken: HANDLE
|
||||
hProcess: HANDLE
|
||||
hToken: HANDLE = 0
|
||||
hProcess: HANDLE = 0
|
||||
oa: OBJECT_ATTRIBUTES
|
||||
clientId: CLIENT_ID
|
||||
|
||||
@@ -90,9 +90,10 @@ proc processList*(): Table[DWORD, ProcessInfo] =
|
||||
status = pNtOpenProcessToken(hProcess, TOKEN_QUERY, addr hToken)
|
||||
if status == STATUS_SUCCESS and hToken != 0:
|
||||
result[pid].user = hToken.getTokenUser().username
|
||||
defer:
|
||||
discard pNtClose(hToken)
|
||||
else:
|
||||
result[pid].user = ""
|
||||
discard pNtClose(hProcess)
|
||||
discard pNtClose(hToken)
|
||||
|
||||
# Move to next process
|
||||
if sysProcessInfo.NextEntryOffset == 0:
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -24,6 +24,10 @@ proc randomChar(): char =
|
||||
let alphabet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
|
||||
return alphabet[rand(alphabet.len - 1)]
|
||||
|
||||
proc randomNumber(): char =
|
||||
let numbers = "0123456789"
|
||||
return numbers[rand(numbers.len - 1)]
|
||||
|
||||
proc getRandom*(values: seq[TomlValueRef]): TomlValueRef =
|
||||
if values.len == 0:
|
||||
return nil
|
||||
@@ -39,7 +43,7 @@ proc getStringValue*(key: TomlValueRef, default: string = ""): string =
|
||||
value = key.getElems().getRandom().getStr(default)
|
||||
|
||||
# Replace '#' with a random alphanumerical character and return the resulting string
|
||||
return value.mapIt(if it == '#': randomChar() else: it).join("")
|
||||
return value.mapIt(if it == '#': randomChar() elif it == '$': randomNumber() else: it).join("")
|
||||
|
||||
proc getString*(profile: Profile, path: string, default: string = ""): string =
|
||||
let key = profile.findKey(path)
|
||||
|
||||
@@ -49,7 +49,7 @@ when defined(agent):
|
||||
try:
|
||||
var processes: seq[DWORD] = @[]
|
||||
var output: string = ""
|
||||
|
||||
|
||||
var procMap = processList()
|
||||
|
||||
# Create child-parent process relationships
|
||||
|
||||
Reference in New Issue
Block a user