我对外挂的一些个人看法_对外卖的看法和建议

前言

最近的游戏环境是真的差啊!!!实在想控诉一下这样制作和开外挂的人了,单机你要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过驱动,安卓内存修改等等…

奉劝那些做外挂的,单机你是侵犯了版权,联机更触犯了网络安全法里的破坏计算机罪。要想不进去喝茶,老实找个开发工作室上班他不香?非要来开发这些东西,是恶心你自己还是恶心我呢?

原文链接:,转发请注明来源!
汤科资源网 编程文章 我对外挂的一些个人看法_对外卖的看法和建议