html5游戏开发工具具容易上手的有哪些

博客访问: 180548
博文数量: 134
博客积分: 5010
博客等级: 大校
技术积分: 1440
注册时间:
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
由于手头的一个网游项目正在启动,所以,这一篇文章与上一次的文章之间相隔了很长的时间,特向读者道歉,让大家久等了。
  这个系列文章,是没有事先打草稿的,纯属信手写来,所以,其中的条理性可能不太好,我会在以后的整理中将稿子再好好整理。我们接着上一次的内容,说一说游戏机器人的开发工具和开发步骤。
  游戏机器人的开发包括两个重要方面,它们是:封包分析和加解密。当然,这是一种相当宽泛的说法,非常不严密。具体地来说,在封包分析中,又包括:封包结构的确立,封包数据内容的解密,封包校验码的生成,封包序号码的生成等。而程序加解密中除了游戏主执行程序文件本身的脱壳之外,还主要包括使用静态分析和动态追踪两种方法解决以下主要问题:用户名及密码的解密,封包校验码的生成等。现在市面上出现的网游,在封包内容上已经很少不进行加密了,当然,加密的方案不尽相同,有的是对游戏中的所有封包内容进行加密,而有的只针对于敏感的封包内容进行加密,比如登录封包,战斗封包和移动封包等。
  所以,游戏机器人的开发工具,除了程序语言工具之外,还应该有封包分析,加/解密,数值换算等配套工具。总的来说,游戏机器人的开发工具主要包括:
  1.至少一种程序语言工具,支持socket网络编程即可,如:VC,VB,DEPHI等。现在市面上出现的游戏机器人,也多以这三种语言为主要开发工具(PEiD软件可以帮助查看程序使用的是何种开发工具编译的,并可对程序所加的壳进行识别,下载地址:  (下载地址来自看雪网站))。笔者使用的是Delphi7.0,其中的TClientSocket组件&& 或 Indy控件组中的TIdTCPClient均可用来进行游戏机器人开发,其中TClientSocket在Delphi7.0的默认安装中是没有的,必须手动安装,安装方法是:Component -> Install Packages -> Add -> ...\Program Files\Borland\Delphi7\Bin\dclsockets70.bpl。
  2.至少一种用于截包的工具软件。截包工具分为两类,一种是截获流经网卡的数据包,一种是截获指定应用程序的包。
  两种截包工具的工作原理不一样,前者是底层的,通过网卡驱动层来获取所有流经网卡的数据,而后者则是通过替换SOCK函数的方式先于应用程序获得网络数据包转而进行自己的处理。对于前者,代表性的工具有:sniffer pro ,commview等;而对于后者,代表性的工具有:wpe等。这几种工具最新版都可以很方便地从里找到。笔者在使用时,是两种配合着使用的,但主要的还是使用commview。在使用commview之前,我使用sniffer pro的,但发现了commview之后,就彻底抛弃了sniffer pro,只能用一句来形容:commview太棒了。关于commiew的具体使用方法和技巧,我会在下一节的封包分析一文中进行详细阐述。
  3.反汇编及调试工具。很多人都知道,不加密的网络游戏时代已经运去,现在如果有哪一款网络游戏不加密,那么在很短的时间内,该游戏的外挂就会满天飞。
  网络游戏的加密可以分很多不同的层次,有网络数据包级别上的加密,有客户端游戏数据文件上的加密(比如物品文件),有客户端执行程序上的加密和加壳等等,凡此种种,不一而足,解密的方法也变得越来越复杂。从总体的策略上来说,解密方法有两大类:静态分析和动态调试。静态分析指使用特定的软件将游戏可执行主程序反汇编成汇编代码后,对汇编代码进行静态分析和比较。动态调试是指特定的软件对游戏可执行主程序进行动态的跟踪调试,跟踪数据的变化规律和程序的执行流程。静态分析常用的软件主要有IDA pro等,而动态调试常用的软件主要有softice和ollydbg等。需要指出的是,在进行解密时,静态分析和动态调试两种方法是交叉使用的,是互为补充的。这两种软件的具体使用方法,我会在后续的章节中予以介绍。
  4.其它在程序查/脱壳,封包分析和数据计算等方面中的常用工具。这些工具包括:查/脱壳工具,m2m异或计算工具,ascii码换算工具,windows自带的计算器(科学型方式下主要用于进制转换)。
  在 中有一些查/脱壳工具,但这里的脱壳工具主要是针对于加壳时使用的是程序加壳的方式而不是手动加壳的方式,针对于手动加壳的情况必须使用的手动脱壳的方式。在“加解密”这方面的书籍中,我向大家推荐看雪论坛出的“加密与解密(第2版)”,它可以使有汇编功底的游戏机器人初学者在较短时间内深入核心。
  如今的网络游戏,由于数据交互的频率和流量非常大,所以,出于效率和游戏流畅感方面的考虑,不太可能采用非常复杂的封包加密算法,很多情况下,封包用的是异或加密,即:让原来的封包数据与某个数值进行异或后产生加密的数据,至于这个参与异或的数值具体是多少就有待基于经验的分析和推理了。不过读者不用怕,封包分析最主要的是要沉得住气,耐心,细致的考虑,多尝试几种分析方案,我们下一节会具体探讨封包分析中的几种策略。
  ASCII码换算工具是封包分析的必备工具,通过它,我们可以根据中英文字词查到其所对应的ascii码,也可以根据ascii码查到其所对应的中英文字词。不过,ASCII码的换算,在commview中是已经集成了的,在commview中显示网络数据包内容时,就会显示对应的ascii码,但由于其排版问题,其中的某些字词显示可能是乱码,所以,一个独立的换算工具还是必须的。
  网络数据在被截获时,使用的是十六进制表示,而我们通常的思维模式是建立在十进制基础上的,在计算诸如生命值,法力值这些数据时,我们经常需要在十进制和十六进制以及其它进制之间进行转换。使用windows自带的计算器,设置成科学型时,可以很方便地实现进制间的转换。
  以上就是我们进行游戏机器人开发所必备的工具软件,当然,仅仅知道这些软件的名字是毫无用处的,关键的是要学会熟练地使用这些软件来为我们的开发实践服务。在给大家介绍了这些工具后,我们向大家给出游戏机器人开发的一般步骤:
  1.对游戏客户端主执行程序进行查壳和脱壳操作,使其能被反汇编成正常的汇编代码。
  2.对游戏进行初步的封包分析,分析出封包总体结构,并观察其是否加密。
  3.对脱壳后的游戏主执行程序进行反汇编,并进行静态分析和动态调试,找出其重要的加密算法。比如:用户名和密码的加密,网络数据包的加密,网络数据包中校验码(有的游戏不含校验码或有的数据包中没有校验码)的生成算法等。
  4.对游戏进行深入的封包分析,确定出重要类型(行走,说话,组队,攻击等)网络数据包的结构及各位置的具体含义和生成方法。
  5.使用建模工具设计游戏机器人功能。(可选)
  6.待行走,说话,组队,攻击等重要封包分析出来后,便可以进行初步的代码实现了。在实现的过程中,再根据新分析出的封包进一步完善机器人的功能。
  下一次,我们讲封包分析中的封包分析初步及截包软件使用。谢谢大家的支持。
