|
此软件比较复杂,未注册前,给出注册框,并限定了使用次数,使用两百次之后,不能继续使用,哪怕是输入正确的注册码也不行,重装也不行。输入注册码之后,软件退出,在每次启动时都要重新判断注册码正确与否。 它在注册时采用了从电脑获取电脑码,并将输入的注册码进行计算,算得的值同电脑码进行比较,相等则表示注册正确。由于每台电脑的电脑码不同,保证了一个注册码只能够用于同一台电脑。 若用注册机的方法进行注册,由于在某些用户的机子上,已经超过了使用次数。这时注册已经晚了。所以没办法,最后还是采取暴力破解更可行。 在注册方面,作者设置了很多的障碍:输入的注册码有固定的前四位和后四位,只有中间的几位才参与计算;在程序入口,也设置了相当多的障碍,加了许多的判断,让我几乎迷失在无穷的跳转中,即使在子程序也加入了跳转。最后很无赖,只好跟踪正确注册的程序,才找到正确的路径。 写的有点长,对不起大家。 以下是对注册码的分析,然后是再对其进行暴力破解 运行TRW,装入!WNM,在出现对话框时,下BPX HMEMCPY,大家都是成年人,不用我说得太具体吧。 跟踪到以下代码:
016F:0048CB74 MOV EDX,[00496D34] 此处存的是“tt98 0615" 016F:0048CB7A MOVSX EAX,CX 016F:0048CB7D MOV DL,[EDX+EAX] 依次取出8,9,t,t 016F:0048CB80 CMP DL,3F 016F:0048CB83 JZ 0048CB8B 016F:0048CB85 CMP [ESP+EAX+1C],DL 依次输入的注册码的第4,3,2,1位 016F:0048CB89 JNZ 0048CB8F 016F:0048CB8B DEC CX 016F:0048CB8D JNS 0048CB74 以上为比较前面四个字节是否为 tt98 016F:0048CB8F CMP CX,BYTE -01 016F:0048CB93 JNZ 0048CB9A 016F:0048CB95 MOV EBP,01 =1 可能表示首四位是正确的 016F:0048CB9A MOV EDI,[00496CBC] 为 "0615" 016F:0048CBA0 MOV ECX,FFFFFFFF 016F:0048CBA5 SUB EAX,EAX 016F:0048CBA7 REPNE SCASB 016F:0048CBA9 NOT ECX 016F:0048CBAB DEC ECX 算出为4位 016F:0048CBAC LEA EDI,[ESP+1C] 为输入的注册码 016F:0048CBB0 MOV DX,CX 016F:0048CBB3 SUB EAX,EAX 016F:0048CBB5 MOV ECX,FFFFFFFF 016F:0048CBBA REPNE SCASB 016F:0048CBBC NOT ECX 016F:0048CBBE DEC ECX 算出输入的注册码位数
上一篇:流光 4.5 完全破解 (15千字) 算法分析
下一篇:网络天使和QQ杀手将发作
|