前言
最近的游戏环境是真的差啊!!!实在想控诉一下这样制作和开外挂的人了,单机你要mod我是没意见的,那影响的只是npc的体验感;但是联机的游戏你开外挂是不是过分了?!!
按我的理解外挂分为按键挂、内存挂、还有为挂机而生的懒人挂
我第一次开外挂应该是在2010年cf出来的时候叭,为了一把黄金m249。没日没夜的玩。(有点怀念那时候了)
原理
内存挂主要是writeprocessmemory函数进行内存的写入,通过偏移找基地址。
像以前的ce或者ve
前言
最近的游戏环境是真的差啊!!!实在想控诉一下这样制作和开外挂的人了,单机你要mod我是没意见的,那影响的只是npc的体验感;但是联机的游戏你开外挂是不是过分了?!!
按我的理解外挂分为按键挂、内存挂、还有为挂机而生的懒人挂
我第一次开外挂应该是在2010年cf出来的时候叭,为了一把黄金m249。没日没夜的玩。(有点怀念那时候了)
原理
内存挂主要是writeprocessmemory函数进行内存的写入,通过偏移找基地址。
像以前的ce或者ve
这种属于单存修改内存值,稍微高级一点的。
直接搞逻辑重塑了。
另外一种协议挂算是高级版本了,如图。
这种辅助其实实际上就是一种hook劫持数据包然后分析数据包的内容进行一些小手脚,或者发送指定的数据包代替人工对宠物进行训练。懒人必备!
重点来了敲黑板!
FPS挂
又名家里无人做饭挂!此挂让各大游戏厂商都头疼不已。监管难度大,种类花样多,严重影响游戏运营和用户体验感。
这种挂原理也就两个叭。
1.通过内存读取敌法位置
通过三角函数算法计算
通过矩阵进行计算
2.通过hook D3D函数,清除指定的深度缓存
使用D3DHook是相对而言比较轻松的一种写法,而且也是比较固定的一个框架。
简单的D3D知识
Copy to clipboard
// 从索引缓存区绘制图元,参数 1 为图元格式,参数 4 为顶点数,参数 6 为三角形数
m_pDevice->DrawIndexedPrimitive( D3DPT_TRIANGLELIST, 0, 0, 4, 0, 4 );
这句代码就是用来绘制我们的模型的,是位于:
Copy to clipboard
m_pDevice->BeginScene();
/**/
m_pDevice->EndScene();
之间的一句代码,如果将其注释掉,那么将不会再绘制模型了,这也是我们实现Hook的一个关键点,因为我们在绘制完毕模型之后,我们就可以调用类中的一个方法:m_pDevice->SetRenderState( D3DRS_ZENABLE, D3DZB_FALSE );这句代码如果不使用,默认为FALSE,但是开发人员为了将我们的模型隐藏在建筑物的后面,他会将我们的这个代码设置为TRUE,以此进行任务的遮挡,其实也就是我们的一个前面的物体遮挡后面物体的一个效果。
所以我们的基本思路也就定下来了,也就是我们Hook了DrawIndexedPrimitive之后,然后将指定的模型SetRenderState为FALSE就可以了。
实现我就不讲了,也不是重点课程。
D3D一般用于电脑端,而安卓呢?肯定是U3D了!
最基本的逻辑语句this.isDead = true;
如果改为false,我们应该不会dead了。
还有很多的方法,如windows过驱动,安卓内存修改等等…
奉劝那些做外挂的,单机你是侵犯了版权,联机更触犯了网络安全法里的破坏计算机罪。要想不进去喝茶,老实找个开发工作室上班他不香?非要来开发这些东西,是恶心你自己还是恶心我呢?