//解除安裝掉指定程序中的指定模組,一般用來清除dll木馬
////注:
//1,對於多次呼叫了loadlibrary的程序,需要多次呼叫該函式才能夠保證從該程序完全解除安裝
//2,只有程序建立後動態載入的dll呼叫該函式才能夠達到效果(如果指定程序的引入表中包含了欲解除安裝的模組,呼叫雖然能夠成功,但是該模組的函式資源等仍然有效。)。
////引數:
//pid: 程序id
//module: 模組名
////返回值;成功 true,失敗 false
bool freeremotemodule(dword pid, lpcstr module)
if((!writeproces**emory(hprocess,lpbuf,(lpvoid)module,len,&wlen)) || (wlen!=len))
dword dwhandle,ret;
handle hthread;
lpvoid pfunc;
//////dwhandle=getmodulehandle(module)
///pfunc= getmodulehandlea;
hthread = createremotethread(hprocess, null, 0, (lpthread_start_routine)pfunc, lpbuf, 0, null);
// 等待getmodulehandle執行完畢
ret=waitforsingleobject(hthread, infinite);
// 獲得getmodulehandle的返回值
ret=getexitcodethread(hthread, &dwhandle);
// 釋放目標程序中申請的空間
ret=virtualfreeex(hprocess, lpbuf, len, mem_decommit);
ret=closehandle(hthread);
/////freelibrary(dwhandle);
///pfunc = freelibrary;
hthread = createremotethread(hprocess, null, 0, (lpthread_start_routine)pfunc, (lpvoid)dwhandle, 0, null);
// 等待freelibrary解除安裝完畢
ret=waitforsingleobject(hthread, infinite);
ret=closehandle(hthread);
ret=closehandle(hprocess);
return true;
}
如何解除安裝其它程序中載入的指定DLL
如何解除安裝其它程序中載入的指定dll 2008 02 17 12 46 include void fastcall unloaddll string str proce,string str dllname flag process32next snapshot,pinfo closehandle...
Bash kill指定的程序名
通過bash來kill指定的程序名,bash檔名為 home zcm bin d.sh,內容如下 bin sh if 1 then echo usage sh 0 exit 0 fi s1 ps ef grep 1 grep v grep awk s1 ps ef grep 1 grep v sh ...
Linux中給程序指定CPU核
為什麼要大費周章的給我們的程式指定cpu呢?要想弄明白這個問題首先需要明白幾個概念。cpu的親和性,就是程序要在指定的 cpu 上盡量長時間地執行而不被遷移到其他處理器,也稱為cpu關聯性 再簡單的點的描述就是將制定的程序或執行緒繫結到相應的cpu上 在多核執行的機器上,每個cpu本身自己會有快取,...