您的位置:首页精文荟萃破解文章 → rufeng教程 提高篇(1)

rufeng教程 提高篇(1)

时间:2004/10/15 1:00:00来源:本站整理作者:蓝点我要评论(0)

 大家好!我是Ru Feng,又到上课的时候了,相信看这篇文章的朋友都看过我写的<初学者入门>吧!已经对于如何Crack软件有了一定的了解,所以在这里,我把最基本的操作都省去了,希望不懂的朋友,先去看一看<初学者入门>吧!
好了言归正传了!既然是提高篇了,我们就要把程式分析得比较的详细,做到弄清楚程式是如何来算注册码的,最终得出公式,写成注册机,使大家分享你的成果,从而提高自己的水平.
最近在网上,不时都会见到不少的人问,ActiveX控件是如何破解的,我看到网上也很少有这方面的文章,所以在网上Download了现在名气最大的两个多煤体ActiveX控件回来,看看它是否是人如其名.一试之下,good!!!!!!我真的爱上了它了,但可惜它要moneny注册.我真想自己是亿万富翁,我会马上去注册了.各位喜欢VB的朋友,请马上去下载啊!说了这么久,大家还不知道它们是什么呢?它们是FxTools5.02和ImagXress3.0.不要问我要去那里下载,如果连这样的好东西都不知道,我看.......哈哈............!好了然归正传,来解破解吧!为了写这篇文章,我花了近一个星期来分析这个软件的程式,为求清楚明了,但如果只是为了单单为了注册,就不要这么久了.这两个控件,每个都值XXX美金,所以它的注册码吗!就不是这么简单的比较了,而是较为复杂的运算.
首先,我们看一看它的注册形式吧!
Registration name:
Organization Name:
E-mail Address:
Serial Number:
Registration code:
以上的每一项都要你填写,注册时它是这样做的,它会先检查你的Serial Number的形式,如果不是,就会把你的Serial Number的第一位变为T,也会一样进注册Call运行,但一出来就跳到失败处,值得一提的是这个软件注册失败时没有失败窗口.如果形式正确,它就断续运行.它会把你的名字,组织,信箱,密码都经过一定的运算得到一个值,又把你的注册码运算得到另外一个值,两值比较,如果相等就把你的Serial Number经过运算写入注册表,在下次调用时提出来,再经过运算花出来,再检查是否正确,错误就不能运行.
我们为了对程式能分析得比较,所以很多时把整个Call内的内容都Copy出来,以便大家分析之用.这也是我对大家的希望,要知道一个Cracker要成为高手,就是要看他能否写出注册机来,因为这要求他对所Crack的程序的了解得很深.改文件来注册,那只是没办法之中的办法,如果你永远停留在这个水平,那么终有一天,你会发现你已经没有软件可Crack了,因为现在软件向着加壳化发展,很多时在原文件中找不到要改的内容了.好了现在讲破解了,由于Fxtools和ImagXress都是同一个公司的产品,所以注册程式是一样的,只是Serial Number不同,问我如何知道,我Crack过吗?
所以我们以Fxtools为例来说明:
1.我们把内容都填好!下bpx hmemcpy.
2.中断程式.按F12跳到原程式.
3.按F10向下走:

0137:01441785 PUSH EDX
0137:01441786 CALL 01442ED0 比较注册码 (下断点,进入)
0137:0144178B MOV EDI,EAX
0137:0144178D MOV AL,[ESI]
0137:0144178F CMP AL,54 成功就跳 (检查Serial Number第一字是否T)
0137:01441791 JNZ 0144179A
0137:01441793 MOV EAX,0000006B
0137:01441798 JMP 014417A4
0137:0144179A XOR EAX,EAX
0137:0144179C TEST EDI,EDI
0137:0144179E SETNZ AL
0137:014417A1 ADD EAX,6A
0137:014417A4 PUSH 00
0137:014417A6 PUSH EAX
0137:014417A7 MOV EAX,[014493BC]
0137:014417AC PUSH 00000111
这是比较CALL的内容,现在我们来看它算注册码了。

