破解GIF Movie Gear 3.01 (8千字)
破解GIF Movie Gear 3.01:
為了找一個漢化的對像,我找到了它,根據介紹,這個軟體功能強大,我不會玩GIF動畫,但在漢化過程中它給我的感覺倒是很好的,小巧的身材,強大的功能...我喜歡這樣的軟體.在漢化中我順便想把它註冊了,於是今晚就請出了SICE把它給破了,呵呵...(也久沒有CRACK了,為了搞安裝程式的製作...哪天我要寫一個關於搞安裝程式的製作的教程,我在網上找了好久都發現有...)
好了,言歸正傳.開啟註冊視窗填入:
NAME:Vitamin C
CODE:1234abcd1234abcd
(不知從哪天起喜歡用長的NUM.了...)
在SICE裡用:BPX HMEMCPY.其實這個斷點是最好用的,以前我不太懂CRACK時很怕用它,現在次次都用.(因為用GETWINDOWTEXTA等有時會攔不到...)...
按'OK'中斷按F12後你會發現原來它是用GetWindowTextA的,按多幾次F12(我記不清是幾次了,好像不是很多次^_^)後到達我們的目的地:
...
* Reference To: USER32.GetWindowTextA, Ord:015Eh
|
:00431959 8B1DF8834400 mov ebx, dword
ptr [004483F8]/*它是把要CALL的偏移放入EBX
:0043195F 50
push eax
再呼叫的*/
:00431960 FFD3
call ebx /*這個CALL取NAME*/
:00431962 8D9424C4000000 lea edx, dword ptr
[esp+000000C4]<-我們要在這裡停
* Possible Reference to Dialog: DialogID_0064
|
:00431969 6A64
push 00000064
:0043196B 52
push edx
* Possible Reference to Dialog: DialogID_0091, CONTROL_ID:0450, ""
|
:0043196C 6850040000 push 00000450
:00431971 56
push esi
:00431972 FFD7
call edi
:00431974 50
push eax
:00431975 FFD3
call ebx /*這個CALL取CODE,和上面的CALL呼叫同一個偏移*/
:00431977 8D8424C4000000 lea eax, dword ptr
[esp+000000C4]
:0043197E 8D4C2460 lea
ecx, dword ptr [esp+60]
:00431982 50
push eax /*這裡是的兩個暫存器裡有一個是你輸入的CODE有一個
:00431983 51
push ecx 是mvg21951736,呵呵不用我說了吧,可是它可不是*/
:00431984 E8F7FBFFFF call 00431580/*這個是關鍵的CALL,這裡是一個經典的組合,CALL
:00431989 83C408
add esp, 00000008了之後來一個TEST EAX,EAX,呵呵...^_^*/
:0043198C 85C0
test eax, eax
:0043198E 0F84AD000000 je 00431A41
:00431994 8D542410 lea
edx, dword ptr [esp+10]
...
試一試用F10跳過關鍵CALL,EAX就為00H,(那個CODE是亂來的嗎!)然後就完了...
那麼就是要跟進那個CALL:
...
* Referenced by a CALL at Addresses:
|:004316C9 , :00431984
|
:00431580 53
push ebx
:00431581 55
push ebp/*EBP是你輸入的CODE的地址*/
:00431582 8B6C2410 mov
ebp, dword ptr [esp+10]
:00431586 56
push esi
:00431587 57
push edi
:00431588 807D006D cmp
byte ptr [ebp+00], 6D/*CODE和第一個字元是:m*/
:0043158C 0F85A0000000 jne 00431632/*跳了就OVER,下面幾個一樣的,知道是怎麼回事了吧?*/
:00431592 807D0167 cmp
byte ptr [ebp+01], 67/*第二個:g*/
:00431596 0F8596000000 jne 00431632
:0043159C 807D0233 cmp
byte ptr [ebp+02], 33/*第三個:3*/
:004315A0 0F858C000000 jne 00431632
:004315A6 807D0337 cmp
byte ptr [ebp+03], 37/*第四個:7*/
:004315AA 0F8582000000 jne 00431632
* Possible Indirect StringData Ref from Data Obj ->"mvg21951736"<-這個字串不知有什麼用?
|
:004315B0 BBC4D44400 mov ebx,
0044D4C4
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004315D6(C)
|
:004315B5 8B13
mov edx, dword ptr [ebx]
:004315B7 83C9FF
or ecx, FFFFFFFF
:004315BA 8BFA
mov edi, edx
:004315BC 33C0
xor eax, eax
:004315BE F2
repnz
:004315BF AE
scasb
:004315C0 F7D1
not ecx
:004315C2 49
dec ecx
:004315C3 8BFA
mov edi, edx
:004315C5 8BF5
mov esi, ebp
:004315C7 33C0
xor eax, eax
:004315C9 F3
repz
:004315CA A6
cmpsb
:004315CB 7465
je 00431632
:004315CD 83C304
add ebx, 00000004
:004315D0 81FBC8D44400 cmp ebx, 0044D4C8
:004315D6 7CDD
jl 004315B5
:004315D8 807D0473 cmp
byte ptr [ebp+04], 73/*第五個字元:s(不是必須的,另有用處)*/
:004315DC 7501
jne 004315DF
:004315DE 45
inc ebp
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004315DC(C)
|
:004315DF 83C507
add ebp, 00000007 /*取CODE第7位後的字元!CODE要>7位啊!*/
:004315E2 55
push ebp
:004315E3 E8D0DD0000 call 0043F3B8/*這個CALL其實作用是這樣的:把CODE第8位起的字元
:004315E8 8B542418 mov
edx, dword ptr [esp+18] '1234'->1234D*/
:004315EC 83C404
add esp, 00000004
:004315EF 8BFA
mov edi, edx
:004315F1 33C9
xor ecx, ecx
:004315F3 8A12
mov dl, byte ptr [edx]/*這裡開始是用NAME計算CODE了*/
:004315F5 BEDF0B0000 mov esi,
00000BDF
:004315FA 84D2
test dl, dl
:004315FC 7426
je 00431624
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00431622(C)
|
:004315FE 0FBED2
movsx edx, dl
:00431601 41
inc ecx
:00431602 0FAFD1
imul edx, ecx
:00431605 03F2
add esi, edx
:00431607 81FEBE170000 cmp esi, 000017BE
:0043160D 7E06
jle 00431615
:0043160F 81EEBE170000 sub esi, 000017BE
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0043160D(C)
|
:00431615 83F90A
cmp ecx, 0000000A/*到了名字的第10個字元則要跳出去了!*/
:00431618 7E02
jle 0043161C
:0043161A 33C9
xor ecx, ecx
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00431618(C)
|
:0043161C 8A5701
mov dl, byte ptr [edi+01]
:0043161F 47
inc edi
:00431620 84D2
test dl, dl
:00431622 75DA
jne 004315FE
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004315FC(C)
|
:00431624 3BF0
cmp esi, eax/*將用NAME計算得到的CODE和CODE第8位起的字元->數字進
:00431626 750A
jne 00431632 行比較!*/
:00431628 5F
pop edi
:00431629 5E
pop esi
:0043162A 5D
pop ebp
:0043162B B801000000 mov eax,
00000001/*EAX置01H*/
:00431630 5B
pop ebx
:00431631 C3
ret
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:0043158C(C), :00431596(C), :004315A0(C), :004315AA(C), :004315CB(C)
|:00431626(C)
|
:00431632 5F
pop edi
:00431633 5E
pop esi
:00431634 5D
pop ebp
:00431635 33C0
xor eax, eax/*聽笨冬瓜兄說,這是我們的大敵!(EAX=00H)*/
:00431637 5B
pop ebx
:00431638 C3
ret
...
知道了CODE前4位是:mg37,那就讓它OVER我們把CODE改一改:mg37abc1234,好了,順利到了:004315E3這個CALL,這個CALL其實作用是這樣的:把CODE第8位起的字元(就是:'1234')變成十進位制的數字(就是:1234D)!我跟進了那個CALL但沒能找出不所以然來,還有一點,變是第8位起的字元不能是字母,要不會成為一個負數的!我一開始就是這樣,所以我走了彎路...
好了,之後就是用NAME計算了,得到一個數字和CODE第8位起的字元(就是:'1234')變成十進位制的數字(就是:1234D)進行比較,相等就OK!,我的NAME(Vitamin
C)得到的是031DH=797D,那我的正確的CODE是:mg37xxx797(xxx可以為任何字元!)其實還有一個CODE,就是第5位是s的:mg37sxxx797(xxx可以為任何字元!),這個CODE是站點CODE(SITE
LICENSE)那個是個人CODE(GIF Movie Gear這個軟體說的)這就是那個非必須比較的作用!
好了,到了這裡,也就完成了.其實那個計算NAME的演算法可以看出來的,不難,要你有能力,可以寫一個序號產生器!
演算法:
Vitamin C
取每個字元的16進位制數*它所在的位(第一位*1,第二位*2...)相加再加上0BDFH,要是>17BEH時就減去一個17BEH直到<17BEH(6078D)就行了,那個得到的數的10進位制數就是這個NAME的CODE.對了,還有一點,就是計算名字最多計算到第10個字元!其它的就不用算了!
OK!
NAME:Vitamin C
CODE:mg37xxx797/mg37sxxx797 (xxx可以為任何字元!)
Vitamin C[抗壞血酸].2002.2.18.HY.GD.CHI.
相關文章
- GIF Movie Gear v3.0.2 破解小談(附序號產生器原始碼)2015-11-15原始碼
- 《登入奇兵》v3.01的破解---請指教 (4千字)2001-02-16
- 菜鳥破解錄之 GIF Construction Set Pro及演算法分析
(8千字)2000-09-01Struct演算法
- winimage完全破解 (8千字)2001-07-04
- Java 程式的破解方法 (8千字)2002-08-15Java
- 我的破解心得(8) (2千字)2001-03-13
- ThemeFreak V1.6破解 (8千字)2001-03-07
- 炒股理財1.65破解方法 (8千字)2001-04-13
- Trojan Remover 4.3.0破解手記 (8千字)2001-08-31REM
- winxp總管破解筆記(一) (8千字)2002-10-07筆記
- 破解WS_FTP Pro 7.02 (8千字)2001-10-28FTP
- SeaMoon Pic Hunter 1.2破解手記 (8千字)2015-11-15
- Password Keeper v6.3破解過程 (8千字)2002-04-12
- 破解華琦庫管精靈1.2.4 (8千字)2000-09-11
- PwlTool的功能限制的破解---DDXia[CCG] (8千字)2001-03-10
- 使用KERNEL32.DLL破解???(譯文)
(8千字)2000-08-29
- movie2024-05-29
- MouseStar V3.01註冊演算法分析 (18千字)2015-11-15演算法
- Update NOW 2000 暴力破解方法! (8千字)2001-02-11
- 如何完美破解winhex9.73的功能限制! (8千字)2001-03-13
- Embird32 防破解技術的分析 (8千字)2001-04-29
- MP3 to EXE v 2.6破解手記 (8千字)2001-09-08
- 用W32DASM破解JPEG Optimizer 4.0 (8千字)2000-02-21ASM
- 乾涸的(Asp maker version 2.2 破解手記) (8千字)2015-11-15
- 輕鬆試卷 V4.5版破解實錄。 (8千字)2002-06-30
- Kugle Regediter 1.0 註冊碼破解法(非明碼) (8千字)2001-11-03
- Visual CHM 4.0的演算法“特別破解” (8千字)2015-11-15演算法
- PolyView 破解 (5千字)2000-12-31View
- 破解FAQGenie (4千字)2001-04-10
- 破解MyMahj (5千字)2001-06-20
- 破解winimage (1千字)2001-10-07
- CDSPACE1.95破解手記(專為初學者而作!) (8千字)2000-12-30
- 用DeDe破解------Ativa Pro v3.18 的破文 (8千字)2001-08-29
- 破解ClockWise 3.03 (7千字)2001-06-06
- 破解TurboLaunch 4.04 (5千字)2001-06-06
- Authorware 5.0破解 (4千字)2001-09-10
- 破解“Mail Scan” (1千字)2000-08-04AI
- 初級~~初級~~~初初級~~~KanjiWeb 3.0 (漢字通)破解~~~~~~~~~
(8千字)2001-03-11Web