首页
社区
课程
招聘
[讨论]关于echap511的问题的原理
发表于: 2009-7-6 19:12 3251

[讨论]关于echap511的问题的原理

2009-7-6 19:12
3251
很惭愧,我很久之前就注册了这个ID,但是一直没有发帖,也没有回复,只是下载了些工具用。

这个帖子主要是用来说明echap511的推导原理的,没兴趣的或者是已经知道的可以略过。
本来我写在我的博客上,但是觉得在看雪这么久都不发一贴,太对不起管理员了。

昨晚由于无聊,就想按照看雪论坛的资料破解一点东西。碰到一个echap511的程序,试着看了一下,发现计算过程很易懂,关键是算序列号的过程不知道该如何下手。

在论坛上搜到一个帖子是关于这个问题的解答的。
看完之后我觉得我很笨,居然没有想到按照他那样算。我最先想到的是暴利破解

之后又发现我很笨,因为我一步一步的推算出来了原理,并且感觉那位楼主做的事情比我还囧,就在此发帖了。

关于问题的具体介绍以及一些很囧的解法(没有鄙视原作者的意思),请先看原帖。
http://bbs.pediy.com//showthread.php?t=66222&referrerid=207614

首先引用一句话,原作者的。
设正确序列号为a1a2……a8.数据块中的静态字符串为c1c2……c8,al即计算过程中al的字符。
计算过程中,关键是得出 al。

由此可以得到,
a1 ^ al = c1
a2 ^ al = c2
...
a8 ^ al = c3

在这里就不难看出

(a1 ^ al) ^ (a2 ^ al) ^...(a8 ^ al) = c1 ^ c2 ^ c3 ^... c8

根据异或运算的结合律以及 异或自身得0 异或0 的自身的规律,不难得到

a1 ^ a2 ^ ... a8 = c1 ^ c2 ^... c8

哈哈,这个式子很有用。我们可以得到一个新的 异或规律了。
a ^ x =c
b ^ x =d
那 a ^ b = c ^ d

回到正题,根据结合律,al= (((a1 ^ a2)^(a3^a4))^((a5^a6)^(a7^a8)))= a1 ^ a2 ^...a8 = c1 ^ c2 ^... c8

求出al,接下来的就不是问题了。

本来我打算在原帖回复的,谁知道一年刚好过去了,锁帖了……

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
2
呵呵, xor操作的本质就是“按位加”,或者 “不进位的加法”。

于是,它满足交换律,结合律。

这就是问题的本质。

这个例子我也曾经啰嗦了一翻,就是从数学上进行推导的。

http://bbs.pediy.com/showthread.php?t=77367
2009-7-6 20:26
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
呃,原来你那里给出了答案了。
我说,这个规律并不难理解,居然搜不到比较好的解释。
我看到的是附加联系的 第五章的第一个,为什么你那贴是 第6章第一个? 真不懂这题目编号都是怎么来的。
2009-7-6 22:00
0
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
4
原来还不是一个章节,我都没注意,我就是看了你写的算法,以为和我那个是同一个呢。。。
2009-7-7 22:10
0
游客
登录 | 注册 方可回帖
返回
//