:CALL 01442ED0
0137:01442ED0 MOV EAX,[ESP+0C]
0137:01442ED4 SUB ESP,00000084
0137:01442EDA MOV [01449550],EAX
0137:01442EDF PUSH EBX
0137:01442EE0 PUSH EBP
0137:01442EE1 PUSH ESI
0137:01442EE2 PUSH EDI
0137:01442EE3 MOV EDI,[ESP+000000A4]
0137:01442EEA XOR ESI,ESI
0137:01442EEC MOV [01449290],ESI
0137:01442EF2 CMP BYTE PTR [EDI+08],42
0137:01442EF6 JZ 01442F2A
0137:01442EF8 MOV EBP,[ESP+000000A8] 名字的地址
0137:01442EFF PUSH EBP
0137:01442F00 CALL 01441030 名字算ds:01449290的值
0137:01442F05 MOV ECX,[ESP+000000B0] 公司的地址
0137:01442F0C ADD ESP,04
0137:01442F0F PUSH ECX
0137:01442F10 CALL 01441030 公司算ds:01449290的值
0137:01442F15 MOV EBX,[ESP+000000B4] 邮箱的地址
0137:01442F1C ADD ESP,04
0137:01442F1F PUSH EBX
0137:01442F20 CALL 01441030 邮箱算ds:01449290的值
0137:01442F25 ADD ESP,04
0137:01442F28 JMP 01442F38
0137:01442F2A MOV EBX,[ESP+000000B0]
0137:01442F31 MOV EBP,[ESP+000000A8] 密码的地址
0137:01442F38 PUSH EDI
0137:01442F39 CALL 01441030 密码算ds:01449290的值
0137:01442F3E MOV EDX,[ESP+000000B8] 注册码的地址
0137:01442F45 ADD ESP,04
0137:01442F48 TEST EDX,EDX
0137:01442F4A JZ 01442FA9
0137:01442F4C MOV AL,[EDX]
0137:01442F4E TEST AL,AL
0137:01442F50 JZ 01442FAF
0137:01442F52 CMP AL,39 检查是不是数字0--9
0137:01442F54 JG 01442F71
0137:01442F56 CMP AL,30
0137:01442F58 JL 01443418
0137:01442F5E MOV ECX,ESI
0137:01442F60 SHL ECX,03
0137:01442F63 SUB ECX,ESI
0137:01442F65 MOVSX EAX,AL
0137:01442F68 LEA ECX,[ECX*4+ECX]
0137:01442F6B LEA ESI,[EAX+ECX-30]
0137:01442F6F JMP 01442F9F
0137:01442F71 CMP AL,41 检查是不是字母A--Z
0137:01442F73 JL 01443418
0137:01442F79 CMP AL,5A
0137:01442F7B JG 01443418
0137:01442F81 CMP AL,4F
0137:01442F83 JZ 01443418
0137:01442F89 MOV ECX,ESI
0137:01442F8B SHL ECX,03
0137:01442F8E SUB ECX,ESI
0137:01442F90 CMP AL,4F
0137:01442F92 MOVSX ESI,AL
0137:01442F95 LEA ECX,[ECX*4+ECX]
0137:01442F98 LEA ESI,[ESI+ECX-37]
0137:01442F9C JL 01442F9F
0137:01442F9E DEC ESI
0137:01442F9F MOV AL,[EDX+01]
0137:01442FA2 INC EDX
0137:01442FA3 TEST AL,AL
0137:01442FA5 JNZ 01442F52
0137:01442FA7 JMP 01442FAF
0137:01442FA9 MOV ESI,[01449290]
0137:01442FAF CMP ESI,[01449290] 比较地方ds:01449290的值是最关键值
0137:01442FB5 JZ 01442FCE 为了计算注册码的方便我们设为sn1
0137:01442FB7 CMP BYTE PTR [EDI],54 而ESI的值我们设为ESI
0137:01442FBA JZ 01442FCE
0137:01442FBC MOV EAX,00000001
0137:01442FC1 POP EDI
0137:01442FC2 POP ESI
0137:01442FC3 POP EBP
0137:01442FC4 POP EBX
0137:01442FC5 ADD ESP,00000084
0137:01442FCB RET 0020
0137:01442FCE CALL [01445074]


好我们现在来看一看它是如何比较我们的注册码的,根据上面的程式,我们可以得到以下的公式
设你的注册码为abcd
ESI=35(35(35a+b)+c)+d=d*35^0+c*35^1+b*35^2+a*35^3
但一点要补充的,程式在对字母运算时做了一点动作,
其中:


0137:01442F81 CMP AL,4F
0137:01442F83 JZ 01443418
是对O字母无效。
0137:01442F90 CMP AL,4F
0137:01442F92 MOVSX ESI,AL
0137:01442F95 LEA ECX,[ECX*4+ECX]
0137:01442F98 LEA ESI,[ESI+ECX-37]
0137:01442F9C JL 01442F9F
0137:01442F9E DEC ESI


