《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 業界動態 > 網絡安全編程:SSDT(系統服務描述表)

網絡安全編程:SSDT(系統服務描述表)

2021-07-31
來源:計算機與網絡安全
關鍵詞: SSDT 病毒 本地API

  很多游戲保護系統中,或一些殺毒軟件中,都會對該表進行修改,從而改變系統函數調用流程來起到反外掛、反病毒的作用。同樣,病毒也在修改該表,從而修改系統函數調用流程來完成其自身的目的。這張非常關鍵的表叫作SSDT,即System Service Descriptor Table(系統服務描述表)。這張表的作用是把用戶層的Win32 API和內核層的API建立一個關聯。在該表中維護非常多Native API,或稱本地API。下面通過WinDbg來查看該表。

  使用WinDbg連接到虛擬機上,然后在命令提示符處輸入dd KeServiceDescriptorTable命令,會得到一些十六進制的輸出。KeServiceDescriptorTable是Ntoskrnl.exe導出的一個指針,用來指向SSDT表。下面來查看命令的輸出結果:

  kd> dd KeServiceDescriptorTable

  80553fa0 80502b8c 00000000 0000011c 80503000

  80553fb0 00000000 00000000 00000000 00000000

  80553fc0 00000000 00000000 00000000 00000000

  80553fd0 00000000 00000000 00000000 00000000

  80553fe0 00002710 bf80c0b6 00000000 00000000

  80553ff0 fc142a80 80e2d890 80cee0f0 806e2f40

  80554000 00000000 00000000 c169a786 00009a34

  80554010 3beab1c6 01cc052a 00000000 00000000

  在該輸出中,第一行就是SSDT表,該表中的80502b8c是一個函數指針數組,該指針數組保存了所有Native API的函數地址,0000011c是數組的大小,80503000里面保存的是一個參數個數數組,與Native API相對應。將SSDT定義成一個結構體,具體如下:

  typedef struct _SERVICE_DESCRIPTOR_TABLE

  {

  PULONG ServiceTableBase;

  PULONG Reseave;

  ULONG NumberOfServices;

  PUCHAR ParamTableBase;

  }SERVICE_DESCRIPTOR_TABLE, *PSERVICE_DESCRIPTOR_TABLE;

  要想在驅動中獲得該表,需要使用Notokrnl.exe導出的KeServiceDescriptorTable,將其定義如下:

  extern PSERVICE_DESCRIPTOR_TABLE KeServiceDescriptorTable;

  有了上面的SSDT表和KeServiceDescriptorTable的定義,就可以編寫與SSDT相關的程序了,不過似乎還少點什么。表里面對應的Native API到底是什么?用WinDbg來看一下,輸入dd 80502b8c,輸出結果如下:

  kd> dd 80502b8c

  80502b8c 8059a948 805e7db6 805eb5fc 805e7de8

  80502b9c 805eb636 805e7e1e 805eb67a 805eb6be

  80502bac 8060cdfe 8060db50 805e31b4 805e2e0c

  80502bbc 805cbde6 805cbd96 8060d424 805ac5ae

  80502bcc 8060ca3c 8059edbe 805a6a00 805cd8c4

  80502bdc 80500828 8060db42 8056ccd6 8053600e

  80502bec 806060d4 805b2c3a 805ebb36 8061ae56

  80502bfc 805f0028 8059b036 8061b0aa 8059a8e8

  全都是一些地址值比較接近的函數地址,為什么說是函數地址?因為這是函數指針數組。輸入u 8059a948命令,輸出如下:

  kd> u 8059a948

  nt!NtAcceptConnectPort:

  8059a948 689c000000 push 9Ch

  8059a94d 6838a14d80 push offset nt!_real+0x128 (804da138)

  8059a952 e8b9e5f9ff call nt!_SEH_prolog (80538f10)

  8059a957 64a124010000 mov eax,dword ptr fs:[00000124h]

  8059a95d 8a8040010000 mov al,byte ptr [eax+140h]

  8059a963 884590 mov byte ptr [ebp-70h],al

  8059a966 84c0 test al,al

  8059a968 0f84b9010000 je nt!NtAcceptConnectPort+0x1df (8059ab27)

  從輸出可以看出,8059a948是NtAcceptConnectPort()函數的地址。再來看一個地址,輸入u 805e7db6命令,輸出如下:

  kd> u 805e7db6

  nt!NtAccessCheck:

  805e7db6 8bff mov edi,edi

  805e7db8 55 push ebp

  805e7db9 8bec mov ebp,esp

  805e7dbb 33c0 xor eax,eax

  805e7dbd 50 push eax

  805e7dbe ff7524 push dword ptr [ebp+24h]

  805e7dc1 ff7520 push dword ptr [ebp+20h]

  805e7dc4 ff751c push dword ptr [ebp+1Ch]

  這次輸出的是NtAccessCheck()函數的反匯編代碼。在SSDT表中,第3個參數表明,這個數組的大小是0x11c,也就是數組最后一項的下標是0x11b。再來看下標為0x11b的數組項中保存的地址是多少。輸入命令dd 80502b8c + 11b * 4,80502b8c是數組的起始地址,11b是數組下標,那么乘4是什么原因呢?數組地址的定位是通過數組首地址+下標×數組元素字節數得出的。一個函數的地址占用4字節,因此要做乘4的操作。該命令輸出如下:

  kd> dd 80502b8c + 11b * 4

  80502ff8 805c2798 0000011c 2c2c2018 44402c40

  80503008 1818080c 0c040408 08081810 0808040c

  80503018 080c0404 2004040c 140c1008 0c102c0c

  80503028 10201c0c 20141038 141c2424 34102010

  80503038 080c0814 04040404 0428080c 1808181c

  80503048 1808180c 040c080c 100c0010 10080828

  80503058 0c08041c 00081004 0c080408 10040828

  80503068 0c0c0404 28240428 0c0c0c30 0c0c0c18

  再用u命令來查看805c2798處的反匯編代碼。輸入命令u 805c2798,輸出如下:

  kd> u 805c2798

  nt!NtQueryPortInformationProcess:

  805c2798 64a124010000 mov eax,dword ptr fs:[00000124h]

  805c279e 8b4844 mov ecx,dword ptr [eax+44h]

  805c27a1 83b9bc00000000 cmp dword ptr [ecx+0BCh],0

  805c27a8 740d je nt!NtQueryPortInformationProcess+0x1f (805c27b7)

  805c27aa f6804802000004 test byte ptr [eax+248h],4

  805c27b1 7504 jne nt!NtQueryPortInformationProcess+0x1f (805c27b7)

  805c27b3 33c0 xor eax,eax

  805c27b5 40 inc eax

  數組中最后一項保存的是NtQueryPortInformationProcess()函數的地址。




