[英]Hiding Command line arguments
我正在調用exe來對設備進行某些操作,Exe需要密碼才能連接到設備來執行操作。
問題:密碼在命令行列下的任務管理器中可見。
我嘗試通過以下命令從PROCESS_BASIC_INFORMATION中刪除命令行參數詳細信息:
HANDLE hProcess = OpenProcess (PROCESS_QUERY_INFORMATION | PROCESS_VM_READ,
FALSE, GetCurrentProcessId());
PROCESS_BASIC_INFORMATION pbi;
ULONG ReturnLength;
PFN_NT_QUERY_INFORMATION_PROCESS pfnNtQueryInformationProcess =
(PFN_NT_QUERY_INFORMATION_PROCESS) GetProcAddress (
GetModuleHandle(TEXT("ntdll.dll")), "NtQueryInformationProcess");
NTSTATUS status = pfnNtQueryInformationProcess (
hProcess, ProcessBasicInformation,
(PVOID)&pbi, sizeof(pbi), &ReturnLength);
// remove full information about my command line
pbi.PebBaseAddress->ProcessParameters->CommandLine.Buffer = NULL;
pbi.PebBaseAddress->ProcessParameters->CommandLine.Length = 0;
但命令行信息仍會出現在任務管理器中。
你能幫助我理解任務管理器如何閱讀命令行參數以及如何更改它?
謝謝,Pooja
不確定這是否有幫助但我必須編寫一個通過命令行與SQL接口並且需要隱藏我們的數據庫密碼的應用程序,而它不是100%它確實適用於我需要的東西。 在命令行參數中,我用465個空格開始參數; 當我第一次想出這個想法時,這是一個隨機數,命令行不關心空間並且字符限制很高; 另一方面,任務管理器沒有高字符限制,所以它只顯示exe和一堆空格,就是這樣。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.