Windows DLL劫持工具汇总

大类
Windows
逆向
技术标签
逆向-Windows
原理研究-Windows
开发-HookPatch-Windows
优先级
Low
开始日期
Jan 31, 2020
状态
Accumulative
Public
Public
最后更新
Jan 31, 2022
  • DLL劫持的实现实际上就是DLL的重定向,将原dll中的函数重定向,并选择性的hook一些函数
  • 目前发现的实现的方式有
    • 静态forward definition
    • 动态wrapper
      • 动态wrapper的方案可以不需要原DLL,直接单独使用
      • 使用VC直接提供的Delay Load
        • 直接链接目标DLL的lib文件,并通过/DELAYLOAD开关设置目标dll为延迟加载,随后再将原DLL的导出符号直接导出,即可借用VC自带的delayload实现wrapper
        • 可以通过dll-hijacking生成forward definition,并随后将/export:XXX=XXX.XXX,@xxxx,批量替换为/export:XXX,完成上面的流程
      • 使用LoadLibrary API强行wrap
        • 暂未发现工具