能力值:
( LV4,RANK:40 )
|
-
-
2 楼
你试一下
http://54321
的密文是什么。
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
00000050 a3 c9 92 c9 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
00000060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
00000070 7d 7d 72 7f 80 81 ea f7 f0 f5 bc a8 a7 bc be b8 }}r..... ........
00000080 be bc 8e 8f 90 91 92 93 94 95 ........ ..
|
能力值:
(RANK: )
|
-
-
4 楼
for(i = Lastoff; i >= 0x70; i --)
data[i] ^= key--;
key就是最后那个byte的值.
比如 http://54321 这个例子, Lastoff = 0x89, key = 0x95
http://11111111 这个例子, Lastoff = 0x8c, key = 0x3a
|
能力值:
( LV4,RANK:40 )
|
-
-
5 楼
[QUOTE=arab;638902]for(i = Lastoff; i >= 0x70; i --)
data[i] ^= key--;
key就是最后那个byte的值.
比如 http://54321 这个例子, Lastoff = 0x89, key = 0x95
http://11111111 这个例子, Lastoff ...[/QUOTE]
崇拜!
请问你是先看出76开始是密文再看出的算法,还是先看出算法才知道密文的位置的啊?
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
[QUOTE=arab;638902]for(i = Lastoff; i >= 0x70; i --)
data[i] ^= key--;
key就是最后那个byte的值.
比如 http://54321 这个例子, Lastoff = 0x89, key = 0x95
http://11111111 这个例子, Lastoff ...[/QUOTE]
没看明白……
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
前四byte是不应该是对明文的一个hash呢?
|
能力值:
( LV4,RANK:40 )
|
-
-
8 楼
替arab大仙解释一下啊
就是你取最后一个数据作为密码k。和最后一个数据异或。
在把k减一,在和前边一个数据异或。
一直到00000076
就得出结果了,最后几位恒为0
|
能力值:
(RANK: )
|
-
-
9 楼
其实我并不关心位置, 只关心算法. 看到最后8个bytes依次增长, 很容易联想到xor key++的. 所以一定要问的话, 那么答案是先看出算法才知道位置的.
另外, 虽然从0x76开始才是密文, 但70~75应该也是有用的数据, 包括一个word的标志, 和一个dword的长度. 最后8个bytes应该也是数据, 虽然为全0. 这些内容的具体作用就要分析代码才能知道了.
|
能力值:
( LV4,RANK:40 )
|
-
-
10 楼
崇拜ing
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
哦明白了,多谢。
这种方式如何逆过来呢?也就是如何从http://123456到后面的密文?
前四BYTE应该是一个HASH,不知道怎么能看出来。
|
能力值:
(RANK: )
|
-
-
12 楼
任取一个值, 和第一个数 xor, 然后加1, 再和下一个数 xor, 一直到最后 8 个0.
0x50 开始的的四个字节应该是个校验, 不过要研究对应的程序才能确定. 我担心的是这四个字节可能与后面加密用的Key有关.
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
任取一个值的话结果就不一定是是原来那样了,只是有密文那种特性而已。这个值也是需要确定的吧。
|
能力值:
(RANK: )
|
-
-
14 楼
是的, 我正是担心这个值是任取的还是和0x50的那四个字节有关, 甚至与明文的内容有关.
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
不知道谁能根本明文和 这个摘要值看出来算法……
|
|
|