首页
社区
课程
招聘
[求助]你加密算法的还原!
发表于: 2013-9-24 13:56 7378

[求助]你加密算法的还原!

2013-9-24 13:56
7378
原来数组
data1[1] = 63
data2[1] = 43
data3[1] = c9
data4[1] = 55
加密后数组
data1[1] = 9f
data2[1] = f0
data3[1] = 56
data4[1] = 85

data1[1] = //这是加密后的
//加密前数据xor
(data1[1] + data1[1]) xor data2[1] xor (data2[1] + data2[1]) xor data3[1] xor data4[1]
data2[1] =
data1[1] xor (data2[1] + data2[1]) xor (data3[1] + data3[1]) xor data3[1] xor data4[1]
data3[1] =
data1[1] xor data2[1] xor (data3[1] + data3[1]) xor (data4[1] + data4[1]) xor data4[1]
data4[1] =
(data1[1] + data1[1]) xor data1[1] xor data2[1] xor data3[1] xor (data4[1] + data4[1])

有没有办法还原他!求大神指点下!

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

收藏
免费 0
支持
分享
最新回复 (14)
雪    币: 306
活跃值: (85)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
2
data4[1]/2=data4[1] xor (data1[1] + data1[1]) xor data1[1] xor data2[1] xor data3[1]
2013-9-24 14:08
0
雪    币: 212
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
[QUOTE=hack一生;1224506]data4[1]/2=data4[1] xor (data1[1] + data1[1]) xor data1[1] xor data2[1] xor data3[1][/QUOTE]

原来的是不是知道的,我只有加密后的数据,你这样等式不成立!
2013-9-24 14:42
0
雪    币: 216
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
data2[1] =
data1[1] xor (data2[1] + data2[1]) xor (data3[1] + data3[1]) xor data3[1] xor data4[1]
data3[1] =
data1[1] xor data2[1] xor (data3[1] + data3[1]) xor (data4[1] + data4[1]) xor data4[1]

这两个怎么算出来的?
2013-9-24 15:53
0
雪    币: 33
活跃值: (804)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
可以调试吗?
2013-9-24 16:03
0
雪    币: 212
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
[QUOTE=qdfpll;1224541]data2[1] =
data1[1] xor (data2[1] + data2[1]) xor (data3[1] + data3[1]) xor data3[1] xor data4[1]
data3[1] =
data1[1] xor data2[1] xor (data3[1] + ...[/QUOTE]

这个很好看懂吧!
data4[1] =
(data1[1] + data1[1]) xor data1[1] xor data2[1] xor data3[1] xor (data4[1] + data4[1])

63 + 63 xor 63 xor 43 xor c9 xor 55 + 55 = 85
2013-9-24 16:04
0
雪    币: 212
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
就是调试出来的结果
2013-9-24 16:05
0
雪    币: 33
活跃值: (804)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
找不到解密算法?
2013-9-24 16:15
0
雪    币: 1372
活跃值: (5368)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
9
第一 data2[1]计算结果有问题。楼主没有说明其中后面data2 3 4计算使用的data是加密后的还是加密前的。

第二data1[1]这样的是BYTE 还是WORD 还是DWORD ?如果是BYTE 应该是不可逆的,至少会有多个解。
2013-9-24 16:19
0
雪    币: 216
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
[QUOTE=qwangwei;1224548]这个很好看懂吧!
data4[1] =
(data1[1] + data1[1]) xor data1[1] xor data2[1] xor data3[1] xor (data4[1] + data4[1])

63 + 63 xor 63 xor 43 xor c9 xor 55 + ...[/QUOTE]

我问的是data2[1] 和data3[1] ,没问data4[1]
2013-9-24 16:22
0
雪    币: 306
活跃值: (85)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
11
原来数组
temp1[1] = 63
temp2[1] = 43
temp3[1] = c9
temp4[1] = 55

加密后数组
data1[1] = 9f
data2[1] = f0
data3[1] = 56
data4[1] = 85

data1[1] xor data2[1] xor data3[1] xor data[4] = temp1[1] xor temp2[1] xor temp3[1] xor temp4[1] =n

data1[1] xor data3[1]=(2*n) xor temp[1] xor temp[3]

data2[1] xor data4[1]=(2*n) xor temp[2] xor temp[4]

data1[1] xor data2[1]=(temp1[1] + temp1[1]) xor (temp3[1] + temp[3]) xor temp1 xor temp2 = (2*n) xor 2data1[1] xor 2data3[1] xor temp1 xor temp2
a,b,c,d,e,f为常量..具体,不知道怎么搞了..
temp1  xor temp2 =a
temp1  xor temp3 =b
temp1  xor temp4 =c
temp2  xor temp3 =d
temp2  xor temp4 =e
temp3  xor temp4 =f

最后变成这样吧...
2013-9-24 18:19
0
雪    币: 212
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
[QUOTE=hack一生;1224607]原来数组
temp1[1] = 63
temp2[1] = 43
temp3[1] = c9
temp4[1] = 55

加密后数组
data1[1] = 9f
data2[1] = f0
data3[1] = 56
data4[1] = 85

data1[1] xor data2[1] xor...[/QUOTE]

这样有无穷多个解,有什么办法唯一出来没
2013-9-25 11:49
0
雪    币: 357
活跃值: (3593)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
13
你这属于代码混淆吗?

能改成这样再发出来吗?

#define data1[1] a
#define data2[1] b
#define data3[1] c
#define data4[1] d

原来数组
a = 63
b = 43
c = c9
d = 55
加密后数组
a = 9f
b = f0
c = 56
d = 85

//这是加密后的
//加密前数据xor

a = (a + a) xor b xor (b + b) xor c xor d
b = a xor (b + b) xor (c + c) xor c xor d
c = a xor b xor (c + c) xor (d + d) xor d
d = (a + a) xor a xor b xor c xor (d + d)
2013-9-25 12:20
0
雪    币: 306
活跃值: (85)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
14
(data1[1] + data1[1]) xor data2[1] xor (data2[1] + data2[1]) xor data3[1] xor data4[1]
data2[1] =
data1[1] xor (data2[1] + data2[1]) xor (data3[1] + data3[1]) xor data3[1] xor data4[1]
data3[1] =
data1[1] xor data2[1] xor (data3[1] + data3[1]) xor (data4[1] + data4[1]) xor data4[1]
data4[1] =
(data1[1] + data1[1]) xor data1[1] xor data2[1] xor data3[1] xor (data4[1] + data4[1])

代入这里,就行了..你懂的.
2013-9-25 12:24
0
雪    币: 212
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
[QUOTE=hack一生;1224792](data1[1] + data1[1]) xor data2[1] xor (data2[1] + data2[1]) xor data3[1] xor data4[1]
data2[1] =
data1[1] xor (data2[1] + data2[1]) xor (data3[1] + d...[/QUOTE]

懂了,我试下!
2013-9-25 14:34
0
游客
登录 | 注册 方可回帖
返回
//