很惭愧,我很久之前就注册了这个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期)