d3d透视逆向篇:第9章 透视之模型过滤

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

原理:hook DrawIndexedPrimitive和DrawPrimitive绘图函数
GetStreamSource 检索绑定到指定数据流的顶点缓冲区。获取模型索引号
过滤删除一些多余的模型画图,保留人物和玩家怪物的模型。
SetRenderState()渲染状态函数,改变其中的渲染参数,可实现不同的透视效果。

DWORD g_jmp_oldAddr = NULL;

__declspec(naked) HRESULT WINAPI Old_DrawIndexedPrimitive(
	LPDIRECT3DDEVICE9 m_pDevice,
	D3DPRIMITIVETYPE Type,
	INT              BaseVertexIndex,
	UINT             MinIndex,
	UINT             NumVertices,
	UINT             StartIndex,
	UINT             PrimitiveCount)
{
   
	_asm
	{
   
		mov edi, edi
		push ebp
		mov ebp, esp
		mov eax, g_jmp_oldAddr
		jmp eax
	}

}    

HRESULT  WINAPI MyDrawIndexedPrimitive(LPDIRECT3DDEVICE9  pdevice,
	D3DPRIMITIVETYPE Ty
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值