資源共享吧|易語言論壇|逆向破解教程|輔助開發(fā)教程|網(wǎng)絡安全教程|rigasin.com|我的開發(fā)技術隨記
標題:
全能逆向安全班1CreateProcess筆記
[打印本頁]
作者:
allendoyle
時間:
2020-6-30 15:36
標題:
全能逆向安全班1CreateProcess筆記
#### 三種編碼
含字符串的結構體或api都分為寬窄版本
寬字節(jié) wchar_t
窄字節(jié) char
兼容模式 TCHAR
utf-8 u8"張三"
#### CreateProcess
```c++
#include <stdio.h>
#include <windows.h>
int main()
{
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory(&si, sizeof(si));
ZeroMemory(&pi, sizeof(pi));
//if (!CreateProcess(NULL, // 必須為全路徑,不能加參數(shù)
// "\"C:\\Program Files\\WinHex\\WinHex64.exe\" -max", // 可以不是全路徑,有空格用引號括起來,寬字節(jié)版本下此參數(shù)不能為常量字符串
// NULL,
// NULL,
// FALSE,
// CREATE_NO_WINDOW, // CREATE_NO_WINDOW只對控制臺應用有效
// NULL,
// NULL,
// &si, // 這兩個傳出參數(shù)不填會造成C05
// &pi))
//{
// fprintf(stderr, "create Process failed");
// return -1;
//}
// 會產生三個進程:自身,隱藏的控制臺,計算器
if (!CreateProcess("C:\\Windows\\SysWOW64\\cmd.exe", // 必須為全路徑,不能加參數(shù)
"/c calc", // 可以不是全路徑,有空格用引號括起來,寬字節(jié)版本下此參數(shù)不能為常量字符串
NULL,
NULL,
FALSE,
CREATE_NO_WINDOW, // 只能用于隱藏控制臺
NULL,
NULL,
&si, // 這兩個傳出參數(shù)不填會造成C05
&pi))
{
fprintf(stderr, "create Process failed");
return -1;
}
WaitForSingleObject(pi.hProcess, INFINITE); // 父進程進入就緒態(tài)等待子進程執(zhí)行完畢
printf("child complete");
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
return 0;
}
```
歡迎光臨 資源共享吧|易語言論壇|逆向破解教程|輔助開發(fā)教程|網(wǎng)絡安全教程|rigasin.com|我的開發(fā)技術隨記 (http://rigasin.com/)
Powered by Discuz! X3.4