d3d透视逆向篇:第5课:D3D9游戏黑屏优化2 DrawIndexedPrimitive

本教程介绍了如何进行D3D9游戏的黑屏优化,特别是针对DrawIndexedPrimitive的处理。内容包括优化CPU和GPU性能,并为后续的3D透视功能做准备。提供技术交流QQ群和测试效果展示。
摘要由CSDN通过智能技术生成

本逆向安全章节是我业余之间编写的,也借鉴了前辈的经验来给大家做一个简单的文字逆向安全教程,欢迎大家讨论和指正,共同学习。禁止非法用途。教程我从最简单的开始给大家做一个简单的讲解d3d 类的3d游戏和fps游戏黑屏、透视等功能。后面有更多的经验分享给大家。

这节课还是用老掉牙的方法,对上节课完善。这节课目的是:
1.你想你实现的一些功能不想给别人看到
2.优化cpu和GPU
3.这个知识后期做透视做准备
技术讨论QQ:2273545181 Q群:550839408

DrawPrimitive渲染  虚函数,不能根据函数名称获取函数地址 HOOK?
DrawIndexedPrimitive渲染
SetRenderState() 渲染状态
BeginScene开始渲染
EndScene结束渲染
Present显示后置缓冲的动画

HRESULT DrawIndexedPrimitive (
D3DPRIMITIVETYPE Type,
INT BaseVertexIndex, UINT MinIndex,
UINT NumVertices, UINT StartIndex,
UINT PrimitiveCounts);

偏移计算=5F097740-5f040000   =  57740     Loadlibrary 
公式: DrawIndexPrimitive函数地址=模块D3D9基地址+偏移

	//HMODULE hm = LoadLibrary("d3d9.dll");  //575F0
	DWORD addr_real_drawPrimitive = (DWORD)hm + 0x575F0;  //挂钩 addr_real_drawPrimitive变量的值就是函数地址
	HookDetours(&(PVOID&)addr_real_drawPrimitive, (PVOID)NewDrawPrimitive, GetCurrentThread()); 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值