• 标 题:Crack之亲历手迹8---破解流风婚纱形象设计系统2002版的序列号加密 (1千字)
  • 作 者:y97523[BCG]
  • 时 间:2002-4-1 20:39:12
  • 链 接:http://bbs.pediy.com

Crack之亲历手迹8---破解流风婚纱形象设计系统2002版的序列号加密
//------------------------------------------------------
这个程序的加密算法部分特别长
其中有许多的函数只是将exe内的资源字符串进运算生成一些常数(可能与软件的No.批号有关)
而对于单个拷贝则其加密算法极其简单!
//------------------------------------------------------
1。先讲一下如何动态的从内存中取出中正确的号。
  a.运行软件,出现输入序列号窗口,Ctl_D出SoftICE,下BPX GetWindowText Do"BD0"
  b.输入假序列号LF2002123SM,确定。被SoftICE拦住,F12一次后,输命令g 349C
    停在这儿:
cseg119:348E                add    ax, word ptr [bp+var_temp1]
cseg119:3491                adc    dx, word ptr [bp+var_temp1+2]
cseg119:3494                add    ax, word ptr [bp+var_SystemID] ; 加上系统ID号
cseg119:3497                adc    dx, word ptr [bp+var_SystemID+2] ; 0
cseg119:349A                pop    si
cseg119:349B                leave
cseg119:349C                retf    8<------------停在此处
    看一下DX:AX内存的值比如DX=0001;AX=0236。这时输入?00010236
    即DX:AX的值,我们将看到其十进制数值66102
  c.好了记下这个数,我们已经大功告成了!现在我可以知道正确的序列号是LF200266102SM
    所有的序列号的格式都一样,即LF2002xxxxSM,其中的xxxx就是上面我们找到的十进制数
    注意:注册正确的序列号前请先记下输序列号对话框中给出的系统ID号,有用!


2。下一次如何更方便的得到序列号
  我们已经得到了一个序列号,还有系统ID号
  LF2002xxxxSM中的xxxx减去系统ID号,我们将得到一个新的数,我这儿为18176。这个新的数才有真正的价值。
  有了这个数后我们可以随时根据新的系统ID(每次安装都不同)得到新的序列号。

  比如我:

  用系统ID加上这个数18176,得到数字xxxx,
  则正确的序列号为LM2002xxxxSM
  是不是很容易