游戏封包解密密

封包的加密与解密算法的破解_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
文档贡献者贡献于
评价文档:
4页¥3.009页免费8页免费5页¥3.005页免费 9页免费7页免费2页免费32页7下载券28页7下载券
喜欢此文档的还喜欢137页免费28页免费2页免费91页免费10页免费
封包的加密与解密算法的破解|W​P​E​ ​封​包​解​密
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
大小:2.60KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢您的位置: >
> 飘零3.5and4.0封包加密解密工具
左键点击或右键另存为下载
下载地址{下载无效请邮件到咨询}
热门标签:
有任何意见或者建议请联系邮箱:[或
本站部分内容收集于互联网,如果有侵权内容、不妥之处,请联系我们删除。敬请谅解!
Copyright © . All Rights Reserved查看: 7898|回复: 17
[RMXP发布]
UID21281QQMSN 阅读权限10最后登录记录积分3贡献度0 VIP0 彩虹碎片0 经验3201 帖子精华0在线时间31 小时注册时间
士兵, 积分 3, 距离下一级还需 4 积分
贡献度0 彩虹碎片0 经验3201 帖子精华0在线时间31 小时注册时间
加密实现 加密字符串信息
要定义 加密匙 解密必须的密码字符串
用于网络封包发送
基本看 工程
比如 从客户端发送 &用户取等级&,&密匙&
& && &&&从服务器取出等级 到客户端上 用密文 解密 出 服务器发送的 密文 ,&密匙& 解密出为 18
18:27 上传
点击文件名下载附件
604.66 KB, 下载次数: 918
售价: 5 经验 &[]
丧尸语录-终の千年
类型:恐怖
& && &爱情
& && &悬疑
& && &休闲
の名:千年の制裁の
系统--- 50%
画面---&&0%
美工---&&0%
地图---&&0%
数据库-&&0%
剧情---&&50%
UID36651MSN 阅读权限10最后登录记录积分3贡献度0 VIP1 彩虹碎片0 经验2109 帖子精华0在线时间24 小时注册时间
士兵, 积分 3, 距离下一级还需 4 积分
贡献度0 彩虹碎片0 经验2109 帖子精华0在线时间24 小时注册时间
楼主意思对联机上传数据包加密防止一些人对数据包进行修改 是网游系统一部分
小桃的假期 从场景到人物全重做........能算原创不?- -
UID58218QQ阅读权限10最后登录记录积分68贡献度0 VIP0 彩虹碎片379 经验67782 帖子精华1在线时间1590 小时注册时间
  /) /)&?(o - o)?&&Rok.纳兹
