0: kd> dd keservicedescriptortable
8055d700 80505460 00000000 0000011c 805058d4
8055d710 00000000 00000000 00000000 00000000
8055d720 00000000 00000000 00000000 00000000
8055d730 00000000 00000000 00000000 00000000
8055d740 00000002 00002710 bf80c349 00000000
8055d750 f7aeaa80 863d0340 863650f0 806f70c0
8055d760 025d954c 00000000 c136d144 00000001
8055d770 04a0f484 01cdcd68 00000000 00000000
第n個函式位址為:80505460 + 4 * n
第1個函式位址為:80505460 + 4 * 1
hookopenprocess測試從windbg
找出keservicedescriptortable起始位址
0: kd> dd keservicedescriptortable
8055d700 80505460 00000000 0000011c 805058d4
8055d710 00000000 00000000 00000000 00000000
8055d720 00000000 00000000 00000000 00000000
8055d730 00000000 00000000 00000000 00000000
8055d740 00000002 00002710 bf80c349 00000000
8055d750 f7aeaa80 863d0340 863650f0 806f70c0
8055d760 025d954c 00000000 1ffd4a44 00000004
8055d770 63676d84 01cdcd6a 00000000 00000000
找出openprocess的位址
首先找出他的序號為 0x7a
則位址為: 80505460 + 4 * 0x7a = 80505648
修改openprocess的位址 為00001234(亂改的)
0: kd> ed 80505648 00001234
檢視修改後的位址
0: kd> dd 80505648
80505648 00001234 805ee730 805ee394 805ab3d0
80505658 80615828 805c4baa 805cc696 805ee74e
80505668 805ee504 80617770 80646176 805ca4bc
80505678 805f8b10 805f473a 805f4926 805b93e8
80505688 8060f7e6 80577ed6 80617110 80617110
80505698 80540bc6 806113d8 80612038 8057ae64
805056a8 805bf61c 8057b1b2 8060f8ae 8057802a
805056b8 806168ac 8057ba1e 805d6c28 805a63c8
檢視工具檢測的結果
一般樹性結構
一.一般樹結點和樹的adt template class gtnode gtnode e v,gtnode lc null,gtnode rs null e value gtnode parent gtnode leftmostchild gtnode rightsibling bool islea...
廣義表一般概念
廣義表也是一種特殊的線性表,與線性表相比表中的資料元素可以是具體資料也可以是列表。記住 ls a1,a2,an 廣義表中ai為具體資料被稱為原子,廣義表中ai為列表被稱為子表。若作為廣義表中子表是該廣義表本身,可稱廣義表是遞迴的,此廣義表實際上是無限的列表。若廣義表非空,表中的第乙個元素 a1 為表...
GeneralTree 一般樹形結構類
這個類用於一般樹形,每個節點可以有多個分支,且數目不定。可以看做是二叉樹的變形形式。乙個節點除了父指標外還有左右兩個指標。左指標為孩子節點的起始指標,右指標為同父節點的兄弟節點的指標 例如 a的左指標為b,右指標為c,c的左指標為e,右指標為d 則,a,c,d為同兄弟節點。b為a的子節點,e為c的子...