吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 3949|回复: 71

[C/C++] C++17、x86/x64 挂钩库

  [复制链接]
小小沫涵 发表于 2022-1-16 14:16 | 显示全部楼层 |阅读模式

运行环境:
如 WIN10
涉及工具:VS2017/VS2019
如 VS2008、eclipse
编程语言:C++
如 C、java

以下为主题内容:
  • capstone 和 zydis 都支持作为反汇编后端,并且是完全抽象的。
  • 内联挂钩(x86/x64 Detour)

    • 在序言处放置一个 jmp 到回调,然后分配一个蹦床以继续执行原始函数
    • 完全在中间指令对象上运行,反汇编引擎是可交换的,默认包含顶点
    • 编译时未知调用 conv 时的 JIT 回调(参见 ILCallback.cpp)
    • 遵循已经挂钩的功能
    • 解决间接调用,例如通过 iat 和 hooks 底层函数
    • 重新定位序言并解析所有位置相关的代码
      • 分支到覆盖部分被解析到新的移动位置
      • 从移动的序言回到原始部分的 jmp 是通过 jmp 表解决的
      • 已移动部分内的重定位已解决(不使用重定位表,使用引擎反汇编)
    • x64 trampoline 不限于 +- 2GB,可以在任何地方,避免阴影空间 + 没有寄存器被破坏。
    • 如果内联钩子在中间步骤失败,则原始函数不会格式错误。所有写入都是批处理的,直到我们知道后面的步骤成功为止。
    • 完全支持跨架构挂钩。包括覆盖内存访问例程以允许从 32 位进程读取/写入 64 位内存。如果您足够聪明地编写回调所需的 shellcode,您可以从 32 位进程中挂钩 64 位。
    • 实现了有效的重新挂钩逻辑。这可用于对抗第三方将序言覆盖回原始字节。这被优化为几个简单的 memcpy,而不是在 hook() 中重新执行整个逻辑。
  • 运行时内联挂钩

    • 普通内联挂钩的所有优点,但 JIT 是与给定 typedef 和 A??BI 兼容的翻译存根。翻译存根会将参数移动到一个小结构中,该结构作为指向回调的指针传递,并允许欺骗返回值。这允许工具在运行时生成钩子翻译存根,允许在运行时才知道 typedef 的函数的完全内联钩子。
  • 虚拟功能交换 (VFuncSwap)

    • 交换 C++ VTable 中给定索引处的指针以指向回调
  • 虚拟表交换 (VTableSwap)

    • 在 c++ VTable 上执行深拷贝,并用新分配的副本替换指向表的指针。然后交换副本中的指针条目以指向回调
  • 软件断点挂钩(BreakpointHook)

    • 用 0xCC 覆盖函数的第一个字节并在异常处理程序中调用回调。为用户提供一种自动恢复原始覆盖字节的方法
  • 硬件断点挂钩(HWBreakpointHook)

    • 设置 CPU 的调试寄存器,为调用线程添加一个硬件执行 BP。在异常处理程序中调用回调。请记住,HW BP 是每个线程的,调用 hook() 的线程必须与被挂钩的线程相同。您可能会发现一个快速绕道,然后在绕道回调中设置 HWBP,然后取消挂钩成为一个有用的构造。
  • 导入地址表挂钩 (IatHook)

    • 通过 PEB 解析加载的模块,找到 IAT,然后将 thunk 指针交换到回调。
  • 导出地址表挂钩(EatHook)

    • 通过 PEB 解析加载的模块,找到 EAT,然后交换指针以导出到回调。由于这是一个 32 位的偏移量,我们可以选择分配一个蹦床存根,以在超过 32 位时将其完全传输到回调。`

下载地址 https://lomo.lanzouo.com/ipW1Jyucm4h


评分

参与人数 19HB +12 THX +8 收起 理由
花盗睡鼠 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
消逝的过去 + 1
金少 + 1
agan8888 + 1
武清一点点 + 1
一个好名字 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
空白001 + 1
蛋蛋蛋 + 1
yhfyhf + 1
成丰羽 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
pmm018 + 1
kll545012 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
小声点我布隆 + 1
jgs + 1
用户名小秒 + 1
h112233h456 + 1
king51999 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
brswbx201610 + 1
zxjzzh + 2 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
1265029462 发表于 2022-1-22 08:36 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
高贵与白羊 发表于 2022-1-22 22:43 | 显示全部楼层

被标题吸引进来了,回复看看
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
糟糕笑 发表于 2022-1-22 22:53 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
独特迎豆芽 发表于 2022-1-22 22:54 | 显示全部楼层

威武霸气!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
gesq32957 发表于 2022-1-23 16:33 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
含羞草41 发表于 2022-1-23 16:34 | 显示全部楼层

大佬无敌
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
omgTsQ6917 发表于 2022-1-24 01:39 | 显示全部楼层

好家伙,我直接好家伙!!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
hZW13 发表于 2022-1-24 01:40 | 显示全部楼层

谢谢分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
NZbn70245 发表于 2022-1-24 05:56 | 显示全部楼层

感谢楼主
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层
7层
8层
9层
10层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

快速回复 返回顶部 返回列表