是对于在O字母后的字母计算时ESI要减一。
从上面分析可知:
如果要算注册码,第一我们要知道sn1(ds:01449290的值)
第二就是用它对35求余,就可以得到d 的值了,再求余可以得到c了,如此类推,就可以求出注册码来了。
如果求出来的余数大于9,从程式中可知,它是这样处理的,它把10用A来代替,11为B。。。。。。。。
但有一点要注意,就是当余数大于24时,那么对应的字母就要向后移一个了,如余数为25,那么正确的
字母应为26所对应的字母了。


好我们现在来了解ds:01449290的值sn1是怎么样得出来的。
这是用名字,公司,邮箱,密码来算注册码的公共CALL


:CALL 01441030
0137:01441030 PUSH EBX
0137:01441031 MOV EBX,[ESP+08]
0137:01441035 PUSH ESI
0137:01441036 PUSH EDI
0137:01441037 MOV EDI,EBX
0137:01441039 OR ECX,-01
0137:0144103C XOR EAX,EAX
0137:0144103E XOR ESI,ESI
0137:01441040 REPNZ SCASB
0137:01441042 NOT ECX
0137:01441044 DEC ECX 取名字,公司,邮箱,密码等的字符串长度
0137:01441045 MOV EDI,ECX
0137:01441047 TEST EDI,EDI
0137:01441049 JLE 0144105E
0137:0144104B XOR EAX,EAX
0137:0144104D MOV AL,[EBX+ESI] [EBX+ESI]为放名字,公司,邮箱,密码等的地方
0137:01441050 PUSH EAX 把EAX送到[ESP+04]中,后面有用
0137:01441051 CALL 01441000 算sn1(ds:01449290的值)
0137:01441056 ADD ESP,04
0137:01441059 INC ESI
0137:0144105A CMP ESI,EDI 字符串长度为多少就循环多少次
0137:0144105C JL 0144104B
0137:0144105E MOV EAX,[01449290]
0137:01441063 POP EDI
0137:01441064 POP ESI
0137:01441065 POP EBX
0137:01441066 RET


这是CALL 01441000的内核:


:CALL 01441000
0137:01441000 MOV EAX,[01449290] 把sn1送EAX
0137:01441005 MOV EDX,[ESP+04] 重取字母
0137:01441009 MOV ECX,EAX 把sn1送ECX
0137:0144100B AND ECX,000000FF 取出CL来
0137:01441011 XOR ECX,EDX CL与字母XOR
0137:01441013 SHR EAX,08 EAX右移8位
0137:01441016 MOV EDX,[ECX*4+01446000] 查表
0137:0144101D XOR EDX,EAX EAX与字母XOR后放回EDX
0137:0144101F MOV [01449290],EDX EDX送回sn1
0137:01441025 RET
好了,现在我们来看一看sn1是如何得到的了。
我们现在以名字为Ru Feng为例来说明程式是如何运行的:
由程式我们知道,它的sn1的为法是一种查表的方法,从语句:
0137:01441016 MOV EDX,[ECX*4+01446000]
可得表格的地址最小为ds:01446000
最大为ds:[ff*4+1446000]
为了分析的方便和后面写注册机,我们把这段数据抓出来,如下表1.
首先取得名字长度为ecx=7,所以循环7次:
1.ds:01449290=0
eax=0h
edx=52h
ecx=0h
ecx=0h
ecx=52h
eax=0h
edx=ds:52*4h+01446000h=ds:01446148=856530D8h
ds:[01449290]=856530D8h
如此类推:
2.
ds:[01449290]=A8E2BA65h
3.
ds:[01449290]=061E57A5h
4.
ds:[01449290]=3905AD95h
5.
ds:[01449290]=BD84F7B1h
6.
ds:[01449290]=16D14BB2h
7.
ds:[01449290]=F6AFF710h


