男人吃奶摸下挵进去好爽,日日躁夜夜躁狠狠躁,freesexvide0s性欧美高清,高清freexxxx性国产,无码人妻一区二区三区一,乱人伦中文字幕成人网站在线,亚洲欧美综合一区二区三区 ,神马影院在线视频观看
知識學堂
  • ·聯系電話:+86.023-75585550
  • ·聯系傳真:+86.023-75585550
  • ·24小時手機:13896886023
  • ·QQ 咨 詢:361652718 513960520
當前位置 > 首頁 > 知識學堂 > 常見技術問題
終止進程的多種方法
更新時間:2012-06-10 | 發布人:本站 | 點擊率:636
1.使用 FindWindow 的方法,然后想窗口發送 WM_CLOSE 的消息

       2.找到進程的線程, PostThreadMessage 發送 WM_QUIT 消息結束主線程

       3.OpenThread ---> TerminateThread

       4.RemoteExitProcess,以 PROCESS_CREATE_THREADVM_OPERATION方式打開進程,然后創建個遠程線程,線程開始地址是 ExitProcess 參數0 ,程序自行了斷.

       5.首先確保進程能被打開(8和9介紹),然后創建一個線程去 DebugActiveProcess 他,然后什么也不做退出線程,程序無人接管,于是掛掉~

       6.以 VM_OPERATION方式打開進程, 然后調用 NtUnmapViewOfSection 卸載掉他的ntdll.dll 這個時候程序還未崩潰,然后再隨意發送個消息給它,它的程序一經調用直接就會異常,但是ntdll已經掛掉,無法用戶空間異常處理,自行了斷~(我認為這個方法應和往進程空間寫垃圾數據屬于同一方法)

       7.發送鍵盤 ESC 單擊的消息(這個和發送窗口消息不能算同一個的).

       8.下面是重點要介紹的:-----------------------------
由于CrackMeApp打開了驅動的文件句柄,所以直接不能卸載驅動的.因此需要把這個句柄給關閉.
于是怎么去獲取遠程的文件句柄呢?首先想到的是 DuplicateHandle ,
BOOL DuplicateHandle(
   HANDLE hSourceProcessHandle,   // handle to source process
   HANDLE hSourceHandle,       // handle to duplicate
   HANDLE hTargetProcessHandle,   // handle to target process
   LPHANDLE lpTargetHandle,    // duplicate handle
   DWORD dwDesiredAccess,        // requested access
   BOOL bInheritHandle,       // handle inheritance option
   DWORD dwOptions             // optional actions
);

先看最后一個參數:
DUPLICATE_CLOSE_SOURCE
Closes the source handle. This occurs regardless of any error status returned.
DUPLICATE_SAME_ACCESS
Ignores the dwDesiredAccess parameter. The duplicate handle has the same access as the source handle.

也就是說當我們選擇DUPLICATE_CLOSE_SOURCE時,遠程的句柄就會自動關閉了

第一個參數,我們可以直接OpenProcess(PROCESS_DUP_HANDLE ,XXX)獲得,
第二個參數比較難找,就是CrackMeApp進程里打開驅動的句柄,要想獲得這個我們得借助個ntdll.dll中的一個 API, ZwQuerySystemInformation 這個可以獲得整個系統中所有的句柄信息,我們可以全部找出來,然后判斷哪些句柄是屬于 CrackMeApp進程的,并且ObjectTypeNumber類型為文件類型的.關于這個的具體實現可以看我的實現代碼.

typedef struct _SYSTEM_HANDLE_INFORMATION { // Information Class 16
   ULONG ProcessId;
   UCHAR ObjectTypeNumber;
   UCHAR Flags;   // 0x01 = PROTECT_FROM_CLOSE, 0x02 = INHERIT
   USHORT Handle;
   PVOID Object;
   ACCESS_MASK GrantedAccess;
} SYSTEM_HANDLE_INFORMATION, *PSYSTEM_HANDLE_INFORMATION;