sodme001 发表于 > 11:26:32& [全文] [评论] [引用] [推荐] [档案] [推给好友] [收藏到网摘]网络机器人(2)----开发游戏机器人所需要的基本功
  当大家尝试了若干年由互联网信息资源大爆炸所带来的甜头后,我们开始为寻找有用资源以及有效利用这些庞大的资源而发愁,更多的时候,我们更象一只乱撞的苍蝇在这个URL和那个URL之间奔走,半天的忙碌说不定给我们带来的却是一场空。于是,我们不由自主的渴望着,如果有一种软件,能代替这种近乎体力劳动的“搜索”和“处理”工作,那该多好呀。
  我自己也曾不止一次地发出过这种感慨,但我想,对这种软件有最强烈渴望的群体应该首选网络游戏玩家一族了。
  在上海盛大把“传奇”引入中国,引发了至今还在继续发狂的网游热潮以来,越来越多的资金开始注入网络游戏,越来越多本不玩游戏的人开始关注网络游戏,甚至连国家的相关法规政策也从某种程度上开始保护起前几年被视为洪水猛兽的“电脑游戏”来。这一切,只缘于一个原因:网络游戏聚集了太多的社会财富,为电信行业带来了太多的增值,为国家财政创造了太多的税收。
  然而,发展至今年的大陆网络游戏,与它刚出现时在模式上似乎并无什么大的不同:没完没了的升级,没完没了的PK。一时间,打网络游戏似乎成了纯粹的体力活,每天登录进来之后,除了聊天,剩下的就是为“升级”而努力了。但是,由于部分网络游戏的开发周期过于短暂,甚至有的游戏公司在游戏还是半成品时就已经拿出来作市场宣传并进入所谓的公测继而开始收取点卡费用。不难想象,这样弄出来的游戏在用户易操作性方面难免会存在这样那样的问题,而这些问题,对于资深的骨灰级玩家来说又是极其影响游戏效果的。于是,一种具有全新概念的“游戏机器人”的程序(也称外挂)诞生了。
  游戏机器人,相当于一类似于游戏客户端的程序,它是独立运行的,不依赖于原游戏客户端。说到这里,我们得回过头来看一下外挂的分类。网游外挂,从大的方面,可以分为两类,一类是内嵌式的外挂,比如类似于按键精灵之类的辅助工具,另一类是独立式的外挂,也就是现在我们所说的游戏机器人。内嵌式外挂的工作原理是,先运行原游戏客户端,并在原游戏客户端中利用热键呼出外挂程序进行相应设置,然后返回原游戏客户端中进行游戏。而游戏机器人,从刚开始的游戏登录一直到后面的打怪升级等,全部由外挂程序自己完成。从这一点来看,内嵌式外挂要比游戏机器人简单地多,因为它甚至可以直接调用原游戏客户端的内存数据和函数模块,而游戏机器人必须自己处理这些数据和函数模块。但是,游戏机器人的最大好处便是难以被游戏服务器发现和屏蔽,在游戏功能的易扩展性上要比内嵌式外挂容易实现得多。如果大家对游戏机器人还是不怎么了解,请大家到GOOGLE随便搜索一下传奇或其它游戏的外挂,一看便一目了然了。
  由于本文是一针对于网络机器人的专题文章,所以,这里我们只讨论游戏机器人,对于内嵌式外挂的原理及实现,本文不作阐述,如果有机会,我将在后续的其它系列文章里进行阐述。
  我想有机会阅读此文的朋友,一定有很多非常关心游戏机器人到底是如何实现的?开发游戏机器人需要哪些基本功?用哪些工具?查哪些资料?等等,这一系列的问题,都将在这一个系列文章里进行表述,请大家随时关注。
  现在,我来解答大家第一个疑问:开发游戏机器人需要哪些基本功?
  在解答这个问题之前,请大家记住以下这点:开发游戏机器人是一件相当艰苦但趣味十足的差事,如果你自信有足够的抗打击能力,那么放手一试吧,否则,还是趁早回家哄孩子的好,呵呵。请大家自己对号入座:
  1.熟悉TCP/IP协议(不熟悉没关系,但至少你要学会熟悉类似于commview一类的网络截包软件,并知道真正有用的数据是哪一块)
  2.有比较强的分析、比对能力,有比较强的洞察力(主要应用于封包分析)
  3.至少打过一两种网络游戏,熟悉网络游戏中的常见术语(诸如:PK,NPC等等概念,不熟悉网络游戏的人怎么可能按玩家要求写出好的游戏机器人?)。
  4.能读懂WIN32汇编,有一定的反汇编静态分析能力(现在的网游基本都在数据封包上使用了诸如加密,加校验码等手段,凭借单纯的封包分析已经无能为力)
  5.具备一定的win32汇编动态调试能力和一定程度的忍耐力(有些加密算法只有当实际跟踪运行时才会更容易理解)。
  6.熟悉至少一门面向对象语言,并能够用之来完成游戏机器人程序(到于大一点规模的游戏机器人,甚至还要用到建模工具,要对系统进行规范的整体规划)。
  7.具备一定的数据结构和算法功底(对于游戏数据的组织是很影响游戏机器人性能的,大型算法的应用主要是寻路算法)
  如果你已经具备以上的各项,你就可以动手来作自己的游戏机器人了。当然,很多人开始的时候也并不是全具备这些,而是在作的过程中进行学习,当他们作完自己的游戏机器人,这些方面都是基本已经具备了的。呵呵。下一次,我们谈游戏机器人的开发工具和开发步骤。
sodme001 发表于 > 11:24:27& [全文] [评论] [引用] [推荐] [档案] [推给好友] [收藏到网摘]网络机器人(1)--悄然中向我们走来
  最早听说网络机器人的存在,是在2002年底,那时第一次听说GOOGLE为了统计和查询网络资源,专门研制了一种网络机器人,在世界各地为GOOGLE不辞劳苦地忙碌着,然而,关于网络机器人更详细的信息却一直不得而知。
  直至2003年10月,才第一次在网络游戏中听说了有一种程序叫:机器人程序(以下简称游戏机器人)。简单地说,游戏机器人是一种智能化游戏程序,可以全部或部分代替玩家从事游戏活动,让玩家从无休止的升级打怪的痛苦中摆脱出来。如果单纯从一点来说,游戏机器人完成的功能不可谓不大:它甚至让人从脑力劳动中解脱了出来。如果说,当初的工业革命,对人类在体力劳动方面是一大解放,那么,在现今的网络时间,网络机器人也在一定程度上可以称作是对“网络人”的一大解放,当然,最先偿到这种解放甜头的是我们成千上万的玩家。
  就在去年底到今年初,短短的几个月时间,一种专门用于信息查询和自动聊天的聊天机器人开始现身网络,不论你是早晨还是傍晚,亦或是中午还是深夜,MSN聊天机器人家族都可以时刻陪你聊。虽然,现在的聊天机器人,从智能上说还不够强大,但毕竟,它代表了网络在当前的一个重要应用方向:网络信息的自动搜索、自动查询和自动处理。如果说,互联网的出现在相当程度上是提供给了人们一个没有容量的大资源库,那么是不是可以说,网络机器人的出现提供给了我们更有效利用这些资源的手段或工具?
  目前,机器人程序主要还是应用于以下几个方面:
  1.网络蜘蛛(自动搜索有用网络资源)
  2.游戏机器人(也称外挂,特指网游)
  3.购物机器人
  4.聊天机器人
  5.客服机器人(日常信息的查询,比如:天气、交通、股票等等)。
  可以说,每一种网络机器人都代表着对于网络时代的一种全新理解,其中都蕴含了很多的成功机遇,擅长幻想的朋友可以从以上的网络机器人联想到其它方面的应用,将网络机器人应用于实际的网络生活中,说不定,你从此便创造了一个网络时代的成功奇迹。
  作为对网络机器人的持续关注和研究,本系列文章将就游戏机器人和聊天机器人的原理和实现进行由浅入深,由现象到本质的逐步探讨,以求发掘网络机器人更多的实用功能,使更多的人关注网络机器人,从事机器人程序的开发和研究之中。
