Chinaunix首页 | 论坛 | 博客
  • 博客访问: 105311
  • 博文数量: 16
  • 博客积分: 1443
  • 博客等级: 上尉
  • 技术积分: 180
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-05 14:31
文章存档

2010年(3)

2009年(2)

2008年(11)

分类: 网络与安全

2008-04-05 14:38:43

说句老实话,LZ的加密做的真的很烂。
最开始的登录密码是加密后发送给服务器的,但是他本地的程序是不负责密码长度和有效性的校验的。
因此也给了我一个机会,用a、aa、aaa、aaaa等简单密码得到加密后的密文,通过密文之间的比对,
倒推出了加密算法,进而登录的模拟发送报文也就迎刃而解了。
LZ升级的牌从服务器发送到客户端是经过加密的,刚开始的时候我也尝试用和登录密码同样的方法去破解,但是失败了,需要尝试的次数太多,而且不确定。
后来通过查看升级的存盘文件发现:存盘文件中的牌也是加密的,通过LZ的单机版升级可以打开存盘文件,那么说明单机版的程序里面是有解密的代码的。
因此我选择用IDA对单机版升级程序进行了反编译,通过单步跟踪和关键字符串定位等方法,终于拿到了解密牌的算法。
一点小插曲:LZ的牌是3张3张的发给客户端的,3张一个密钥进行加密,密钥在发送了加密的牌的消息后跟随发送到客户端,我不明白他为什么不采用私钥呢?
阅读(1400) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~