-
-
[旧帖]
[讨论]关于通信中byte流的加密
0.00雪花
-
发表于:
2010-4-22 14:09
1492
-
[旧帖] [讨论]关于通信中byte流的加密
0.00雪花
先贴段无包头的包说明问题:
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应用来说如何?
因为我们要开发的是手机网游,所以解密过程完全是在客户端做的. 如果客户端程序混淆之后 被黑客反编译出来,黑客能看懂我的解密模块代码的概率是多大呢?
[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法