免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12345下一页
最近访问板块 发新帖
查看: 50336 | 回复: 45
打印 上一主题 下一主题

[C++] 能用C或C++写网游外挂到底要多高的水平? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-10-14 22:32 |只看该作者 |倒序浏览
本人遵循前辈之指导——学习编程最好是尝试改变自己的生活开始,那样比较有动力,我已经看完了所有的基础,但是到现在也只是会排序和冒泡算法,真要具体做一个网游的外挂,我突然发觉我居然无从下手啊,我还需要补充哪些知识呢?

论坛徽章:
0
2 [报告]
发表于 2007-10-14 22:35 |只看该作者
原帖由 abcbuzhiming 于 2007-10-14 22:32 发表
本人遵循前辈之指导——学习编程最好是尝试改变自己的生活开始,那样比较有动力,我已经看完了所有的基础,但是到现在也只是会排序和冒泡算法,真要具体做一个网游的外挂,我突然发觉我居然无从下手啊,我还需要 ...

写程序不难,难在你要分析它的包,搞明白它数据包的格式,数据代表了什么内容。这种解码的过程是最难的。

论坛徽章:
0
3 [报告]
发表于 2007-10-14 22:36 |只看该作者
网络,TCPIP协议,汇编

论坛徽章:
0
4 [报告]
发表于 2007-10-14 22:36 |只看该作者
冒泡算法和你要做的东西关系不太大。
先学windows编程,网络编程

论坛徽章:
0
5 [报告]
发表于 2007-10-14 22:37 |只看该作者
顺便弱问一个问题,网游外挂是干啥的?从没玩过网游

论坛徽章:
0
6 [报告]
发表于 2007-10-14 22:49 |只看该作者
原帖由 abcbuzhiming 于 2007-10-14 22:32 发表
本人遵循前辈之指导——学习编程最好是尝试改变自己的生活开始,那样比较有动力,我已经看完了所有的基础,但是到现在也只是会排序和冒泡算法,真要具体做一个网游的外挂,我突然发觉我居然无从下手啊,我还需要 ...


刚学编程吧?问这样的问题!!
还有很多基础知识,比如汇编,网络等等都是要在外挂的编写中起关键作用。

动手来学编程是好想法,但是你不应该选择做外挂。自己考虑自己学的内容,总结一下,选择一个合适的题目(要有点头脑啊)去做!我自己当年也是这样过来的。

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
7 [报告]
发表于 2007-10-14 22:50 |只看该作者
原帖由 baohuaihuai 于 2007-10-14 22:37 发表
顺便弱问一个问题,网游外挂是干啥的?从没玩过网游

作弊器。

论坛徽章:
0
8 [报告]
发表于 2007-10-14 22:53 |只看该作者
原帖由 cjaizss 于 2007-10-14 22:50 发表

作弊器。

    偶有好多钱啊   

论坛徽章:
0
9 [报告]
发表于 2007-10-14 22:54 |只看该作者
原帖由 zx_wing 于 2007-10-14 22:35 发表

写程序不难,难在你要分析它的包,搞明白它数据包的格式,数据代表了什么内容。这种解码的过程是最难的。


这个我倒是不是特别在意,我知道这个很难,所以我暂时不想碰,我现在只希望能写一个在后台做一些特定作用的机器人程序

原帖由 baohuaihuai 于 2007-10-14 22:36 发表
冒泡算法和你要做的东西关系不太大。
先学windows编程,网络编程

请教一个我一直以来很困惑的问题,仅限定在windows下面吧(其实其他系统也会面对一个问题),如何去找一个运行中的程序在内存中特定的数据呢,我只知道修改单机游戏时的数据递减查找法,但是,我也研究过一些游戏的外挂程序,他们居然能直接找到游戏内的某种物品有多少,甚至判断自己的人物在哪个位置,这肯定是根据内存判断的,但我对这方面就比较空白了,请问要学习如何分析某个程序的内存数据,要看什么书?

windows编程我有资料,网络编程是个什么玩意,我对这个一直很模糊,因为我搞不懂这东西和编网页有什么区别。这方面要看些什么书。

