【csdn高手多】请大家帮忙看一下这是什么加解密算法

hellolongbin 2013-11-26 12:25:22
最近在试图破解一个加密狗的程序,现在已经拦截到了客户端和服务端发送的数据,而且每次传输的都是固定值,初步判断是很简单的加密,应该没有什么随机的算法在里面。
我做了几次试验,记录了客户端给服务器发送的三次数据:
ypEsvPHxFs9Cn/w3hs5x6dHAYyxiIPLxDnCm6argm18g
ypEsvPHxFs9Cn/w3hs5x6dHAYyxiIPLxDnCm6argm18m
ypEsvPHxFs9Cn/w3hs5x6dHAYyxiIPLxDnCm6argnA==

在相同的环境下发送的数据和返回的数据都是一样的,服务器端相应返回如下:
3oE2vKK/EMNNnq5lkZE=
3oE2vKK/EMNNnq5lkZc=
3oE2vKK/EMNNnq5i
我尝试着自己写客户端给服务器发送其他类型的字符串没有反映,模拟了一个
ypEsvPHxFs9Cn/w3hs5x6dHAYyxiIPLxDnCm6argm18a
返回了 3oE2vKK/EMNNnq5lkas=

ypEsvPHxFs9Cn/w3hs5x6dHAYyxiIPLxDnCm6argm18g 对应:
3oE2vKK/EMNNnq5lkZE=
ypEsvPHxFs9Cn/w3hs5x6dHAYyxiIPLxDnCm6argm18m 对应:
3oE2vKK/EMNNnq5lkZc=
ypEsvPHxFs9Cn/w3hs5x6dHAYyxiIPLxDnCm6argnA== 对应:
3oE2vKK/EMNNnq5i
ypEsvPHxFs9Cn/w3hs5x6dHAYyxiIPLxDnCm6argm18a 对应:
3oE2vKK/EMNNnq5lkas=

然后我再用自己写的服务端对真正发起的客户端消息进行拦截,给客户端返回上面对应的字符串,结果竟然成功了

最后一步,请大家帮我看看这是种什么算法,看着挺简单,但是我对加解密实在是仅限于皮毛,试了几个常见的base64、AES、DES、RC4之类的就束手无策了,求助求助!
帮顶者有分,就当散分了!
...全文
729 19 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
LastAvengers 2014-01-04
  • 打赏
  • 举报
回复
引用 10 楼 HSFZXJY 的回复:
很明显这是base64,只不过base64有很多种,如果你解出乱码,尝试用多种编码去解释明文,如UTF8,unicode,gb2312等等
……这是怎么看出来的呢……我压根看不懂……
DelisPhi 2014-01-04
  • 打赏
  • 举报
回复
弱弱问下情况如何了。。搞定了么?~~~~~~~~~~~
hellolongbin 2013-12-25
  • 打赏
  • 举报
回复
引用 15 楼 DelisPhi 的回复:
从返回的长度来看,应该不是什么很高端的算法,毕竟你动了后面一位,返回值也只动了后面一位。这样的话AES之类都不用太去考虑。散列(MD5什么的)也不大可能。 从格式来看有base64倾向,不过应该有第二层算法。 考虑压缩:从前面几项来看,应该是每2个字符弄成1个字符。 ypEsvPHxFs9Cn/w3hs5x6dHAYyxiIPLxDnCm6arg 应该会被弄成 3oE2vKK/EMNNnq5 然后m1(m壹)会被弄成l(L)。 继续推测:yp=3;Es=o;vP=E;……………… LZ做多几次试验估计直接能出来。。。记住加密前的数据尾巴的=号可能可以忽略。
非常感谢
DelisPhi 2013-12-13
  • 打赏
  • 举报
回复
哦不好意思记错了。。。base64编码是3字符变成4字符(如下: A AA AAA AAAA QQ== QUE= QUFB QUFBQQ== ) 那么所有密文应该四个字符为一组,再往下就是看压缩算法了,应该不会太难就能实验出替换规则了(所谓压缩就是:ABCD我替换成78这样,ACCD我替换成88,有损压缩~)
DelisPhi 2013-12-13
  • 打赏
  • 举报
回复
从返回的长度来看,应该不是什么很高端的算法,毕竟你动了后面一位,返回值也只动了后面一位。这样的话AES之类都不用太去考虑。散列(MD5什么的)也不大可能。 从格式来看有base64倾向,不过应该有第二层算法。 考虑压缩:从前面几项来看,应该是每2个字符弄成1个字符。 ypEsvPHxFs9Cn/w3hs5x6dHAYyxiIPLxDnCm6arg 应该会被弄成 3oE2vKK/EMNNnq5 然后m1(m壹)会被弄成l(L)。 继续推测:yp=3;Es=o;vP=E;……………… LZ做多几次试验估计直接能出来。。。记住加密前的数据尾巴的=号可能可以忽略。
orxor 2013-11-27
  • 打赏
  • 举报
回复
看着有些像base64,但是base64只是算法,表示方法可以自定义,可能是非标的。 一般除了base64里面还会加一层算法。
hellolongbin 2013-11-27
  • 打赏
  • 举报
回复
我也感觉格式像base64 但是跟delphi自带的base64还不一样呢 有什么差异吗?
haitao 2013-11-26
  • 打赏
  • 举报
回复
似乎是对二进制数据的base64 关键是二进制数据的格式是什么。。。。
hellolongbin 2013-11-26
  • 打赏
  • 举报
回复
华丽丽的三连击再现江湖!
hellolongbin 2013-11-26
  • 打赏
  • 举报
回复
这个点儿了,连地板也抢了吧
hellolongbin 2013-11-26
  • 打赏
  • 举报
回复
不知道现在还有没有自己抢沙发的惯例
luxiaoshuai 2013-11-26
  • 打赏
  • 举报
回复
好像是变种的BASE64编码,应该是没有加密。
hsfzxjy 2013-11-26
  • 打赏
  • 举报
回复
很明显这是base64,只不过base64有很多种,如果你解出乱码,尝试用多种编码去解释明文,如UTF8,unicode,gb2312等等
Blessed_Chuan 2013-11-26
  • 打赏
  • 举报
回复
应该不是简单的加密把
hhhfff2010 2013-11-26
  • 打赏
  • 举报
回复
arSavior 2013-11-26
  • 打赏
  • 举报
回复
帮忙楼主顶,加密这方面连皮毛都不太懂
aiirii 2013-11-26
  • 打赏
  • 举报
回复
在 http://www.insidepro.com/hashes.php?lang=eng 试着用 ypEsvPHxFs9Cn/w3hs5x6dHAYyxiIPLxDnCm6argm18g 加密,没得到对应的串;
xzhifei 2013-11-26
  • 打赏
  • 举报
回复
试试ZIP解压
日总是我哥 2013-11-26
  • 打赏
  • 举报
回复
淫妹,哥只能顶你一次。。。。

16,747

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