青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

道。道。道

安全特性不等于安全的特性

   :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理

常用鏈接

搜索

  •  

最新評論

??1?//////////////////////////////////////////////////////////////////////?
??2?附錄:一個攔截CreateFile函數(shù)的簡單實現(xiàn)?
??3?//////////////////////////////////////////////////////////////////////?
??4?#include?<stdio.h>?
??5?#include?<windows.h>?
??6?#include?<Psapi.h>?
??7?
??8?#pragma?comment(lib,?"psapi.lib")?
??9?
?10?typedef?struct?_RemoteParam?{?
?11???DWORD?dwCreateFile;?
?12???DWORD?dwMessageBox;?
?13???DWORD?dwGetCurrentProcess;?
?14???DWORD?dwWriteProcessMemory;?
?15???unsigned?char?szOldCode[10];?
?16???DWORD?FunAddr;?
?17?}?RemoteParam,?*?PRemoteParam;?
?18?
?19?typedef?HANDLE?(__stdcall?*?PFN_CREATEFILE)(LPCTSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,DWORD,DWORD,HANDLE);?
?20?typedef?int?(__stdcall?*?PFN_MESSAGEBOX)(HWND,?LPCTSTR,?LPCTSTR,?DWORD);?
?21?typedef?BOOL?(__stdcall?*?PFN_WRITEPROCESSMEMORY)(HANDLE,LPVOID,LPCVOID,SIZE_T,SIZE_T*);?
?22?typedef?HANDLE?(__stdcall?*?PFN_GETCURRENTPROCESS)(void);?
?23?
?24?#define?PROCESSNUM?128?
?25?#define?MYMESSAGEBOX?"MessageBoxW"?
?26?#define?MYCREATEFILE?"CreateFileW"?
?27?
?28?void?HookCreateFile(LPVOID?lParam)?
?29?{?
?30?
?31???RemoteParam*?pRP?=?(RemoteParam*)lParam;?
?32?
?33?
?34???DWORD?NextIpAddr?=?0;?
?35???DWORD?dwParamaAddr?=?0;?
?36?
?37???HANDLE?RetFpHdl?=?INVALID_HANDLE_value;?
?38???LPCTSTR?lpFileName;?
?39???DWORD?dwDesiredAccess;?
?40???DWORD?dwShareMode;?
?41???LPSECURITY_ATTRIBUTES?lpSecurityAttributes;?
?42???DWORD?dwCreationDisposition;?
?43???DWORD?dwFlagsAndAttributes;?
?44???HANDLE?hTemplateFile;?
?45???PFN_CREATEFILE?pfnCreatefile?=?(PFN_CREATEFILE)pRP->dwCreateFile;?
?46?
?47?
?48???__asm?
?49???{?
?50?????MOV?EAX,[EBP+8]?
?51?????MOV?[dwParamaAddr],?EAX?
?52?????MOV?EAX,[EBP+12]???????????
?53?????MOV?[NextIpAddr],?EAX?
?54?????MOV?EAX,[EBP+16]?
?55?????MOV?[lpFileName],?EAX?
?56?????MOV?EAX,[EBP+20]?
?57?????MOV?[dwDesiredAccess],EAX?
?58?????MOV?EAX,[EBP+24]?
?59?????MOV?[dwShareMode],EAX?
?60?????MOV?EAX,[EBP+28]?
?61?????MOV?[lpSecurityAttributes],EAX?
?62?????MOV?EAX,[EBP+32]?
?63?????MOV?[dwCreationDisposition],EAX?
?64?????MOV?EAX,[EBP+36]?
?65?????MOV?[dwFlagsAndAttributes],EAX?
?66?????MOV?EAX,[EBP+40]?
?67?????MOV?[hTemplateFile],EAX?????
?68???}?
?69?
?70???PFN_MESSAGEBOX?pfnMessageBox?=?(PFN_MESSAGEBOX)pRP->dwMessageBox;?
?71???int?allowFlag?=?pfnMessageBox(NULL,?lpFileName,?NULL,?MB_ICONINformATION?|?MB_YESNO);?
?72????
?73???if(allowFlag?==?IDYES)?
?74???{?
?75???unsigned?char?szNewCode[10];?
?76???int?PramaAddr?=?(int)dwParamaAddr;?
?77???szNewCode[4]?=?PramaAddr>>24;?
?78???szNewCode[3]?=?(PramaAddr<<8)>>24;?
?79???szNewCode[2]?=?(PramaAddr<<16)>>24;?
?80???szNewCode[1]?=?(PramaAddr<<24)>>24;?
?81???szNewCode[0]?=?0x68;?
?82????
?83???int?funaddr?=?(int)pRP->FunAddr?-?(int)pfnCreatefile?-?10?;?
?84???szNewCode[9]?=?funaddr>>24;?
?85???szNewCode[8]?=?(funaddr<<8)>>24;?
?86???szNewCode[7]?=?(funaddr<<16)>>24;?
?87???szNewCode[6]?=?(funaddr<<24)>>24;?
?88???szNewCode[5]?=?0xE8;?
?89????
?90????
?91???PFN_GETCURRENTPROCESS?pfnGetCurrentProcess?=?(PFN_GETCURRENTPROCESS)pRP->dwGetCurrentProcess;?
?92???PFN_WRITEPROCESSMEMORY?pfnWriteProcessMemory?=?(PFN_WRITEPROCESSMEMORY)pRP->dwWriteProcessMemory;?
?93???pfnWriteProcessMemory(pfnGetCurrentProcess(),?
?94?????????????????????????(LPVOID)pfnCreatefile,?
?95?????????????????????????(LPCVOID)pRP->szOldCode,?
?96?????????????????????????10,?
?97?????????????????????????NULL);?
?98?
?99???RetFpHdl?=?pfnCreatefile(lpFileName,?
100?????????????????????????????dwDesiredAccess,?
101?????????????????????????????dwShareMode,?
102?????????????????????????????lpSecurityAttributes,?
103?????????????????????????????dwCreationDisposition,?
104?????????????????????????????dwFlagsAndAttributes,?
105?????????????????????????????hTemplateFile);?
106???pfnWriteProcessMemory(pfnGetCurrentProcess(),?
107?????????????????????????(LPVOID)pfnCreatefile,?
108?????????????????????????(LPCVOID)szNewCode,?
109?????????????????????????10,?
110?????????????????????????NULL);?
111???}?
112?
113?
114???__asm?
115???????{POP?EDI?
116?????????POP?ESI?
117?????????POP?EBX?
118?????????MOV?EDX,?[NextIpAddr]?
119?????????MOV?EAX,?[RetFpHdl]?
120?????????MOV?ESP,?EBP?
121?????????POP?EBP?
122?????????ADD?ESP,?28H???
123?????????PUSH?EDX?
124?????????RET?
125???????}?
126?
127????
128?}?
129?
130?
131?
132?BOOL?AdjustProcessPrivileges(LPCSTR?szPrivilegesName)?
133?{?
134???HANDLE?hToken;?
135???TOKEN_PRIVILEGES?tkp;?
136?
137???if(!OpenProcessToken(GetCurrentProcess(),?
138???????TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&hToken))?
139???{?
140???????return?FALSE;?
141???}?
142?
143???if(!LookupPrivilegeValue(NULL,szPrivilegesName,?
144?????????????????????????????&tkp.Privileges[0].Luid))?
145???{?
146???????CloseHandle(hToken);?
147???????return?FALSE;?
148???}?
149????
150???tkp.PrivilegeCount?=?1;?
151???tkp.Privileges[0].Attributes?=?SE_PRIVILEGE_ENABLED;?
152????
153???if(!AdjustTokenPrivileges(hToken,FALSE,&tkp,sizeof(tkp),NULL,NULL))?
154???{?
155???????CloseHandle(hToken);?
156???????return?FALSE;?
157???}?
158????
159???CloseHandle(hToken);?
160???return?TRUE;?
161?}?
162?
163?
164?void?printProcessNameByPid(?DWORD?ProcessId?)?
165?{?
166???HANDLE?pHd;?
167???HMODULE?pHmod;?
168???char?ProcessName[MAX_PATH]?=?"unknown";?
169???DWORD?cbNeeded;?
170???pHd?=?OpenProcess(?PROCESS_QUERY_INformATION?|PROCESS_VM_READ,?FALSE,?ProcessId?);?
171???if(pHd?==?NULL)?
172???????return;?
173????
174???if(!EnumProcessModules(?pHd,?&pHmod,?sizeof(pHmod),?&cbNeeded))?
175???????return;?
176???if(!GetModuleFileNameEx(?pHd,?pHmod,?ProcessName,?MAX_PATH))?
177???????return;?
178????
179???printf(?"%dt%sn",?ProcessId,?ProcessName);?
180???CloseHandle(?pHd?);?
181???return;?
182?}?
183?
184?
185?int?main(void)?
186?{?
187?
188?????if(!AdjustProcessPrivileges(SE_DEBUG_NAME))?
189?????{?
190?????????printf("AdjustProcessPrivileges?Error!n");?
191?????????return?-1;?
192?????}?
193?
194?????DWORD?Pids[PROCESSNUM];?
195?????DWORD?dwProcessNum?=?0;?
196?????if(!EnumProcesses(Pids,?sizeof(Pids),?&dwProcessNum))?
197?????{?
198?????????printf("EnumProcess?Error!n");?
199?????????return?-1;?
200?????}?
201??????
202?????for(?DWORD?num?=?0;?num?<?(dwProcessNum?/?sizeof(DWORD));?num++)?
203?????????printProcessNameByPid(Pids[num]);?
204?
205?????printf("nAll?%d?processes?running.?n",?dwProcessNum?/?sizeof(DWORD));?
206?
207?????DWORD?dwPid?=?0;?
208?????printf("n請輸入要攔截的進程id:");?
209?????scanf("%d",?&dwPid);?
210??????
211?????HANDLE?hTargetProcess?=?OpenProcess(PROCESS_VM_OPERATION|PROCESS_VM_WRITE|PROCESS_VM_READ,?FALSE,?dwPid);?
212?????if(hTargetProcess?==?NULL)?
213?????{?
214?????????printf("OpenProcess?Error!n");?
215?????????return?-1;?
216?????}?
217?
218?????DWORD?dwFunAddr?=?(DWORD)VirtualAllocEx(hTargetProcess,?NULL,?8192,?
219?????????????????????????????????????????????MEM_COMMIT?|?MEM_RESERVE,?PAGE_EXECUTE_READWRITE);?
220??????
221?????if((LPVOID)dwFunAddr?==?NULL)?
222?????{?
223?????????printf("申請線程內存失敗!n");?
224?????????CloseHandle(hTargetProcess);?
225?????????return?-1;?
226?????}?
227?
228?????DWORD?dwPramaAddr?=?(DWORD)VirtualAllocEx(hTargetProcess,?NULL,?sizeof(RemoteParam),?
229???????????????????????????????????????????????MEM_COMMIT?|?MEM_RESERVE,?PAGE_EXECUTE_READWRITE);?
230?
231?????if((LPVOID)dwPramaAddr?==?NULL)?
232?????{?
233?????????printf("申請參數(shù)內存失敗!n");?
234?????????CloseHandle(hTargetProcess);?
235?????????return?-1;?
236?????}?
237?
238?????printf("n線程內存地址:%.8xn"?
239???????????"參數(shù)內存地址:%.8xn",?
240???????????dwFunAddr,?dwPramaAddr);?
241???????RemoteParam?RParam;?
242?????ZeroMemory(&RParam,?sizeof(RParam));?
243?????HMODULE?hKernel32?=?LoadLibrary("kernel32.dll");?
244?????HMODULE?hUser32?=?LoadLibrary("user32.dll");?
245?
246?????RParam.dwCreateFile?=?(DWORD)GetProcAddress(hKernel32,?MYCREATEFILE);?
247?????RParam.dwGetCurrentProcess?=?(DWORD)GetProcAddress(hKernel32,?"GetCurrentProcess");?
248?????RParam.dwWriteProcessMemory?=?(DWORD)GetProcAddress(hKernel32,?"WriteProcessMemory");?
249?????RParam.dwMessageBox?=?(DWORD)GetProcAddress(hUser32,?MYMESSAGEBOX);?
250??????
251?????unsigned?char?oldcode[10];?
252?????unsigned?char?newcode[10];?
253?????int?praadd?=?(int)dwPramaAddr;?
254?????int?threadadd?=?(int)dwFunAddr;?
255?????newcode[4]?=?praadd>>24;?
256?????newcode[3]?=?(praadd<<8)>>24;?
257?????newcode[2]?=?(praadd<<16)>>24;?
258?????newcode[1]?=?(praadd<<24)>>24;?
259?????newcode[0]?=?0x68;?
260????
261?????int?offsetaddr?=?threadadd?-?(int)RParam.dwCreateFile?-?10?;?
262?????newcode[9]?=?offsetaddr>>24;?
263?????newcode[8]?=?(offsetaddr<<8)>>24;?
264?????newcode[7]?=?(offsetaddr<<16)>>24;?
265?????newcode[6]?=?(offsetaddr<<24)>>24;?
266?????newcode[5]?=?0xE8;?
267?
268?????printf("NewCode:");?
269?????for(int?j?=?0;?j?<?10;?j++)?
270?????????printf("0x%.2x?",newcode[j]);?
271?????printf("nn");?
272?
273?
274?
275?????if(!ReadProcessMemory(GetCurrentProcess(),?
276???????????????????????????(LPCVOID)RParam.dwCreateFile,?
277???????????????????????????oldcode,?
278???????????????????????????10,?
279???????????????????????????&dwPid))?
280?????{?
281?????????printf("read?error");?
282?????????CloseHandle(hTargetProcess);?
283?????????FreeLibrary(hKernel32);?
284?????????return?-1;?
285?????}?
286?
287?????strcat((char*)RParam.szOldCode,?(char*)oldcode);?
288?????RParam.FunAddr?=?dwFunAddr;?
289?
290?????printf(?
291???????????"RParam.dwCreate文件:%.8xn"?
292???????????"RParam.dwMessageBox:%.8xn"?
293???????????"RParam.dwGetCurrentProcess:%.8xn"?
294???????????"RParam.dwWriteProcessMemory:%.8xn"?
295???????????"RParam.FunAddr:%.8xn",?
296???????????RParam.dwCreateFile,?
297???????????RParam.dwMessageBox,?
298???????????RParam.dwGetCurrentProcess,?
299???????????RParam.dwWriteProcessMemory,?
300???????????RParam.FunAddr);?
301?????printf("RParam.szOldCode:");?
302?????for(?int?i?=?0;?i<?10;?i++)?
303?????????printf("0x%.2x?",?RParam.szOldCode);?
304?????printf("n");?
305??????
306??????
307?????if(!WriteProcessMemory(hTargetProcess,?(LPVOID)dwFunAddr,?(LPVOID)&HookCreateFile,?8192,?&dwPid))?
308?????{?
309?????????printf("WriteRemoteProcessesMemory?Error!n");?
310?????????CloseHandle(hTargetProcess);?
311?????????FreeLibrary(hKernel32);?
312?????????return?-1;?
313?????}?
314?
315?????if(!WriteProcessMemory(hTargetProcess,?(LPVOID)dwPramaAddr,?(LPVOID)&RParam,?sizeof(RemoteParam),?&dwPid))?
316?????{?
317?????????printf("WriteRemoteProcessesMemory?Error!n");?
318?????????CloseHandle(hTargetProcess);?
319?????????FreeLibrary(hKernel32);?
320?????????return?-1;?
321?????}?
322??????
323?????if(!WriteProcessMemory(hTargetProcess,?(LPVOID)RParam.dwCreateFile,?(LPVOID)newcode,?10,?&dwPid))?
324?????{?
325?????????printf("WriteRemoteProcessesMemory?Error!n");?
326?????????CloseHandle(hTargetProcess);?
327?????????FreeLibrary(hKernel32);?
328?????????return?-1;?
329?????}?
330?
331?????printf("nThat's?all,?good?luck?:)n");?
332?????CloseHandle(hTargetProcess);?
333?????FreeLibrary(hKernel32);?
334?????return?0;?
335?}?
posted on 2006-11-18 16:52 獨孤九劍 閱讀(382) 評論(0)  編輯 收藏 引用 所屬分類: Win32 、Visual C++ 8.0
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            蜜桃久久精品乱码一区二区| 99国内精品| 在线观看日韩专区| 亚洲欧美国产高清va在线播| 免费国产一区二区| 亚洲欧美日本国产专区一区| 欧美日本国产| 日韩视频免费大全中文字幕| 欧美激情二区三区| 久久综合激情| 亚洲福利av| 欧美福利视频在线观看| 久久久久这里只有精品| 黄色一区二区三区四区| 久久婷婷国产综合国色天香| 欧美制服丝袜| 激情欧美一区二区| 久久综合九色欧美综合狠狠| 久久久久久久一区二区| 樱桃国产成人精品视频| 久久五月婷婷丁香社区| 久久久之久亚州精品露出| 亚洲高清在线精品| 亚洲狠狠婷婷| 久久综合中文色婷婷| 亚洲精品小视频在线观看| 亚洲精品国产视频| 国产精品夫妻自拍| 久久久精品一区| 久久亚洲春色中文字幕久久久| 亚洲高清av| 日韩香蕉视频| 国产毛片精品视频| 免费视频久久| 欧美日韩一区在线观看| 亚洲一区在线看| 久久精品国产精品亚洲综合| 亚洲成人自拍视频| av成人免费在线观看| 国产欧美一级| 亚洲国产一区二区a毛片| 欧美日韩黄色大片| 久久riav二区三区| 美女诱惑一区| 午夜视频一区在线观看| 久久综合九色综合欧美就去吻 | 欧美精品一区二区高清在线观看| 在线一区二区三区做爰视频网站 | 国产精品分类| 免费看成人av| a4yy欧美一区二区三区| 夜夜精品视频一区二区| 国产欧美日韩另类一区| 久久在线91| 国产精品久在线观看| 欧美国产精品中文字幕| 激情久久久久| 另类图片综合电影| 欧美本精品男人aⅴ天堂| 韩国成人福利片在线播放| 亚洲毛片一区| 欧美国产亚洲视频| 亚洲黄色高清| 亚洲手机在线| 亚洲区一区二| 久久国产精品99国产精| 中文久久精品| 欧美成人第一页| 久久精选视频| 国产精品免费网站在线观看| 亚洲国产精品一区| 狠狠色噜噜狠狠色综合久| 中文av一区特黄| 亚洲精品日韩一| 久久久久久久网站| 久久午夜av| 国产亚洲精品久久久久动| 亚洲美女av黄| 亚洲免费av片| 你懂的视频一区二区| 免费成人网www| 国产午夜亚洲精品理论片色戒| 99精品视频免费| 亚洲乱码国产乱码精品精可以看 | 久久国产精品99国产精| 欧美中文字幕在线视频| 国产精品久久久久影院色老大| 亚洲精品午夜精品| 99爱精品视频| 欧美精品免费在线| 亚洲欧洲日产国产网站| 最新国产成人在线观看| 欧美mv日韩mv亚洲| 亚洲国产精品一区二区第一页 | 国产麻豆午夜三级精品| 亚洲午夜电影在线观看| 亚洲伊人伊色伊影伊综合网 | 久久久欧美精品sm网站| 国产人成精品一区二区三| 亚洲综合导航| 久久精品视频在线| 国产一区二区在线观看免费播放| 国产精品麻豆欧美日韩ww | 亚洲精品欧美| 麻豆精品视频在线观看| 亚洲国产成人精品久久久国产成人一区 | 这里只有视频精品| 午夜精品理论片| 国产农村妇女精品| 久久经典综合| 欧美国产综合| 亚洲一区二区免费在线| 国产日韩一区二区三区在线播放| 欧美在线视频观看| 欧美成人精品h版在线观看| 亚洲精品三级| 国产精品男gay被猛男狂揉视频| 亚洲欧美春色| 欧美va亚洲va国产综合| 亚洲美女色禁图| 国产精品腿扒开做爽爽爽挤奶网站| 午夜精品久久久| 欧美激情一区二区三区全黄| 亚洲视频网站在线观看| 国产亚洲精品美女| 欧美国内亚洲| 欧美一区二区三区四区在线观看地址 | 久久色中文字幕| 亚洲欧洲免费视频| 久久精品人人做人人爽电影蜜月| 在线免费观看欧美| 欧美午夜不卡| 久久久久这里只有精品| 在线一区二区三区做爰视频网站| 久久激五月天综合精品| 亚洲精品乱码久久久久久按摩观| 国产精品久久久久久久久久妞妞| 久久爱www久久做| 99re6这里只有精品视频在线观看| 久久精品视频导航| 亚洲图片欧美一区| 亚洲国产成人在线| 国产欧美日韩伦理| 欧美日韩亚洲另类| 蜜桃久久av一区| 午夜精彩国产免费不卡不顿大片| 亚洲国产高清一区二区三区| 欧美一区亚洲| 亚洲视频自拍偷拍| 亚洲高清久久网| 国产婷婷成人久久av免费高清 | 国产精品资源| 欧美成人伊人久久综合网| 亚洲欧美日本视频在线观看| 亚洲精选久久| 亚洲国产日韩欧美| 美女久久一区| 久久久久久久波多野高潮日日| 亚洲在线成人精品| 一区二区三区欧美视频| 在线播放中文字幕一区| 国产日韩欧美成人| 国产精品av免费在线观看 | 久久久999成人| 一本色道婷婷久久欧美| 亚洲国产精品福利| 国产日韩欧美高清| 国产欧美日韩精品丝袜高跟鞋| 欧美视频一区二| 欧美韩国日本综合| 欧美激情综合在线| 欧美高清免费| 欧美大片91| 欧美国产日韩a欧美在线观看| 久久亚洲综合色一区二区三区| 欧美一区在线直播| 欧美一区二区三区四区高清| 亚洲欧美色婷婷| 亚洲欧美电影在线观看| 亚洲自拍高清| 欧美亚洲免费电影| 久久大综合网| 久久精品导航| 美女视频网站黄色亚洲| 美女黄网久久| 欧美国产视频日韩| 欧美伦理91i| 欧美午夜精品理论片a级按摩| 欧美三级视频| 国产免费观看久久| 黄色成人在线观看| 亚洲国产精品成人综合色在线婷婷 | 欧美黄网免费在线观看| 欧美激情精品久久久| 欧美日韩精品伦理作品在线免费观看| 欧美日韩在线精品一区二区三区| 国产精品久久久久久久久久久久久| 国产精品视频免费一区| 国产一区三区三区| 亚洲高清影视|