首页
社区
课程
招聘
[旧帖] [讨论]关于通信中byte流的加密 0.00雪花
发表于: 2010-4-22 14:09 1493

[旧帖] [讨论]关于通信中byte流的加密 0.00雪花

2010-4-22 14:09
1493
先贴段无包头的包说明问题:
38 36 31 35 31 30 31 31 30 30 30 31 30  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  
0  
0  
39 30 30 39 30  0
30 32
30  0  0  0  0  0  
31 30 36 36 39 35 35 38 32 33 38  0  0  0  0  0  0  0  0  0  0  
1  
38 36 31 35 31 30 31 31 30 30 30 31 30  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  
0  
6
3f 3f 3f 2c 3f 3f
32 33 34 32 33 34  0  0  0  0  0  0  0  0  0  0  0  0  
----------------------------------------

这个包由于38 36 31 35 31 30 31 31 30 30 30 31 30 这个东西一眼就看出来是手机号码.以及前面3行是包头.

如果我在通信中要对这些东西进行加密的话.我想的方法基本是这样:

1,整个包从第x个字节开始到第y个字节.  其中所有内容,只要是int型的字节都把1替换成5,把5替换成t
2,在包的开头附上1个无意义的md5hash(定长)
3,接下来再对这个包手术一次,在经过上面2次修改之后 再在整个包第z个字节处插入1个随机int值(占4个字节.)

然后,客户端解密的时候就按 3-2-1 反向解密即可.

我不知道通常的网络游戏通信加密是不是这样做的(因为从来没接触过). 但是可以肯定的是不能使用常规的3des或其他常规加密算法,因为效率问题.

另外,这样的方式对于j2me应用来说如何?
因为我们要开发的是手机网游,所以解密过程完全是在客户端做的. 如果客户端程序混淆之后 被黑客反编译出来,黑客能看懂我的解密模块代码的概率是多大呢?

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 826
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
我也很期待解答
2010-4-22 15:34
0
雪    币: 112
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Tux
3
只要被反编译出来,怎么样你都防不住

另外,你这个算法好像很圡阿
2010-4-22 15:48
0
雪    币: 36
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
老土啊...呵呵,主要还是我以前 都是没关注过通信自定义加密.这是我自己动脑袋想出来的哦.方向是对的吧?
因为我是用java的j2me做开发.所以肯定可以反编译,并且太简单了.

不过,我可以做代码混淆.

我的意思是,混淆之后 要找到我对通信报文进行解密的代码难不难?
2010-4-22 16:25
0
游客
登录 | 注册 方可回帖
返回
//