阅读(939) | 评论(1) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
QQ: 1127080
全国第一家虚拟主机:支持伪静态.有利于提高排名
15G全能空间年付500元/月付70元 可免费试用
5GB 独立WEB空间、5GB 企业邮箱空间、5GB MSSQL数据库
(可划分5个数据库。可独立放5个不同的站点)
IIS连接数据 500 个、500GB/月流量、共享日志文件空间
企业邮箱功能
赠送5GB 超大企业邮箱,500个Email企业邮箱用户
自动回复、自动转发、POP3、SMTP收发信、SMTP发信认证
邮件过滤、邮件拒收、邮件夹管理、邮件域管理、定制邮件数
数据库功能
支持5GB MSSQL数据库空间,5个用户数据库、Access
主机功能支持
采用安全稳定的Win2003 .net2.0 架构
支持ASP、PHP、ASP.NET、PERL等脚本、支持自定义CGI
全面支持.net2.0版本,独立的Application应用池,
支持SSI(Shtml),支持FrontPage扩展
可免费自行绑定5个域名、500个解析、500个子域名
请登录后评论。目前游戏开发,一般都用什么软件?_百度知道8个游戏开发工具让你不懂编程也能做游戏
8个游戏开发工具让你不懂编程也能做游戏
  以下列举的是主要的游戏制作平台,大部分不要求你有专业的编程知识,不管是Objective C还是Java。虽然这些工具简单方便易用,但也有自身缺陷,比如所创建游戏的灵活性稍差,功能有所限制,有些平台还要收费。但是对于那些没时间学习编程知识的游戏爱好者来说,这些游戏生成平台不失为一个好的选择。gg
  Construct 2--非常适合一个人做游戏,无需编程知识,就可以让你在Windows上创建 iOS、Android以及Facebook游戏,还是个不错的HTML5游戏引擎。网上有不少关于该工具的文章,游戏邦曾发布过几篇相关的文章,其中有新手指南和用Construct 2制作连线消除游戏的教程。  GameMaker--GameMaker是一款拥有图形界面,可灵活编程,以2D游戏设计为主的游戏开发软件。Mark Overmars 使用Delphi语言开发,于1999年11月发布了首个公开版本,4.3版后转为部分功能收费软件。后由英国公司 Yoyogames 收购,大力推动了欧美乃至全世界独立游戏界的发展。GameMaker可视化的界面允许游戏爱好者通过简单的拖放来创建Android和iOS游戏。iOS游戏Froad和Grave Maker就是通过该平台创建的。  Styncyl--Styncyl可以用来制作iOS和Flash游戏,可视化的拖放操作界面。目前有超过12000款游戏使用Styncyl创建。高级用户可通过添加代码来实现一些新功能或者复杂的行为。使用Styncyl创建的游戏可分发至多个移动端和PC端多个平台。  Multimedia Fusion 2--Multimedia Fusion 2简单易学,适用于多媒体专业人员、游戏创作者以及多个行业具有创新精神的人士。允许你针对Windows、iOS、 Android、Java、windows mobile phone以及Xbox等进行开发。部分功能收费,也可配合Multimedia Fusion 2 Developer使用。  GameSalad--GameSalad同样有着可视化的界面,使用简单的拖放操作方式,无需一行代码。GameSalad适合那些喜欢创造游戏而不喜欢写代码的游戏爱好者,把“快速原型”的概念提到了一个新水平。使用GameSalad可开发出适合多种移动设备和平台的游戏,比如iPhone、iPad、Android、Windows、Mac以及HTML5游戏。多个游戏开发者和开发团体使用了GameSalad。另外,GameSalad可帮你把游戏快速发布至多个应用商店。使用GameSalad开发的游戏有Angry Anna和Zombie Drop。  Gideros Mobile--使用类似Flash的功能来开发游戏或者app。虽然不如上边的一些工具简单,但你无需知道任何高深的编程语言。Gideros Mobile免费开放,不过在游戏中会有一个“Made with Gideros”的启动画面。你还可以轻松扩展插件, 导入现有代码(C, C
, Java或者Obj-C)。并支持即时测试等。  LiveCode--可利用一个“直觉”的图形界面和基于英语的编程语言来快速创建游戏或应用,支持iOS、Mac OS、Android、Linux以及Windows平台。  Game Editor--Game Editor是一个开源的游戏创建平台,免费使用(只要你的游戏是开源的),支持iOS and Windows平台。使用Game Editor开发的游戏:  COOLLL
发表评论:
TA的最新馆藏问题:C++手机游戏开发需要哪些软件工具
手机软件开发学习 发布时间: 0:05:20 八四问吧会员提供专业回答
问题:C++手机游戏开发需要哪些软件工具
分类:八四问吧
问题具体描述:
C++手机游戏开发需要什么软件工具
我现在有VS2008,Direct3D这2个软件 请问还需要什么软件以及它们的用途
麻烦详细说明@@ 因为我还是新手,很多都不懂
时间: 0:05:20来自热心网友陈老师的专业回答:
操作系统不同是不一样的,一般官方是提供SDK工具的。
比如Symbian的系统,NOKIA就是提供SDK让大家来写程序的。
其他系统也一样。
问答说明:本问题《C++手机游戏开发需要哪些软件工具》的答案是报名在线网热心网友免费提供,请谨慎采纳,本答案不代表本网观点,如果本答案侵犯了您的权益,请联系本网删除该问答帖《C++手机游戏开发需要哪些软件工具》。
问题已解决手机软件开发学习 八四问吧
问题已解决手机软件开发学习 八四问吧
问题已解决手机软件开发学习 八四问吧
问题已解决手机软件开发学习 八四问吧
问题已解决手机软件开发学习 八四问吧
全国各城市手机软件开发学习信息导航:}

我要回帖

更多关于 h5游戏开发工具 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信