建立程序API

2022-07-28 19:21:21 字數 1644 閱讀 5861

在乙個程序中建立並啟動乙個新程序,無論是對於病毒木馬程式還是普通的應用程式而言。這都是乙個常見的技術,最簡單的方法無非是直接通過呼叫win32 api函式建立新程序。使用者層上,微軟提供了winexec、shellexecute和createprocess等函式來實現程序建立

//

************************************

//函式名: cstartdlg::winexec_start

//返回型別: bool

//功能: 以winexec的方式建立程序

//引數1: char * pszexepath exe檔案路徑

//引數2: uint uicmdshow 顯示方式

//************************************

bool cstartdlg::winexec_start(char *pszexepath, uint uicmdshow)

return

false;

}

//************************************

//函式名: cstartdlg::shellexecute_test

//返回型別: bool

//功能: 以shellexecute的方式建立程序

//引數1: cstring pszexepath exe檔案路徑

//引數2: uint uicmdshow 顯示方式

//************************************

bool cstartdlg::shellexecute_start(cstring pszexepath, uint uicmdshow)

return

false;

}

//************************************

//函式名: cstartdlg::createprocess_start

//返回型別: bool

//功能: 以createprocess方式建立程序

//引數1: char * pszexepath exe檔案路徑

//引數2: uint uicmdshow 顯示方式

//************************************

bool cstartdlg::createprocess_start(char*pszexepath, uint uicmdshow)

; process_information pi;

bool bret =false;

si.cb = sizeof

(si);

si.dwflags = startf_useshowwindow; //

指定wshowwindow成員有效

si.wshowwindow =uicmdshow;

bret = createprocess(null, (lpwstr)pszexepath, null, null, false, create_new_console, null, null, &si, &pi);

if(bret)

return

false;

}

程序狀態 API

1.列舉當前主機中的程序,包括程序pid,控制代碼,程式映像路徑等.2.列舉當前程序的執行緒,包括tid,控制代碼等 3.列舉程序載入的模組,包括模組映像路徑,控制代碼,位置等.4.獲取程序的記憶體使用情況,包括模組映象路徑,控制代碼,位置等.5.獲取程序的堆分配資訊,包括程序的堆,在堆上分配的記憶...

程序相關API

1 每個程序都有一張私有的控制代碼表,系統有一張全域性控制代碼表 2 程序id在所有程序都有意義 演示 3 此 開啟乙個軟體,並列印程序id和控制代碼 include stdafx.h include windows.h 開啟子程序函式 bool createprocess ptchar route...

程序相關API

示例 include include include intmain else if pid 0 return0 include include include intmain else if pid 0 printf d n data return0 執行結果 return fork 57080 ...