易语言资源网 - 做最全的易语言资源下载社区
【周六更新】【2021开源大赛(第六届)】全部参赛作品信息 精易论坛授权登录

【原创】你以为你加载的Dll就是你以为你加载的Dll?   [复制链接]

    2022-01-15 17:25:34
    模块控件源码
    易语言资源网
    1258 次浏览
    来源链接

前言:

正文:

  • 实现原理:加载Dll的时候系统会使用ZwOpenFile进行打开Dll文件,此时,我们只需要hook了ZwOpenFile函数,然后进行简单的替换就可以实现替换加载Dll了!
  • 实现图:
  • Hook处理部分:
  • 查看其Dll列表,发现连列表中的路径也是错误的,这是因为我们只替换了Dll加载时被打开的句柄,R3下系统仍然以为我们加载的main.e,实际上main.e更不不可能用LoadLibrary加载起来,真正加载的是“测试Dll.dll”(在PCHunter中可以看到这个Dll被标红)

PS:

  • 我们不能只局限于伪装加载文件系统上的Dll,也可以尝试内存加载Dll用这个方法进行替换,不过处理文件句柄这个坑我实在没法处理,就摆烂了。


点我下载 (已有 59 次下载)

引用模块





引用支持库


源码文件名 支持库文件名 支持库标识
main.e 系统核心支持库 5.7 d09f2340818511d396f6aaf844c7e325
测试Dll.e 系统核心支持库 5.7 d09f2340818511d396f6aaf844c7e325


[错误报告]   上一篇:fpspread 超强表格修改之多项选择...     下一篇:易朗读 和带百d翻译 1.0.2...