语言 | English 简体 繁體 Tiếng Việt
  • 注册
  • 手游教程 手游教程 关注:658 内容:1467

    DNF手游封包解析

  • 查看作者
  • 打赏作者
  • 此版块是用户分享手游资源相关内容的论坛,其中包含了作者原创、搬砖、转载,以及可能存在网盘失效的情况。

    如果需要联系楼主,请点击帖子右侧聊天。如果发现虚假资源,请举报!

    解压密码请使用360压缩或者好压查看注释

    当前位置: 35博客圈 > 手游分享 > 手游教程 > 正文
    • 2
    • 手游教程
    • LV11
      大土豪

      抓取DNF手游封包示例,这里以聊天封包为示例


      手游端对封包采用了lz4压缩算法和xor异或算法,除了body参与加密和压缩。其余都不加密

      —————-协议格式——————————————-

      totalLen   | module   | sequence          | all-zero       | body

      short      | short    | byte              | byte           | byte[]

      整个封包长度  包头ID反转     序列化主要用于XOR      业务id 加密数据包

      例如一下数据 第3个字节和第4个字节为: 79 27需要翻转过来才是正确的包头ID也就是 27 79


      1.客户端发送到服务端的封包数据(已解密)

      1E 00 79 27 01 00 16 00 08 05 12 0C E6 B5 8B E8 AF 95 E5 B0 81 E5 8C 85 30 CF B1 D4 A2 01


      2.客户端发送到服务端的封包数据(加密)

      20 00 79 27 01 00 16 00 F1 06 09 04 13 0D E7 B4 8A E9 AE 94 E4 B1 80 E4 8D 84 31 CE B0 D5 A3 00


      使用16进制转字符串就可以看到中文的明文部分

      y' 测试封包0ϱԢ

      3.服务端发送到客户端封包数据(未加密)

      2D 00 79 27 01 00 25 00 10 05 20 CF B1 D4 A2 01 52 1B E6 9C 8D E5 8A A1 E5 99 A8 E5 8F 91 E9 80 81 E8 81 8A E5 A4 A9 E5 B0 81 E5 8C 85

      -y'% ϱԢR服务器发送聊天封包


      4.服务端发送到客户端封包数据(加密)

      2F 00 79 27 01 00 25 00 F1 17 11 04 21 CE B0 D5 A3 00 53 1A E7 9D 8C E4 8B A0 E4 98 A9 E4 8E 90 E8 81 80 E9 80 8B E4 A5 A8 E4 B1 80 E4 8D 84



      ———————————————客户端和服务端传输的加密手法

      public static byte[] xor(byte[] in, byte xorByte) {
      byte[] res = new byte[in.length];
      for (int i = 0; i < in.length; i++) {
      res[i] = (byte) (in[i] ^ xorByte);
      }
      return res;
      }
      
      public static byte[] lz4Compress(byte[] in, int decompressedLength) {
              int maxCompressedLength = lz4Compressor.maxCompressedLength(decompressedLength);
              byte[] compressedData = new byte[maxCompressedLength];
              int compressedLength = lz4Compressor.compress(in, 0, decompressedLength, compressedData, 0, maxCompressedLength);
              byte[] res = new byte[compressedLength];
              System.arraycopy(compressedData, 0, res, 0, compressedLength);
              return res;
          }

      LV8
      水晶之恋

      感谢大佬的分享,赞一个!

      回复

      感谢大佬的分享,赞一个!

      回复

      手游分享板块严查恶意、辱骂、讽刺等评论,如发现此类评论轻则小黑屋,重则永久封禁!

      如果发现帖子违规,用户可以点击帖子标题旁的向下箭头,选择举报内容

      如果联系请站内私信联系,禁止留下QQ,微信等联系方式否则会被系统拦截

      如果想挣取水币,请在[手游分享] [端游分享]版块分享资源赚取水币

      请登录之后再进行评论

      登录
      搬瓦工
      搬瓦工大土豪
      个人说明:本人大部分资源都是搬运的,勿充钱购买,不解答问题
      关注2 粉丝227 喜欢20 内容672
      TA的最新发布
    • 1三网H5游戏【苮逆H5多区跨服体验版】Win一键服务端+CDK授权后台+简易安卓客户端+详细搭建教程
    • 2战神引擎传奇手游【凌天苍穹录七大陆单职业第二季】Win一键服务端+GM授权后台+安卓苹果双端+详细搭建教程+视频教程
    • 3三网H5游戏【大圣轮回之秋意西游H5平台币内购版】Linux手工服务端+GM加币后台+GM授权后台+简易安卓客户端+详细搭建教程+视频教程
    • 4三网H5游戏【九州阴阳界H5平台币内购版】Linux手工服务端+表格转表工具+管理后台+GM授权加币后台+简易安卓客户端+详细搭建教程+视频教程
    • 5三网H5游戏【九州天空城H5内购版】Linux手工服务端+管理后台+GM授权后台+CDK授权内购+简易安卓客户端+详细搭建教程+视频教程
    • 6稀有卡牌回合手游【火影忍者之重生大世界】Linux手工服务端+管理后台+CDK授权后台+安卓苹果双端+详细搭建教程+视频教程
    • 7卡牌回合手游【新鬥羅大陸7SSP代金券内购版】Linux手工服务端+明文热更+管理后台+CDK授权多功能后台+安卓+详细搭建教程+视频教程
    • 8卡牌回合手游【新口袋航海王平台币内购版】Linux手工服务端+管理后台+代理后台+GM授权后台+安卓+详细搭建教程+视频教程
    • 9稀有精品页游【斗破苍穹神境版】Linux手工服务端+管理后台+详细外网搭建教程
    • 10三网H5游戏【动漫大乱斗H5多区跨服版】4月最新整理Linux手工服务端+管理后台+GM授权后台+安卓+详细搭建教程+视频教程
      • 热门排行
    • 任务
    • 管理
    • 回底部
    • 帖子间隔 侧栏位置: