首页
社区
课程
招聘
[求助] 一个业内很吊的加密算法
发表于: 2021-5-13 11:14 4609

[求助] 一个业内很吊的加密算法

2021-5-13 11:14
4609

加密前

HONOR/RVL-AL09/HWRVL:9/HUAWEIRVL-AL09/319C00:user/release-keys

加密后

6j<q(p.qOt(Q6t$x(n/O(c5nQR5[(Q6j8y\tRxRne\[[SQUjQw[cRyngckOtnx


加密前

21C20B369S009C000,21C20B369S009C000

加密后

RTRSReeT[RRdRUuX[[XuURdRR[TeeRSRTRN


字节数是一样的,说明是按字节加密的。

试了下异或,貌似不对,应该还有字节调换。


有大佬能分析出来吗?


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2021-5-13 11:32 被zoukaiping编辑 ,原因:
收藏
免费 0
支持
分享
最新回复 (13)
雪    币: 864
活跃值: (5124)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
明显不是异或啊,同一个字母加密后都不一样
2021-5-13 11:42
0
雪    币: 7354
活跃值: (4060)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
这个实在太吊了,分析不出来,哈哈
2021-5-13 12:22
0
雪    币: 4361
活跃值: (4343)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
你所谓的很吊和你放一个软件的机器码注册码有两样吗? 
注册码通过机器码算出来

机器码1:........
注册码1:.......

机器码2:.........
注册码2:.........


通过 信息1 得到 信息2  的东西大把,你随便买个锁机的软件授权都是通过信息1得到信息2的,  谁有本事给 "看" 出来? 吊! 太吊了!
2021-5-13 12:30
0
雪    币: 44
活跃值: (127)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
5
这个应该也不难,如果需要的话等下吃了饭帮你解密
2021-5-13 12:34
0
雪    币: 44
活跃值: (127)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
6
加密前
1C20B369S009C
加密后
eS[eRTRRud[UX
下面那个还可以 上面那个不知道是不是一个算法,没有全部弄出来感觉还有点瑕疵
2021-5-13 14:18
0
雪    币: 1
活跃值: (883)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
mfxiaosheng 加密前 1C20B369S009C 加密后 eS[eRTRRud[UX 下面那个还可以 上面那个不知道是不是一个算法,没有全部弄出来感觉还有点瑕疵
RTRSReeT[RRdRUuX[[XuURdRR[TeeRSRTRN

这个是对称的,RTRSReeT[RRdRUuX[  和 [XuURdRR[TeeRSRTR,反过了,发现没有?
2021-5-13 14:35
0
雪    币: 44
活跃值: (127)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
8
zoukaiping RTRSReeT[RRdRUuX[[XuURdRR[TeeRSRTRN 这个是对称的,RTRSReeT[RRdRUuX[ 和 [XuURdRR[TeeRSRTR,反过了,发现没有?
和对称没啥关系吧,按照加密算法跑一遍就出结果了例如:
加密前
22A6C54D09C1B2B3B4A5C6D8AABC,
加密后
NTeTdccXceZWfVXfeRW[ceVSddUTd
你可以用你那边跑一下看看结果是否一样
2021-5-13 14:43
0
雪    币: 1
活跃值: (883)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
mfxiaosheng 加密前 1C20B369S009C 加密后 eS[eRTRRud[UX 下面那个还可以 上面那个不知道是不是一个算法,没有全部弄出来感觉还有点瑕疵
同一个算法
2021-5-13 14:52
0
雪    币: 44
活跃值: (127)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
10
zoukaiping 同一个算法
不会太难,就是根据字节加密然后调换位置。
2021-5-13 14:59
0
雪    币: 1
活跃值: (883)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
mfxiaosheng 和对称没啥关系吧,按照加密算法跑一遍就出结果了例如: 加密前 22A6C54D09C1B2B3B4A5C6D8AABC, 加密后 NTeTdccXceZWfVXfeRW[ceVSddUTd ...
加密前

HONOR/RVL-AL09/HWRVL:9/HUAWEIRVL-AL09/319C00:user/release-keys

加密后

6j<q(p.qOt(Q6t$x(n/O(c5nQR5[(Q6j8y\tRxRne\[[SQUjQw[cRyngckOtnx

拿这个测试下
2021-5-13 19:11
0
雪    币: 6345
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
12
大佬们,看出来了吗?
如果解决了,我还有另外一个更吊的算法也让你们试下
2021-5-14 09:02
0
雪    币: 1
活跃值: (883)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
mfxiaosheng 不会太难,就是根据字节加密然后调换位置。
来个脑子特别活跃的大佬
2021-5-16 19:02
0
雪    币: 6345
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
14

我说下一种可能的算法吧 

1、字符的映射

这个字符映射的偏移值应该是 34 ,

然后为了保证偏移之后的字符是可打印字符,对偏移后值为 0x00-0x1f,这些字符再做一次 32 的偏移

用python的话大致是 

# 假设原字符为 a
newOrd = (ord(a) + 34)%127
if newOrd<0x20:
    newOrd += 32
newChr = chr(newOrd)

2、新字符位置的排列规则

从新的字符串中每次取出中间的字符(取出的时候要从原来字符串中删除),

直至字符串长度为0

最后按之前字符取出顺序的倒序输出即可

用 python 大致如下

outputChrs = []
while len(newChrs)>0:
    outputChrs.append(newChrs[ (len(newChrs)-1)>>1 ])
    del newChrs[ (len(newChrs)-1)>>1 ]
outputStr = ''.join([c for c in reversed(outputChrs)])



最后于 2021-5-17 21:32 被myller编辑 ,原因:
2021-5-17 21:29
1
游客
登录 | 注册 方可回帖
返回
//