電子技術圖片.png

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
在线亚洲精品福利网址导航| 亚洲国产99精品国自产| 国产一区二区三区高清| 国产精品v欧美精品v日韩| 欧美理论片在线观看| 男男成人高潮片免费网站| 久久久成人网| 久久精品成人一区二区三区蜜臀| 亚洲一区二区三区高清| 亚洲视频一区在线| 亚洲一二三区在线| 亚洲午夜精品福利| 亚洲午夜免费视频| 亚洲一区日韩在线| 亚洲小说春色综合另类电影| 一区二区三区精品视频在线观看| 亚洲最黄网站| 亚洲视频网在线直播| 一本色道久久综合亚洲精品小说| 日韩小视频在线观看| 洋洋av久久久久久久一区| 日韩一级在线| 亚洲一区二区三区精品动漫| 在线视频一区观看| 亚洲一区二区三区激情| 小黄鸭精品aⅴ导航网站入口| 性色av一区二区三区在线观看 | 欧美麻豆久久久久久中文| 欧美剧在线观看| 欧美日韩国产黄| 国产精品久久久久国产a级| 国产九九视频一区二区三区| 国产一区二区三区成人欧美日韩在线观看| 国产一区二区三区观看| 在线欧美日韩国产| 亚洲精品日韩精品| 亚洲影院一区| 久久成人免费网| 亚洲人成人一区二区在线观看 | 久久精品一区| 美女91精品| 欧美日韩精品一区二区三区| 国产精品激情| 国产一区日韩一区| 亚洲国产小视频在线观看| 日韩一区二区高清| 亚洲欧美日韩视频一区| 久久精品一级爱片| 一本一本久久a久久精品综合麻豆| 亚洲一区www| 久久精品一区二区三区四区| 女生裸体视频一区二区三区| 欧美亚洲成人网| 国产在线观看精品一区二区三区| 亚洲国产一区二区a毛片| 亚洲五月婷婷| 亚洲国产成人不卡| 亚洲性线免费观看视频成熟| 久久久久久久久久久成人| 欧美精品亚洲一区二区在线播放| 国产精品久久久久久亚洲调教 | 亚洲国产91| 亚洲一区二区三区久久| 久久免费视频观看| 欧美日韩精品免费观看视频完整| 国产精品一区在线观看你懂的| 136国产福利精品导航网址应用| 一区二区三区精品久久久| 欧美一区二区三区成人| 亚洲美女免费精品视频在线观看| 校园激情久久| 欧美大片va欧美在线播放| 国产精品午夜电影| 亚洲欧洲精品一区二区三区不卡 | av不卡在线| 久久久久综合一区二区三区| 欧美日韩视频一区二区三区| 国内精品99| 亚洲一区二区欧美日韩| 亚洲精品色图| 久久精品二区三区| 欧美日韩一级大片网址| 黄色一区二区三区| 亚洲在线免费视频| 一区二区三区 在线观看视| 久久视频免费观看| 国产精品日韩欧美一区二区| 亚洲欧洲一区二区在线观看| 欧美在线观看网址综合| 亚洲视频一二| 欧美精品偷拍| 亚洲成人在线| 久久精品一本| 久久国产精品亚洲77777| 欧美日韩综合视频网址| 亚洲国产一区二区三区高清| 欧美一区二区三区精品| 亚洲欧美激情精品一区二区| 欧美精品日韩三级| 永久久久久久| 久久国产精品久久久| 欧美在线高清视频| 国产精品国产自产拍高清av王其| 亚洲精品资源美女情侣酒店| 亚洲精品综合| 欧美成人精品福利| 亚洲动漫精品| 亚洲国产欧美在线| 麻豆国产精品一区二区三区| 国产午夜精品一区二区三区欧美 | 亚洲日本中文| 亚洲精品综合在线| 欧美福利一区| 亚洲电影自拍| 亚洲狼人精品一区二区三区| 欧美a级片一区| 一区二区在线视频观看| 久久精品国产欧美亚洲人人爽| 久久av一区二区三区漫画| 国产精品五区| 性欧美xxxx大乳国产app| 久久精品国产99| 国产一区二区福利| 久久精品国产成人| 老司机午夜精品视频| 精品av久久久久电影| 久久精品一区四区| 另类激情亚洲| 91久久精品一区| 夜夜精品视频| 欧美午夜精品久久久久久久| 亚洲私人黄色宅男| 欧美中文字幕精品| 国产在线一区二区三区四区| 欧美中文在线免费| 久色成人在线| 亚洲精品黄色| 亚洲一二三区视频在线观看| 国产精品国产三级欧美二区| 亚洲欧美色一区| 久久永久免费| 亚洲国产精品va在线看黑人动漫| 99热免费精品| 国产精品成人免费视频| 午夜影视日本亚洲欧洲精品| 久久免费午夜影院| 最新亚洲电影| 亚洲欧美日韩一区二区在线| 国产伦精品一区二区三区高清 | 亚洲精品一品区二品区三品区| 欧美日本高清视频| 亚洲一区二区三区视频| 久久久久久自在自线| 亚洲福利专区| 亚洲一区二区欧美| 国产区精品在线观看| 亚洲国产另类久久精品| 欧美日韩精品系列| 午夜久久久久久| 欧美成人a视频| 中文网丁香综合网| 久久精品免费看| 亚洲黄色精品| 欧美一区二区视频免费观看| 韩国三级电影久久久久久| 99av国产精品欲麻豆| 国产精品夜色7777狼人| 亚洲激情视频在线| 欧美午夜一区二区| 久久精品99久久香蕉国产色戒| 欧美激情欧美狂野欧美精品| 亚洲综合清纯丝袜自拍| 女同性一区二区三区人了人一| 亚洲视频精品| 老司机午夜精品| 亚洲视频每日更新| 欧美va天堂在线| 亚洲综合激情| 欧美日本亚洲视频| 久久高清国产| 欧美午夜电影完整版| 亚洲电影视频在线| 欧美日韩一区高清| 久久成人综合视频| 欧美视频免费在线| 亚洲高清123| 国产精品国码视频| 亚洲人成网在线播放| 国产欧美精品久久| 亚洲天堂网在线观看| 在线观看亚洲视频啊啊啊啊| 午夜欧美大片免费观看| 亚洲精品美女在线| 麻豆91精品| 亚洲欧美日韩国产成人精品影院| 欧美黑人一区二区三区| 久久av红桃一区二区小说| 国产精品99免费看 | 久久se精品一区二区| 最新精品在线|