作者:Ru Feng
信箱:ocq@163.net
网址:http://ocq.yeah.net
(未完,代续)
附表1.
013F:01446000 00 00 00 00 96 30 07 77-2C 61 0E EE BA 51 09 99 .....0.w,a...Q..
013F:01446010 19 C4 6D 07 8F F4 6A 70-35 A5 63 E9 A3 95 64 9E ..m...jp5.c...d.
013F:01446020 32 88 DB 0E A4 B8 DC 79-1E E9 D5 E0 88 D9 D2 97 2......y........
013F:01446030 2B 4C B6 09 BD 7C B1 7E-07 2D B8 E7 91 1D BF 90 +L...|.~.-......
013F:01446040 64 10 B7 1D F2 20 B0 6A-48 71 B9 F3 DE 41 BE 84 d.... .jHq...A..
013F:01446050 7D D4 DA 1A EB E4 DD 6D-51 B5 D4 F4 C7 85 D3 83 }......mQ.......
013F:01446060 56 98 6C 13 C0 A8 6B 64-7A F9 62 FD EC C9 65 8A V.l...kdz.b...e.
013F:01446070 4F 5C 01 14 D9 6C 06 63-63 3D 0F FA F5 0D 08 8D O\...l.cc=......
013F:01446080 C8 20 6E 3B 5E 10 69 4C-E4 41 60 D5 72 71 67 A2 . n;^.iL.A`.rqg.
013F:01446090 D1 E4 03 3C 47 D4 04 4B-FD 85 0D D2 6B B5 0A A5 ...013F:014460A0 FA A8 B5 35 6C 98 B2 42-D6 C9 BB DB 40 F9 BC AC ...5l..B....@...
013F:014460B0 E3 6C D8 32 75 5C DF 45-CF 0D D6 DC 59 3D D1 AB .l.2u\.E....Y=..
013F:014460C0 AC 30 D9 26 3A 00 DE 51-80 51 D7 C8 16 61 D0 BF .0.&:..Q.Q...a..
013F:014460D0 B5 F4 B4 21 23 C4 B3 56-99 95 BA CF 0F A5 BD B8 ...!#..V........
013F:014460E0 9E B8 02 28 08 88 05 5F-B2 D9 0C C6 24 E9 0B B1 ...(..._....$...
013F:014460F0 87 7C 6F 2F 11 4C 68 58-AB 1D 61 C1 3D 2D 66 B6 .|o/.LhX..a.=-f.
013F:01446100 90 41 DC 76 06 71 DB 01-BC 20 D2 98 2A 10 D5 EF .A.v.q... ..*...
013F:01446110 89 85 B1 71 1F B5 B6 06-A5 E4 BF 9F 33 D4 B8 E8 ...q........3...
013F:01446120 A2 C9 07 78 34 F9 00 0F-8E A8 09 96 18 98 0E E1 ...x4...........
013F:01446130 BB 0D 6A 7F 2D 3D 6D 08-97 6C 64 91 01 5C 63 E6 ..j-=m..ld..\c.
013F:01446140 F4 51 6B 6B 62 61 6C 1C-D8 30 65 85 4E 00 62 F2 .Qkkbal..0e.N.b.
013F:01446150 ED 95 06 6C 7B A5 01 1B-C1 F4 08 82 57 C4 0F F5 ...l{.......W...
013F:01446160 C6 D9 B0 65 50 E9 B7 12-EA B8 BE 8B 7C 88 B9 FC ...eP.......|...
013F:01446170 DF 1D DD 62 49 2D DA 15-F3 7C D3 8C 65 4C D4 FB ...bI-...|..eL..
013F:01446180 58 61 B2 4D CE 51 B5 3A-74 00 BC A3 E2 30 BB D4 Xa.M.Q.:t....0..
013F:01446190 41 A5 DF 4A D7 95 D8 3D-6D C4 D1 A4 FB F4 D6 D3 A..J...=m.......
013F:014461A0 6A E9 69 43 FC D9 6E 34-46 88 67 AD D0 B8 60 DA j.iC..n4F.g...`.
013F:014461B0 73 2D 04 44 E5 1D 03 33-5F 4C 0A AA C9 7C 0D DD s-.D...3_L...|..
013F:014461C0 3C 71 05 50 AA 41 02 27-10 10 0B BE 86 20 0C C9 013F:014461D0 25 B5 68 57 B3 85 6F 20-09 D4 66 B9 9F E4 61 CE %.hW..o ..f...a.
013F:014461E0 0E F9 DE 5E 98 C9 D9 29-22 98 D0 B0 B4 A8 D7 C7 ...^...)".......
013F:014461F0 17 3D B3 59 81 0D B4 2E-3B 5C BD B7 AD 6C BA C0 .=.Y....;\...l..
013F:01446200 20 83 B8 ED B6 B3 BF 9A-0C E2 B6 03 9A D2 B1 74 ..............t
013F:01446210 39 47 D5 EA AF 77 D2 9D-15 26 DB 04 83 16 DC 73 9G...w...&.....s
013F:01446220 12 0B 63 E3 84 3B 64 94-3E 6A 6D 0D A8 5A 6A 7A ..c..;d.>jm..Zjz
013F:01446230 0B CF 0E E4 9D FF 09 93-27 AE 00 0A B1 9E 07 7D ........'......}
013F:01446240 44 93 0F F0 D2 A3 08 87-68 F2 01 1E FE C2 06 69 D.......h......i
013F:01446250 5D 57 62 F7 CB 67 65 80-71 36 6C 19 E7 06 6B 6E ]Wb..ge.q6l...kn
013F:01446260 76 1B D4 FE E0 2B D3 89-5A 7A DA 10 CC 4A DD 67 v....+..Zz...J.g
013F:01446270 6F DF B9 F9 F9 EF BE 8E-43 BE B7 17 D5 8E B0 60 o.......C......`
013F:01446280 E8 A3 D6 D6 7E 93 D1 A1-C4 C2 D8 38 52 F2 DF 4F ....~......8R..O
013F:01446290 F1 67 BB D1 67 57 BC A6-DD 06 B5 3F 4B 36 B2 48 .g..gW.....?K6.H
013F:014462A0 DA 2B 0D D8 4C 1B 0A AF-F6 4A 03 36 60 7A 04 41 .+..L....J.6`z.A
013F:014462B0 C3 EF 60 DF 55 DF 67 A8-EF 8E 6E 31 79 BE 69 46 ..`.U.g...n1y.iF
013F:014462C0 8C B3 61 CB 1A 83 66 BC-A0 D2 6F 25 36 E2 68 52 ..a...f...o%6.hR
013F:014462D0 95 77 0C CC 03 47 0B BB-B9 16 02 22 2F 26 05 55 .w...G....."/&.U
013F:014462E0 BE 3B BA C5 28 0B BD B2-92 5A B4 2B 04 6A B3 5C .;..(....Z.+.j.\
013F:014462F0 A7 FF D7 C2 31 CF D0 B5-8B 9E D9 2C 1D AE DE 5B ....1......,...[
013F:01446300 B0 C2 64 9B 26 F2 63 EC-9C A3 6A 75 0A 93 6D 02 ..d.&.c...ju..m.
013F:01446310 A9 06 09 9C 3F 36 0E EB-85 67 07 72 13 57 00 05 ....?6...g.r.W..
013F:01446320 82 4A BF 95 14 7A B8 E2-AE 2B B1 7B 38 1B B6 0C .J...z...+.{8...
013F:01446330 9B 8E D2 92 0D BE D5 E5-B7 EF DC 7C 21 DF DB 0B ...........|!...
013F:01446340 D4 D2 D3 86 42 E2 D4 F1-F8 B3 DD 68 6E 83 DA 1F ....B......hn...
013F:01446350 CD 16 BE 81 5B 26 B9 F6-E1 77 B0 6F 77 47 B7 18 ....[&...w.owG..
013F:01446360 E6 5A 08 88 70 6A 0F FF-CA 3B 06 66 5C 0B 01 11 .Z..pj...;.f\...
013F:01446370 FF 9E 65 8F 69 AE 62 F8-D3 FF 6B 61 45 CF 6C 16 ..e.i.b...kaE.l.
013F:01446380 78 E2 0A A0 EE D2 0D D7-54 83 04 4E C2 B3 03 39 x.......T..N...9
013F:01446390 61 26 67 A7 F7 16 60 D0-4D 47 69 49 DB 77 6E 3E a&g...`.MGiI.wn>
013F:014463A0 4A 6A D1 AE DC 5A D6 D9-66 0B DF 40 F0 3B D8 37 Jj...Z..f..@.;.7
013F:014463B0 53 AE BC A9 C5 9E BB DE-7F CF B2 47 E9 FF B5 30 S.........G...0
013F:014463C0 1C F2 BD BD 8A C2 BA CA-30 93 B3 53 A6 A3 B4 24 ........0..S...$
013F:014463D0 05 36 D0 BA 93 06 D7 CD-29 57 DE 54 BF 67 D9 23 .6......)W.T.g.#
013F:014463E0 2E 7A 66 B3 B8 4A 61 C4-02 1B 68 5D 94 2B 6F 2A .zf..Ja...h].+o*
013F:014463F0 37 BE 0B B4 A1 8E 0C C3-1B DF 05 5A 8D EF 02 2D 7..........Z...-


    
    
     
    
    
     

相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 去除winrar注册框方法

最新文章 比特币病毒怎么破解 比去除winrar注册框方法 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)通过Access破解MSSQL获得数据

人气排行 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)qq相册密码破解方法去除winrar注册框方法(适应任何版本)怎么用手机破解收费游戏华为无线猫HG522破解如何给软件脱壳基础教程