原帖由 baohuaihuai 于 2007-10-14 22:37 发表
顺便弱问一个问题,网游外挂是干啥的?从没玩过网游

网游外挂其实就是一个通过分析网游程序中特定地址的内存数据,并由此做出判断,采取某种自动动作的hack性质的机械人程序。

我整理了一下头绪,一个外挂起码有以下能力:
1.插入网游程序的内存(有时外挂自身就是网游程序的前端启动器)不被弹出(这方面我也是一点头绪没有,有没有人知道这方面属于什么方面的知识)
2.分析游戏内存。
3.分析游戏的封包(这也是个难点啊……)
4.对内存进行操作,发送封包

我暂时也不想怎么分析封包了,那个哈难,先想明白怎么分析内存和插入游戏程序的内存,这两点我就够头大了

原帖由 vincol 于 2007-10-14 22:49 发表


刚学编程吧?问这样的问题!!
还有很多基础知识,比如汇编,网络等等都是要在外挂的编写中起关键作用。

动手来学编程是好想法,但是你不应该选择做外挂。自己考虑自己学的内容,总结一下,选择一个合适 ...

今年我25岁,以前有7年玩计算机的历史,但是基本上是自己瞎搞,也没系统的钻研点什么,七零八散的计算机知识学了不少,但是随便弄深点就完蛋,计算机白痴看我说“哎呀,高手啊”,自己却知道自己就是个连菜鸟都不是的肉鸡……现在越来越感觉计算机的世界太大了,而我人老的太快了,乘着还能学点东西,也为了从见鬼的机械行业改行搞IT的应用行业去,决定深入的钻研点编程再说。谢谢你的建议,那我还是先考虑把我构思中的那个酒店采购数据单前台程序弄出来好了,这个比较简单,一个前端界面加一个数据库,外加个打印功能就差不多了……

[ 本帖最后由 abcbuzhiming 于 2007-10-14 23:06 编辑 ]

论坛徽章:
0
10 [报告]
发表于 2007-10-14 23:15 |只看该作者
原帖由 abcbuzhiming 于 2007-10-14 22:54 发表


这个我倒是不是特别在意,我知道这个很难,所以我暂时不想碰,我现在只希望能写一个在后台做一些特定作用的机器人程序


请教一个我一直以来很困惑的问题,仅限定在windows下面吧(其实其他系统也会面对 ...
请教一个我一直以来很困惑的问题,仅限定在windows下面吧(其实其他系统也会面对一个问题),如何去找一个运行中的程序在内存中特定的数据呢,我只知道修改单机游戏时的数据递减查找法,但是,我也研究过一些游戏的外挂程序,他们居然能直接找到游戏内的某种物品有多少,甚至判断自己的人物在哪个位置,这肯定是根据内存判断的,但我对这方面就比较空白了,请问要学习如何分析某个程序的内存数据,要看什么书?

那说明他们在做外挂前已经分析过游戏的客户端了。因为对于物品、坐标等对象,最大的可能性是以全局变量的形式出现的,放在栈和堆上的可能性比较小。而程序一旦编译完成,它数据段的地址就确定了。应该是他们在分析游戏客户端的时候,就已经解码出了这些物品、坐标在数据段对应的地址,只需要在外挂中直接读这个地址就可以了。
至于如何得到它们的地址,原理就和单机游戏的递减和递增的方式一样,通过变化一个值,在内存里搜索对应的改变以确定。
当然,这只是宏观上概念,具体细节应该很复杂。我一直不明白它们的扫描算法是如何做的。因为编译器会padding以对齐内存,即使给定了数据段的首地址,每次读内存读多少个字节呢,不同类型变量长度不同,如果前进的字节数错一个,后面读出来的数据就全错了。这是不明白的地方。
不过多数开发工具都会提供这么一个现成的函数让你做内存扫描。我以前用VB尝试做外挂的时候就有这么一个函数。如果你想所有的东西都自己用c写,那工作量必然大了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP