TLS = thread local storage

為了避免執行續之間的東西打架, 所以發展出TLS機制

有分動態跟靜態

靜態會走 __declspec 的prefix,

Ch22

DLL injection & hooking

  1. 透過registry來inject dll

appinit_dlls : 用來加file, 此file只能有file name, 且必須放在系統下,

時間點是process起來且用了user32.dll, 他會去調用

缺點: 有用user32.dll的process才能inject, 且無差別inject可能造成crash, 只有想要用你的dll的時候才做inject而不是起來的時候就inject

不備建議

  1. set windowsHookEx

可以用不同的hook type, 當甚麼情況發生時, 要甚麼方式通知我

  1. create Remote Thread

把想要的資料塞到別人身上, 可以在別人身上load lib

問題: 可能沒有想要的dll, 可以透過kernel32內的lib拿出來用, 使用他的loadlibraryA

先要一塊記憶體位子 ,

  1. 用一個dll續替換原本的dll, 擺到對的位子即可

  2. 用createprocess來做, 先建了以後暫停, 再把東西塞進去, 再讓他繼續跑

  3. api hooking 透過jump cpu的做法來跳到想要的位子

results matching ""

    No results matching ""