簡單演算法――窮和麻將 V2.08!

看雪資料發表於2003-02-26

下載地址:  http://www.skycn.com/soft/9092.html
軟體大小:  1248 KB
軟體語言:  簡體中文
軟體類別:  國產軟體 / 共享版 / 棋牌遊戲
應用平臺:  Win9x/NT/2000/XP
加入時間:  2003-02-12 10:53:38
下載次數:  14895
推薦等級:  ***
開 發 商:  http://bmzhao.wx-e.com/


【軟體簡介】:窮和麻將廣泛流傳於我國北方地區。和牌規則是開門、不缺門、有麼九、有橫、有順。

【軟體限制】:試用期

【作者宣告】:初學Crack,只是感興趣,沒有其它目的。失誤之處敬請諸位大俠賜教!

【破解工具】:TRW2000娃娃修改版、FI2.5、W32Dasm8.93黃金版

―――――――――――――――――――――――――――――
【過    程】:


呵呵,血草兄前幾日給我的“作業”。誰知DOWN下來後卻無法執行,鬱悶。今天看看其說明,明白了這個傢伙嫌我的機子檔次太低,故而罷工。呵呵,去找一朋友,在他的P4上搞定了它。雖然朋友心疼愛機,我卻裝作沒看見。^-^     哎,已經凌晨了,太困了。


mj.exe無殼。VC++ 6.0編寫。反彙編,很容易就找到核心。

機器碼:604838662
試煉碼:13572468

―――――――――――――――――――――――――――――
* Reference To: KERNEL32.GetVolumeInformationA, Ord:0177h
                                 ====>呵呵,取我的硬碟序列號!
                                 
:0040873C FF15F4514200            Call dword ptr [004251F4]
:00408742 8B4C2410                mov ecx, dword ptr [esp+10]
                                 ====>240D1B06 即604838662入ECX

:00408746 85C9                    test ecx, ecx
:00408748 742F                    je 00408779

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00408777(C)
|
:0040874A 8BC1                    mov eax, ecx
                                 ====>1、240D1B06
                                 ====>2、0162F731
                                 ====>3、000DA70B
                                 ====>4、0000866C
                                 ====>5、0000052B
                                 ====>6、00000032
                                 ====>7、00000001

:0040874C 33D2                    xor edx, edx
:0040874E BD1A000000              mov ebp, 0000001A
                                 ====>1A 入 EBP

:00408753 F7F5                    div ebp
                   ====>EAX分別除以1A,直至不夠除。商入EAX,餘數入EDX
                                 ====>1、240D1B06/1A=0162F731 餘C
                                 ====>2、0162F731/1A=000DA70B 餘13
                                 ====>3、000DA70B/1A=0000866C 餘13
                                 ====>4、0000866C/1A=0000052B 餘E
                                 ====>5、0000052B/1A=00000032 餘17
                                 ====>6、00000032/1A=00000001 餘18
                                 ====>7、00000001/1A=00000000 餘01

:00408755 0FBE07                  movsx eax, byte ptr [edi]
                                 ====>依次取試煉碼的HEX值  EDI=13572468
                                 ====>1、31 入 EAX
                               …… ……省略…… ……


:00408758 8B149568C14200          mov edx, dword ptr [4*edx+0042C168]
                                 ====>依次從[4*edx+0042C168]處取值!
                                 ====>1、[4*C+0042C168]=0042C198  值為18
                                 ====>2、[4*13+0042C168]=0042C1B4 值為06
                                 ====>3、[4*13+0042C168]=0042C1B4 值為06
                                 ====>4、[4*E+0042C168]=0042C1A0  值為08
                                 ====>5、[4*17+0042C168]=0042C1C4 值為0C
                                 ====>6、[4*18+0042C168]=0042C1C8 值為16
                                 ====>7、[4*01+0042C168]=0042C16C 值為05

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
附:0042C168-0042C1C8 記憶體處的值!

0042C168  10 00 00 00 05 00 00 00 02 00 00 00 17 00 00 00  
0042C178  00 00 00 00 04 00 00 00 0E 00 00 00 19 00 00 00    
0042C188  09 00 00 00 03 00 00 00 0F 00 00 00 0B 00 00 00    
0042C198  18 00 00 00 0A 00 00 00 08 00 00 00 01 00 00 00  
0042C1A8  0D 00 00 00 14 00 00 00 11 00 00 00 06 00 00 00
0042C1B8  15 00 00 00 13 00 00 00 07 00 00 00 0C 00 00 00  
0042C1C8  16 00 00 00 12 00 00 00 BA EC D6 D0 00 00 00 00  
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

:0040875F 83C241                  add edx, 00000041
                                 ====>1、18+41=59
                                 ====>2、06+41=47
                                 ====>3、06+41=47
                                 ====>4、08+41=49
                                 ====>5、0C+41=4D
                                 ====>6、16+41=57
                                 ====>7、05+41=46


:00408762 47                      inc edi
:00408763 3BD0                    cmp edx, eax
                                 ====>依次與試煉碼的HEX值比較!

呵呵,把上面得到的59、47、47、49、4D、57、46分別轉化為其所對應的字元就是我的註冊碼了!
59、47、47、49、4D、57、46====>YGGIMWF


:00408765 7560                    jne 004087C7
                                 ====>跳則OVER! R FL Z 改變跳轉讓其繼續比較!

:00408767 B84FECC44E              mov eax, 4EC4EC4F
:0040876C F7E1                    mul ecx
:0040876E C1EA03                  shr edx, 03
:00408771 8BCA                    mov ecx, edx
:00408773 894C2410                mov dword ptr [esp+10], ecx
:00408777 75D1                    jne 0040874A

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00408748(C)
|
:00408779 E83FA70100              call 00422EBD
:0040877E 8B0B                    mov ecx, dword ptr [ebx]
:00408780 8B15C4FB4200            mov edx, dword ptr [0042FBC4]
:00408786 8B4004                  mov eax, dword ptr [eax+04]
:00408789 51                      push ecx
:0040878A 8B0DC8FB4200            mov ecx, dword ptr [0042FBC8]
:00408790 52                      push edx
:00408791 51                      push ecx
:00408792 8BC8                    mov ecx, eax
:00408794 E8B3950100              call 00421D4C
:00408799 6A00                    push 00000000

* Possible Reference to Dialog:  
                                 |
:0040879B 6830C64200              push 0042C630

* Possible StringData Ref from Data Obj ->"恭喜你,註冊成功!"
                                 ====>勝利女神!
                                 
:004087A0 681CC64200              push 0042C61C

…… …… 省  略  …… ……

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00408765(C)
|
:004087C7 6A00                    push 00000000

* Possible Reference to Dialog:  
                                 |
:004087C9 6810C64200              push 0042C610

* Possible StringData Ref from Data Obj ->"註冊碼不對!"
                                 ====>失敗小鬼!
                                 
:004087CE 6804C64200              push 0042C604


--------------------------------------------------------
【註冊資訊儲存】:

REGEDIT4

[HKEY_CURRENT_USER\Software\Lzly\MJ\MJ]
"CODE"="YGGIMWF"

―――――――――――――――――――――――――――――
【整        理】:

機器碼:604838662
註冊碼:YGGIMWF

呵呵,把你的硬碟序列號改為240D1B06,你就能用這個註冊碼了。^-^
―――――――――――――――――――――――――――――

   
                   Cracked By 巢水工作坊――fly【OCN】

                          2:23 03-2-26

相關文章