首页
社区
课程
招聘
我是新人.关于游戏技能代码有些问题
发表于: 2009-7-16 13:24 4895

我是新人.关于游戏技能代码有些问题

2009-7-16 13:24
4895
我是一个新人..从一开始玩游戏.到现在对编程有兴趣..我现在想慢慢的学习编程.!不过我对游戏一直有个疑问..那些网上说的WG的技能代码,以10进制的方式发出来的.是不是都是通过逆向工程弄出来的呢?在游戏运行的时候,是不是可以通过反汇编的方式在内存中寻找到这些..还是通过数据包来分析得到..内存中的那些数据和发送出去的数据有什么联系吗?这些问题让我百思不得其解.我在网上已经找了很久..知道看雪大名 相信里面都是藏龙卧虎之辈.所以来此求教.我不求方法..只求思路..谢谢各位大大!

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 4560
活跃值: (1002)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
不玩游戏,不知道你在说啥
2009-7-16 13:27
0
雪    币: 62
活跃值: (72)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
3
发送的数据包也是把内存中的数据发往服务器吧
2009-7-16 16:59
0
雪    币: 97
活跃值: (16)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
网络上的数据包就是内存中的数据包加上各层协议包头,如TCP协议从里向外依次是TCP首部-IP首部-以太网帧首部
2009-7-16 17:14
0
雪    币: 143
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
你说的这些都是有可能,但是都不是一定的。
技能代码如果是数字,那么无论是几进制都是一个意思,无非是方便人看。如果是字符串,那么甚至有可能是英文单词的组合,或者是中文字符。这些都的看游戏开发者是如何写的了。这些东西既可以在游戏内存里找到,也可以在封包里找到。在内存里找到的可能跟封包里找到的不一样。因为封包也许加密过了。即使没加密也有可能不一样
比如有这么一个函数
UseSkill(char* SkillName)
{
   int SkillID;
   SkillID=GetSkillID(SkillName);
   SendPacket(0x200,SkillID);//假设使用技能的封包ID为0x200,当然这个函数肯定是有问题的,现实中还需要指定被释放目标的ID等等
}

如果你在内存里找出的是SkillName的话就肯定和封包里的不一样。
如果你在内存里找出的是SkillID的话也许就是一样的了
2009-7-16 18:04
0
雪    币: 267
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
要想逆得这些数据,一方面可以借助一些工具,另一方面要对游戏的数据结构有一定得了解...
2009-7-16 18:38
0
游客
登录 | 注册 方可回帖
返回
//