這樣CrackMeApp進程中通過CreateFile打開的句柄就全找到了,一般有三個,我們可以把它全部都關閉,也可以只關閉最后一個(因為最后就是打開驅動的句柄,打開驅動是最后一次調用CreateFile).


這個我就得到了第二個參數,下面的參數都很簡單了~

于是一調用這個 DuplicateHandle ,我們不僅關閉了遠程的句柄,而且還獲得了驅動的句柄,為所欲為了~~

于是我的第8個方法就是發送IO請求到CrackMeApp的驅動里,請求它修改被保護的進程PID為0,這樣我們就可以用常規方法結束它了(Open+Terminate)

       9.上面方法的遠程句柄關閉了,我們就自然可以去卸載驅動了~于是這個就是去 ZwUnloadDriver或者停止了它的Service.這樣再用常規方法結束~~

       10.所有的win32子系統的進程都會有一個句柄在csrss.exe進程里面,CrackMeApp.exe自然也在,于是我們就可以把 csrss.exe 里面的句柄給 dup 過來自己使用,DUP過來的方法大致和上面相同,不過判斷的進程該為csrss,類型要該為5(進程句柄的類型),然后呢對每個進程句柄做一個ZwQueryInformationProcess() 參數為 BASIC_INFORMATION=0 的查詢,看看這個句柄是不是CrackMeApp的 ,如果是就直接拿來用,TerminateProcess之~

---------------以下是用借助驅動來結束的-----------

       11.用驅動patch了它的保護的PID值,然后用戶空間里常規方法~

       12.用驅動恢復SSDT中ZwOpenProcess,這里我偷懶直接硬編碼,調用那個驅動自身的恢復SSDT的函數,嘿嘿~~之后用戶空間里常規方法(這個和11不算一種的)

       13.直接在驅動里調用 NtOpenProcess繞過它的SSDT HOOK就可以了,不過應該注意的是需要先把 KTHREAD 結構體里的 PreviousMode 值改為KernelMode,否則有可能會失敗的~
獲取句柄后調用ZwTerminateProcess,這個不需要修改PreviousMode,直接用就可以~

       14.和13的方法不同的是打開句柄的方法,使用了 PsLookupProcessByProcessId+ObOpenObjectByPointer的方法,然后還是調用 ZwTerminateProcess~(這個也要算不同的,,因為規則上曾經說過ObXXX和NtXX算不同的API的)
15.最后一種了,首先獲取CrackMeApp線程的TID,然后根據 PsLookupThreadByThreadId 獲取 EThread 指針,然后向這個線程插入APC調用,在APC過程函數中,主要是執行的 ZwTerminateProcess( 0xffffffff, 0 );這個東西就是結束自己的意思(嘿嘿,,這個方法是我從IceSword里面摳出來的)~~本來想去調用Nt/ZwTerminateThread,結果那個函數沒導出還得自己找,于是索性就簡單點ZwTerminateProcess了.

       16 內存清零大法

       http://hi.baidu.com/%C3%F7%ED%F8%B5%C4%D0%C4/blog/item/255cd583fe406698f603a6f2.html

       17 作業方式終止

     ZwOpenProcess->ZwCreateJobObject->ZwAssignProcessToJobObject->ZwTerminateJobObject

二 枚舉進程

      轉自V大http://hi.baidu.com/killvxk這是V大的空間,請自己查找

      killvxk的驅動查進程:
      1.native api獲得進程表a
      2.通過activelist獲得進程表b
      3.通過pspCidTable獲得進程表c
      4.通過handletablelisthead獲得進程表d
      5.通過csrss的handletable用2種方法枚舉獲得進程表e和f
      6.通過掃描當前進程的handletable獲得進程表g
      7.遍歷表c的每一個進程的SessionProcessLinks獲得進程表h
      8.遍歷表c的每一個進程Vm.WorkingSetExpansionLinks獲得進程表i
      9.通過Typelist分別取process和thread的表j和表k
      10.通過表k得到進程表l
      11.搜索內存中的threadobject和processobject得到進程表m
      12.通過Wait/Dispatch得到進程表n
      13.如果系統是Win2003以上遍歷表c的每一個進程的MmProcessLinks得到表o
      14.綜合上面的進程表得到表p
      15.對表p每一個進程做HandleTable,Vm.WorkXX,MmProcessXX,SessionProcessList掃描得到表q
      16.枚舉HWNDHandle得到進程表r
      17.枚舉JobObject得到表s
      18.綜合得表t,此時枚舉結束~~

