簡體   English   中英

隱藏命令行參數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM