Vvvvvoid 发表于 2022-5-10 17:21

【C++】D3D 11 HOOK 懒人版模型透视上色实现 - IMGui 菜单

本帖最后由 Vvvvvoid 于 2022-5-11 00:27 编辑

### 关于


此项目也是基于 GayHub 各种借鉴, 当然 也添加了很多自己新的东西
目前支持 x86/64 DX 11 的 HOOK , 其他版本还在调试中..
HOOK 原先是 MinHOOK 做的, 后来改成了Detours
透视+上色 应该是遮挡的部分跟显示出来的部分用不同颜色区分, 这块已经修复,就不换图了
管理大大看到的话帮我缩小下图片吧, 我不会哎..

### 开发环境
- DX SDK
- C++ / VS
- IMGui SDK
- Detours

#### DX 11 HOOK
- Present (画菜单,初始化 ImGUI 设备项,各种变量初始化操作)
- DrawIndexed (操作模型画面渲染 [透视/上色])

#### ImGUI 菜单

如图:


注入 DLL 后, 按 insert 显示菜单

- DrawFov/DrawFiilledFov#画个圆圈,fov_size 为圈的大小
- bg_alpha #设置透明度 范围: 0-1
- FindModel
      - FindModelType #查询模型方式
                - DrawType #渲染方式
                        - None #不操作
                        - DrawZ #禁用Z轴,实现透视效果
                        - DrawZ&DrawColor # 禁用Z轴 并且上色
                        - DrawHide # 不渲染,即删除该模型
                - FindByTable #懒人方式,通过捕获所有模型渲染记录,之后挨个模型进行渲染筛选
                        - 需要点 RefreshDrawData 来捕获模型数据, 数据会在下面的列表展示( 注意改选择框点一下有数据就可以关了, 不然会一直捕获,会卡)
                - FindBySlider #通过不停的调整Stride/IndexCount/vWidth/pscWidth 来范围过滤模型,进行渲染 (除了Stride 别的都有倍率)
                - Detach # unHook , 解绑DLL, 有时候游戏会掉, 不知道为啥


#### 匹配模型,懒人方式 FindByTable

1. 选择FindByTable
2. 选择DrawType 渲染方式
3. 点击 RefreshDrawData, 有数据后立马在点一下关掉,不然一直实时会很卡
4. 快捷键 alt + 0 / ctrl +0 来选择上一个/下一个捕获的模型,届时 模型会按照 2 选择的方式进行渲染
5. 匹配到想要的目标模型,按 end 来记录日志,或者点 Copy按钮复制到剪切板

##### 不同渲染方式效果如图

当前选择的模型:


默认不操作:


透视:


透视上色:


上色:


隐藏:


End 日志记录




#### 匹配模型,模糊匹配方式 FindBySlider

...没时间解释了, 先学会懒人方式,然后在看代码理解这里吧

### 后记

本人是 Java开发, C++ 这块了解甚少,D3D更少, 代码有问题的地方请及时提交ISSUE或者PR 给我, 谢谢~

### Download

DLL:
D3D11_bin_sample:
Src : https://github.com/marlkiller/d3dhook_imgui.git

Vvvvvoid 发表于 2023-1-6 09:36

9152pojie 发表于 2023-1-4 14:28
detours我记得64位的是商用版,32位可以免费用,不晓得现在是不是这样

好像是 github 上开源的

9152pojie 发表于 2023-1-6 12:01

Vvvvvoid 发表于 2023-1-6 09:36
好像是 github 上开源的

嗯,去github上看了一哈,的确开源了。以前x64是商用版

taxuewuhen 发表于 2022-5-10 17:50

支持下 多谢分享

sam喵喵 发表于 2022-5-10 20:05

大佬,用你这个detours需要收钱嘛

penglovepj 发表于 2022-5-10 20:33

好东西,支持啊,多多分享!!!

popdes 发表于 2022-5-10 20:47

谢谢分享, 学习下

Vvvvvoid 发表于 2022-5-10 23:57

sam喵喵 发表于 2022-5-10 20:05
大佬,用你这个detours需要收钱嘛

detours 是微软开源的hook框架, 挺好用的

bj9ye666 发表于 2022-5-11 00:01

今天的论坛给力好几个不错的软件很期待

YuXiAba 发表于 2022-5-12 22:04

好牛逼的样子,支持一下

hymnmx 发表于 2022-5-14 12:06

有用 谢谢分享

hymnmx 发表于 2022-9-21 23:52

感谢分享
页: [1] 2
查看完整版本: 【C++】D3D 11 HOOK 懒人版模型透视上色实现 - IMGui 菜单