下面的程式是解決windows 下面呼叫 system() 函式的時候,會有視窗彈出的問題
#include
/*** @brief 普通字元轉寬字元
** @param lpcszstr 普通字元
* @param lpwszstr 轉換後的寬字元
* @param dwsize 儲存寬字元的緩衝區大小
** @return
*/bool mbytetowchar(lpcstr lpcszstr, lpwstr lpwszstr, dword dwsize)
//convert headers from ascii to unicode.
multibytetowidechar (cp_acp, 0, lpcszstr, -1
, lpwszstr, dwminsize);
return
true;
}
/*** @brief 寬字元轉普通字元
** @param lpcwszstr 寬字元
* @param lpszstr 轉換後的普通字元
* @param dwsize 儲存普通字元的緩衝區大小
** @return
*/bool wchartombyte(lpcwstr lpcwszstr, lpstr lpszstr, dword dwsize)
widechartomultibyte(cp_oemcp,
0,lpcwszstr,-1
,lpszstr,dwsize,null,false);
return
true;
}
/*** @brief
* winexec 和 shellexecute 兩個函式在執行的時候不會等待命令執行完成,
* 會造成檔案沒有解壓完就執行完了,不符合我們的需求
* ret=winexec(cmd,sw_hide);
* shellexecute((hwnd)"open", lpcwstr(cmd), null, null,null,sw_hide);
** system 函式呼叫可以,但是會有視窗彈出
* ret = system(cmd);
** 採用下面的方式
** @param cmd 這裡面不能出現 > 符號
** @return
* */
int nb_system (char *cmd)
;mbytetowchar(cmd, cmd_w,
sizeof(cmd_w)/sizeof(cmd_w[0
]));
startupinfo si;
zeromemory(&si, sizeof
(si));
si.cb = sizeof
startupinfo;
process_information pi=;
if(createprocess(null,cmd_w,null,null,true,normal_priority_class | create_no_window,null,null,&si,&pi))
else
return0;
}
int本示例中使用的是 createprocess 函式,該函式對 > 符號不支援,所以命令中的 > 符號相關的處理會不執行main()
Windows下的程序隱藏
9x環境中windows提供了想光的api函式用於隱藏系統程序。但是到了2000以上系統,已經無法真正的做到對於程序的隱藏,除非編寫底層驅動。但是我們可以通過一些變通的辦法來達到隱藏程序的目的,其中乙個就是遠端注入。簡單的說就是先編寫乙個api的dll,然後將這個dll庫注入到乙個系統程序中,作為它...
windows下建立隱藏賬戶的方法
windows下建立隱藏賬戶的方法 windows下建立隱藏賬戶的方法 1.使用管理員開啟cmd使用 net user admin 1211 add 建立賬戶 net localgroup administrators admin add 新增賬戶到管理員組 2.執行登錄檔regedit依次展開 h...
在Windows和Linux系統下隱藏痕跡的小技巧
在學習中記錄的一些隱藏的小技巧,有新的知識再進行補充 禁止在登入介面顯示新建的名為username的賬號 reg add hkey local machine software microsoft windowsnt currentversion winlogon specialaccounts u...