【折腾心得】GTFO外挂实战

杂谈:

蛮难的。前前后后差不多经过了一个月的时间,这是一个比较大的项目,读懂项目的代码并不容易。但这也是从0到1的过程,我对游戏hack的实现有了新的理解,以后会继续学习。

学习笔记:

  • IDXGISwapChain类(交换链类) 是 DirectX Graphics Infrastructure (DXGI) 中的一个核心接口,用于管理显示表面的交换链(swap chain),这是实现双缓冲或三缓冲渲染的关键组件。
  • IDXGISwapChain中Present函数主要负责最终渲染。
  • 相同的类维护着同一张虚表,不同进程间IDXGISwapChain类的虚表地址可能不一样,但是内容是一样
  • 因为最终会把这个DLL注入到游戏进程中,所以后续执行的所有代码都在游戏的进程空间中运行。先手动创建一个“假”的 IDXGISwapChain 实例,内存会给这个实例化的类开辟连续的内存空间,在这个实例化的IDXGISwapChain类的内存空间的前8字节找到了类的虚表指针,因为同一个进程所有实例化的IDXGISwapChain类的虚表指针指向同一个地址,游戏也会自己实例化一个IDXGISwapChain类用来渲染画面。至此我就变相的找到了虚表,然后再在虚表的第九个位置找到Present函数的地址。
  • 难泵,写了老半天发现有个公开的kiero库写好了上述步骤。
  • #if、#elif、#else 和 #endif 预编译指令。

个人学习流程图:

成果图:

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