指引者, 积分 68, 距离下一级还需 17 积分
贡献度0 彩虹碎片379 经验67782 帖子精华1在线时间1590 小时注册时间
棘手的是服务器- -
UID55790阅读权限10最后登录记录积分15贡献度0 VIP0 彩虹碎片0 经验13785 帖子精华0在线时间386 小时注册时间
骑士, 积分 15, 距离下一级还需 5 积分
贡献度0 彩虹碎片0 经验13785 帖子精华0在线时间386 小时注册时间
下载下来看看
【枪势归来·第一季】仙剑奇侠传四外传铸情神剑游戏发布日期
二零一二年第二季度发布敬请期待
UID3942MSN 阅读权限10最后登录记录积分33贡献度0 VIP31 彩虹碎片0 经验1648 帖子精华0在线时间0 小时注册时间
龙骑士, 积分 33, 距离下一级还需 12 积分
贡献度0 彩虹碎片0 经验1648 帖子精华0在线时间0 小时注册时间
转完16进 在 用算法加密 会使封包长度变得意外的长&&这样会占服务器网络资源太大.发一个命令就很长..&&这个方法有点傻吧!网游发送的封包 也不是这样进行加密的
有些人根本不适合问问题.66rgp好人卡 排行榜/forumTopUser.asp?act=4
UID27563阅读权限10最后登录记录积分50贡献度0 VIP91 彩虹碎片0 经验49658 帖子精华0在线时间2558 小时注册时间
贤者, 积分 50, 距离下一级还需 10 积分
贡献度0 彩虹碎片0 经验49658 帖子精华0在线时间2558 小时注册时间
我们来用一种叫RAKNET的东东吧
Ascension draws near.
UID50810阅读权限10最后登录记录积分17贡献度0 VIP18 彩虹碎片0 经验17200 帖子精华0在线时间322 小时注册时间
骑士, 积分 17, 距离下一级还需 3 积分
贡献度0 彩虹碎片0 经验17200 帖子精华0在线时间322 小时注册时间
完全不懂……纯支持
认真地猥琐,猥琐地认真
UID76092阅读权限10最后登录记录积分1贡献度0 VIP0 彩虹碎片0 经验1190 帖子精华0在线时间0 小时注册时间
新兵, 积分 1, 距离下一级还需 2 积分
贡献度0 彩虹碎片0 经验1190 帖子精华0在线时间0 小时注册时间
呵呵,在没有网络连接主系统的情况下,你就是加密了也没有用,还不如会主系统的制作- -
八年三班迭事
UID17217阅读权限10最后登录记录积分0贡献度0 VIP0 彩虹碎片0 经验370 帖子精华0在线时间10 小时注册时间
流浪者, 积分 0, 距离下一级还需 1 积分
贡献度0 彩虹碎片0 经验370 帖子精华0在线时间10 小时注册时间
没懂,看看文件再说
UID79523阅读权限10最后登录记录积分0贡献度0 VIP0 彩虹碎片0 经验130 帖子精华0在线时间1 小时注册时间
流浪者, 积分 0, 距离下一级还需 1 积分
贡献度0 彩虹碎片0 经验130 帖子精华0在线时间1 小时注册时间
我有多少经验啊》?
你为迷茫中的人们指引了前进的方向。[你写出了优秀的游戏教程]
短篇七成人组季军
短篇七成人组季军
这里的今天,有我过往努力的见证~封包加密解密-03
前段在QQ上又有一会员问我能不能解密一段封包.当时给他解出来了.现在翻出了当时与他的聊天记录.整理一下写这篇教程,供大家学习学习.这里讲到的将都是些基础的入门的知识与经验心得.
该网友当时发了这幅图片给我.说是他自已截的数据包记录下来的一点数据,问我这样的能不能解密?
当时我粗略的看了一下最下面的两行 十六进制 与 文本数据.就回答他是一般的位运算.因为封包的加密与解密一般是离不开位运算
判断依据是:
一.每个字符对应一个十六进制值.
说明该封包在加解密过程中的长度应该与原文一致,不会因为加解密而变长或变短.
h 与 p 这两个字符在什么位置,它们始终对应 DC 与 C4
说明该封包在加解密过程中是以单一字节进行运算的,并且不会影响到下字节数据
虽然有了我的提示,但他还是没理解,还是不会.后来才知道原来他易语言都还是门外汉 .
为了方便分析明文与密文之前的对应关系.我叫他拦截了一段封包数据
明文abcdABCD
密文D5 D6 D7 D0 F5 F6
F7 F0 84 85 86 87 80 81 82 83 8C 8D
虽然知道算法里基本都是用位运算的,但这里我还是想偷个懒,以为没准与加减法就能搞定 .
当时简单的计算了明文a={97}=0x61 密文 a={213}=0xD5& 差值=213-65=116.然后写了个简单的代码把每个字节都加上116.
&&&&&&&&&&&&&&&&&&&&
为每个字节都+116
代码运行后输出的数据
D5 D6 D7 D8 B5 B6 B7 B8 A4 A5 A6 A7 A8 A9 AA AB AC AD
与之前正确的密文包对比发现错了..abcd 中前三个字符是正确的,第四个d出错了.汗.
看来加减法行不通.位运算才是王道!!!
幸好是每单字节处理的,位运算范围不大,还是好计算的,为了算出用哪种位运算我又编了小段代码.
代码运行后输出的数据
*& 位异或=180
因为每个字节是八位,数据范围是0-255.所以上面我用一个计次循环从0到255来进行运算.另外可用于位运算的函数还有其它几个,如左右移位,循环移位等.我这里只采样测试了 位与() 位或() 位异或() 这三个.
从输出的调试文本里,得到可以使用 位异或(字节,180) 进行加密数据 a.
其实这里我们也可以用上节学的知识,转为二进制来查看出来的
{97,98,99,100}
01100001 01100010 01100011 01100100
"D5 D6 D7 D0" =
{213,214,215,208}
11010101 11010110 11010111 11010000
仔细看这几个加密前与加密的二进制,从右向左总是在第 3,5,6,8
四个位被翻过来的特征.那么按这四个位到低是啥值呢?
= 180 刚好是180.可以用计算器里的科学型来查看,或用模块里的 二到十("") 来计算.. 用肉眼查起来有点累,所以像上面直接写小段代码,用1-255全进行测试一下就知道了.呵呵.
那么对于其它的数据,是否也会正确无误呢?下面编写了一段完整的加密代码来测试.
加密解密的算法代码.
输出调试文本
* D5 D6 D7 D0 F5 F6 F7 F0 84 85 86 87 80 81 82 83
* abcdABCD
这次加密的数据完全正确,不但加密正确,这段代码还能同时进行解密.注意,如果只是单纯的位异或,是即可以加密也可以还原解密.所以在加解密里位异或用到得很多.除此之外就是移位与循环移位也用得很多..
接下来总结一下经验:
一,网络游戏的封包加密解密一般都是很简单的
原因是如果算法复杂的话,游戏客户端无所谓,但服务器网关若要同时处理几万个用户同时在线,并且数据量大的情况下,加解密又复杂就会处理不了,再好的服务器配置总不可能全部用来运算数据包吧,其中还要对数据库进行大量的处理呢.所以封包的加解密不会太复杂.
二.每条封包中常常会有分隔符.分隔符一般都是明文的
例如某游戏中封包格式如 #xxxxxx!??使用#与!两个符号放在该包的第一与最后字节,起到分隔封包的目的.为什么要分隔封包呢?因为游戏中可能要发送的数据很多很频繁,常常会见到这种情况 在发了一条封包后马上又发了第二条封包.因为网络传输上的问题.最终第二条封包可能比第一条更快到目标机网卡接收..所以目标机在取回封包时.可能同时把两条包取回来.此时两条封包会合并在了一块.于是封包的分隔符就能起到重新分离这两条包的作用.注意.分隔符都是固定的明文.一般不会参于加密与解密.
三.数据包中不一定全部都加密,就像分隔符一样.其中有些可能是明文的,或者部份字节明文
例如有封包格式为 #1024xxxxxxxxxxxxxx! 其中的 1024 可能是明文的,用来代表该段数据包的长度.明文数据一般是在包的前面部份,并且是按某种结构方式来存放,比如1-4字节的数据代表封包长度,5-8字节数据又代表着什么..然后从第几字节起为加密过的数据....
四.肉眼分析封包特征技巧.
要想能肉眼看出封包,最好先清楚你原先的明文数据是什么,然后再与拦截的密文数据进行判断看有没有什么特征.操作方式,可以拦截游戏中的帐号登陆数据或发出的聊天数据.因为这两类数据你可以打自已的明文数据.多打几个明文数据,多拦截几次封包,来对比找出简单的特征.比如可以打abcdefgABCDEG 等.然后变换着不同的明文数据多截截包来看.
五.明文与密文的长度特征
分别打两次的明文数据如 abcd 与
然后对照截到的封包,看看
第二次打的明文数据比第一次多了三个字符,相应的封包数据是不是也多了三个字符...可以得出结论加密后的数据长度是否为变..若不变的话会很简单.如果会变的话,还得再多测试些文件来看看每次变长的封包是以多少为倍数的.如 4个明文=4个密文
,5个明文=8个密文,6个明文=8个密文,7个明文=8个密文,10个明文=12个密文 说明加密后数据是以4的倍数来扩长.
六.一次处理的数据位数
打明文数据 abcdabcd 得密文
ghjkghjk 可以看到
明文1与5上面的a总是对应着密文1与5上的g,可以简单的推荐是以一个字节一个字节进行加密,也可能是每四个字节四个字节加密..(因为上面的 前4个字符与后4个字符是一样的嘛). 但若明文是 abcddbca 得到 ghjkkhjg 看到a不管处于哪里,对之对应的那个密文也都是同一个值时,那就可以完全确定是一个一个字符运算的,上个字节的运算不会影响到下个字节的算法.
七,一次处理多数据位数时
很多情况下加密时可能一次处理两个或四个字节,即按短整数型或整数型来运算的.使用多个字节一起运算比一次一个字节运算得速度要快.另外一种情况时如上个数据运算后可能会把某个值供下个运算中使用,常见的是采用移位方式,把移出的位数据供下个数据使用,或者会把当前运算的数据位置留给参与下个数据运算.这样的算法稍微复杂些了,肉眼不方便看得出来,需要把明文与密文转换成二进制后再看特征.对于一次多字节运算时,奇数长度的明文数据,加密后的密文长度往往是偶数且是2或4等的倍数.
注意.上面只是一般的简单的封包加解密肉眼分析特征.分析时不要老盯着十六进制不放,最好能同时进行十六进制,十进制一起分析,必要时还得转换成二进制肉眼看位数据来分析,能写出了加密的代码,解密的也就不远了,只要反方向运算数据即可.,.更复杂的封包还是用OD断send等收发封包的API上进行逆推算法.
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。}

我要回帖

更多关于 游戏封包解密 的文章

更多推荐

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

点击添加站长微信