動態部分:
KiReadyThread
和KiSwapContext的鉤子
還有KiService鉤子
還有CreateProcessNotifyRoutine和CreateThreadNotifyRoutine
NtCreateThread鉤子
動態維護一張表,靜態枚舉結束后綜合兩表~


三 進程隱藏

         轉自http://hi.baidu.com/sudami/blog/item/96f1f245db0e2c25cffca385.html

         1 HOOK SSDT---> ZwQuerySystemInformation

          2 在EPROCESS中的ActiveProcessLinks 里摘除自身,也就是操作鏈表,摘除一個結點.

          3 從csrss.exe進程的句柄表中摘除自身    參看 futo_enhaced 從http://hi.baidu.com/sudami/搜索下載

          4 掛鉤SwapContext,自己實現線程調度

          參考地址:http://hi.baidu.com/%C3%F7%ED%F8%B5%C4%D0%C4/blog/item/8852b4c58b5b72a18226ac17.html

           5 從PspCidTable表中摘除自身        參看     futo_enhaced      從http://hi.baidu.com/sudami/搜索下載

           6 清除標志 防止暴力搜索內存

四 進程防殺

(貌似只有思路,其實代碼網上都有,請自行GOOGLE吧)

           HOOK法:

           1 HOOK HOOK NtTerminateProcess

           2 HOOK ZWOpenProcess/ ObReferenceObjectByHandle    

           參考:http://hi.baidu.com/%C3%F7%ED%F8%B5%C4%D0%C4/blog/item/6a4486f8a5c82d51242df253.html     

           3 HOOK hook KiInsertQueueApc/KeInsertQueueApc

           其實從上到下可HOOK的地方很多,請發揮想象力。

           DKOM法:

           5 kernel apc disable

           6 抹去PspCidTable

           7 thread terminated

           8 thread cross thread flags

分享到: QQ空間 新浪微博 開心網 人人網
主站蜘蛛池模板: 99久久er这里只有精品18| 强迫妺妺hd高清中字| 夜夜躁日日躁狠狠久久av| japan丰满人妻hd| 日本妇人成熟免费中文字幕| 天堂av男人在线播放| 久久99国产综合精品免费| 韩国午夜理论在线观看| 精精国产xxxx视频在线| 亚洲日韩精品欧美一区二区| 久久无码人妻精品一区二区三区| 国产在线精品国自产拍影院同性| 精品国偷自产在线视频| 一二三四社区在线中文视频| 妇女bbbb插插插视频| 亚洲精品无码专区在线| 在线看片免费人成视频大全| 欧美性猛交╳xxx乱大交| 又硬又粗进去好爽免费| 人妻精品无码一区二区三区| 婷婷涩涩五月天综合蜜桃| 色爱区综合五月激情| 777米奇色狠狠俺去啦奇米77| 国产女人好紧好爽| 亚洲精品无amm毛片| 一面上边一面膜下边的免费| 欧美亚洲国产一区二区三区| 人与性动交aaaabbbb视频| 成人+国产+高清| 激情五月婷婷丁香六月| cijilu在线视频| 亚洲小说图区综合在线| 樱桃视频高清免费观看在线| 7777奇米四色眼影| 两个人的视频全免费观看在线| 一区二区视频日韩免费| 玩弄丰满少妇人妻视频| 少妇爽到呻吟的视频| 在线视频免费观看| 人妻熟女av一区二区三区| 天天看片视频免费观看|