簡單演算法――拼音之星 2002 V1.5

看雪資料發表於2015-11-15

簡單演算法――拼音之星 2002 V1.5
下載地址:  http://218.30.21.125:8084/chinese/inputmethod/pinyin/p2k2p15.zip
適用平臺:   Wn9x, NT, ME, Win2k, WinXP
軟體型別:   共享
收錄時間:   2002-3-14
軟體大小:   1670KB
推薦等級:   ***


【軟體簡介】:基於漢語拼音方法實現(簡體、繁體、GB/GBK/BIG5)單字、詞語、句子的高速輸入,包括全拼、雙拼、譚碼和簡拼等多種輸入形式。 作為輸入法中的佼佼者,拼音之星給廣大使用者提供了一種快速輸入漢字的簡便方法,獨創的很多功能為其他輸入法所仿效。 ★新版2002V1.5增加以下功能: 1.增加“非句輸入模式”中修改任意位置字詞功能 2.增加Ctrl/Shift切換中西文選擇功能; 3.增加輸入行顏色、字型顏色、第一個重碼顏色、加粗的使用者自定義; 4.增加用快捷鍵設定輸入行顏色、大小; 5.增加導航條全形/半形、中英文標點選擇按鈕; 6.取消輸入過程中工作列中標題顯示; 7.增加詞庫匯入匯出; 8.增加使用者註冊碼功能; 9.增加雙拼輸入時顯示全拼的選項; 10.增加全形空格輸入功能; 11.增加智慧識別標點和英文符號的選項。

【軟體限制】:30天試用

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

【破解工具】:TRW2000娃娃修改版、Ollydbg1.09、PEiD、W32Dasm 9.0白金版

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


呵呵,sunboy 朋友已經追出了註冊碼,我就沾點光,找找演算法吧。

TAIZI32.EXE 無殼。Visual C++ 5.0 編寫。反彙編,很容易就找到核心了。

使用者碼:893503481
試煉碼:13572468
―――――――――――――――――――――――――――――――――
:0040FA26 C745FC16016619          mov [ebp-04], 19660116
                                 ====>[ebp-04]=19660116

:0040FA2D C745F801049019          mov [ebp-08], 19900401
                                 ====>[ebp-08]=19900401

:0040FA34 C745F0DBAC5713          mov [ebp-10], 1357ACDB
                                 ====>[ebp-10]=1357ACDB

:0040FA3B C745EC00000000          mov [ebp-14], 00000000
:0040FA42 6A0C                    push 0000000C
:0040FA44 6A00                    push 00000000
:0040FA46 6A00                    push 00000000
:0040FA48 6A00                    push 00000000
:0040FA4A 8D45AC                  lea eax, dword ptr [ebp-54]
:0040FA4D 50                      push eax
:0040FA4E 6A0C                    push 0000000C
:0040FA50 6A00                    push 00000000

* Possible StringData Ref from Data Obj ->"c:\"
                                 |
:0040FA52 6814944300              push 00439414

* Reference To: KERNEL32.GetVolumeInformationA, Ord:014Fh
                                 |
:0040FA57 FF1598434900            Call dword ptr [00494398]
                                 ====>取我的硬碟序列號

:0040FA5D 8B4DAC                  mov ecx, dword ptr [ebp-54]
                                 ====>ECX=211C1E09          硬碟序列號

:0040FA60 894DEC                  mov dword ptr [ebp-14], ecx
:0040FA63 8B55EC                  mov edx, dword ptr [ebp-14]
:0040FA66 3355FC                  xor edx, dword ptr [ebp-04]
                                 ====>EDX=211C1E09 XOR 19660116=387A1F1F

:0040FA69 8955EC                  mov dword ptr [ebp-14], edx
:0040FA6C 8B45EC                  mov eax, dword ptr [ebp-14]
:0040FA6F 3345F8                  xor eax, dword ptr [ebp-08]
                                 ====>EAX=387A1F1F XOR 19900401=21EA1B1E

:0040FA72 8945EC                  mov dword ptr [ebp-14], eax
:0040FA75 8B4DAC                  mov ecx, dword ptr [ebp-54]
                                 ====>ECX=211C1E09          硬碟序列號

:0040FA78 894DF4                  mov dword ptr [ebp-0C], ecx
:0040FA7B 8B55F4                  mov edx, dword ptr [ebp-0C]
:0040FA7E 3355FC                  xor edx, dword ptr [ebp-04]
                                 ====>EDX=211C1E09 XOR 19660116=387A1F1F

:0040FA81 8955F4                  mov dword ptr [ebp-0C], edx
:0040FA84 8B45F4                  mov eax, dword ptr [ebp-0C]
:0040FA87 0345FC                  add eax, dword ptr [ebp-04]
                                 ====>EAX=387A1F1F + 19660116=51E02035
                                 ====>51E02035(H)=1373642805(D)  這就是我的註冊碼了


:0040FA8A 8945F4                  mov dword ptr [ebp-0C], eax
:0040FA8D 8B4DF4                  mov ecx, dword ptr [ebp-0C]
:0040FA90 51                      push ecx

* Possible StringData Ref from Data Obj ->"%d"
                                 |
:0040FA91 6818944300              push 00439418n
:0040FA96 8D55D8                  lea edx, dword ptr [ebp-28]
:0040FA99 52                      push edx
:0040FA9A E821850100              call 00427FC0
:0040FA9F 83C40C                  add esp, 0000000C
:0040FAA2 8B45AC                  mov eax, dword ptr [ebp-54]
                                 ====>EAX=211C1E09

:0040FAA5 3345FC                  xor eax, dword ptr [ebp-04]
                                 ====>EAX=211C1E09 XOR 19660116=387A1F1F

:0040FAA8 8945AC                  mov dword ptr [ebp-54], eax
:0040FAAB 8B4DAC                  mov ecx, dword ptr [ebp-54]
:0040FAAE 334DF8                  xor ecx, dword ptr [ebp-08]
                                 ====>ECX=387A1F1F XOR 19900401=21EA1B1E

:0040FAB1 894DAC                  mov dword ptr [ebp-54], ecx
:0040FAB4 8B55AC                  mov edx, dword ptr [ebp-54]
:0040FAB7 0355F0                  add edx, dword ptr [ebp-10]
                                 ====>EAX=21EA1B1E + 1357ACDB=3541C7F9
                                 ====>3541C7F9(H)=893503481(D)  這就是顯示的使用者碼了

:0040FABA 8955AC                  mov dword ptr [ebp-54], edx
:0040FABD 8B45AC                  mov eax, dword ptr [ebp-54]
:0040FAC0 50                      push eax

* Possible StringData Ref from Data Obj ->"%d"
                                 |
:0040FAC1 681C944300              push 0043941C
:0040FAC6 8D4DC4                  lea ecx, dword ptr [ebp-3C]
:0040FAC9 51                      push ecx
:0040FACA E8F1840100              call 00427FC0
:0040FACF 83C40C                  add esp, 0000000C
:0040FAD2 8B550C                  mov edx, dword ptr [ebp+0C]
:0040FAD5 8955A8                  mov dword ptr [ebp-58], edx
:0040FAD8 817DA810010000          cmp dword ptr [ebp-58], 00000110
:0040FADF 740E                    je 0040FAEF
:0040FAE1 817DA811010000          cmp dword ptr [ebp-58], 00000111
:0040FAE8 742E                    je 0040FB18
:0040FAEA E94B010000              jmp 0040FC3A

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0040FADF(C)
|
:0040FAEF 8B4508                  mov eax, dword ptr [ebp+08]
:0040FAF2 50                      push eax
:0040FAF3 E805A40000              call 00419EFD
:0040FAF8 83C404                  add esp, 00000004
:0040FAFB 8D4DC4                  lea ecx, dword ptr [ebp-3C]
:0040FAFE 51                      push ecx
:0040FAFF 684A040000              push 0000044A
:0040FB04 8B5508                  mov edx, dword ptr [ebp+08]
:0040FB07 52                      push edx

* Reference To: USER32.SetDlgItemTextA, Ord:01F2h
                                 |
:0040FB08 FF152C454900            Call dword ptr [0049452C]
:0040FB0E B801000000              mov eax, 00000001
:0040FB13 E928010000              jmp 0040FC40

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0040FAE8(C)
|
:0040FB18 837D1001                cmp dword ptr [ebp+10], 00000001
:0040FB1C 0F85FF000000            jne 0040FC21
:0040FB22 6A0F                    push 0000000F
:0040FB24 8D45B0                  lea eax, dword ptr [ebp-50]
:0040FB27 50                      push eax
:0040FB28 6840040000              push 00000440
:0040FB2D 8B4D08                  mov ecx, dword ptr [ebp+08]
:0040FB30 51                      push ecx

* Reference To: USER32.GetDlgItemTextA, Ord:00F5h
                                 |
:0040FB31 FF1530454900            Call dword ptr [00494530]
:0040FB37 85C0                    test eax, eax
:0040FB39 0F86A9000000            jbe 0040FBE8
:0040FB3F 8D55D8                  lea edx, dword ptr [ebp-28]
                                 ====>EDX=1373642805         註冊碼

:0040FB42 52                      push edx
:0040FB43 8D45B0                  lea eax, dword ptr [ebp-50]
                                 ====>EAX=13572468           試煉碼

:0040FB46 50                      push eax
:0040FB47 E844810100              call 00427C90
                                 ====>比較CALL!

:0040FB4C 83C408                  add esp, 00000008
:0040FB4F 85C0                    test eax, eax
:0040FB51 755C                    jne 0040FBAF
                                 ====>跳則OVER!

:0040FB53 8B4DEC                  mov ecx, dword ptr [ebp-14]
:0040FB56 51                      push ecx
:0040FB57 E816040000              call 0040FF72
                                 ====>儲存註冊資訊!

:0040FB5C 83C404                  add esp, 00000004
:0040FB5F C7053400440001000000    mov dword ptr [00440034], 00000001
:0040FB69 C7055059480000000000    mov dword ptr [00485950], 00000000
:0040FB73 833DC0E4430000          cmp dword ptr [0043E4C0], 00000000
:0040FB7A 7518                    jne 0040FB94
:0040FB7C 6A00                    push 00000000

* Possible StringData Ref from Data Obj ->"註冊成功"
                                 ====>呵呵,勝利女神!

:0040FB7E 6820944300              push 00439420

* Possible StringData Ref from Data Obj ->"感謝使用拼音之星!"
                                 |
:0040FB83 682C944300              push 0043942C
:0040FB88 8B5508                  mov edx, dword ptr [ebp+08]
:0040FB8B 52                      push edx

* Reference To: USER32.MessageBoxA, Ord:0195h
                                 |
:0040FB8C FF15D0444900            Call dword ptr [004944D0]
:0040FB92 EB16                    jmp 0040FBAA

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0040FB7A(C)
|
:0040FB94 6A00                    push 00000000

* Possible StringData Ref from Data Obj ->"Register Succeed"
                                 |
:0040FB96 6840944300              push 00439440

* Possible StringData Ref from Data Obj ->"Thank you use PYstar Chinese input "
                                       ->"method!"
                                 |
:0040FB9B 6854944300              push 00439454
:0040FBA0 8B4508                  mov eax, dword ptr [ebp+08]
:0040FBA3 50                      push eax

* Reference To: USER32.MessageBoxA, Ord:0195h
                                 |
:0040FBA4 FF15D0444900            Call dword ptr [004944D0]

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0040FB92(U)
|
:0040FBAA E98F000000              jmp 0040FC3E

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0040FB51(C)
|
:0040FBAF 833DC0E4430000          cmp dword ptr [0043E4C0], 00000000
:0040FBB6 7518                    jne 0040FBD0
:0040FBB8 6A00                    push 00000000

* Possible StringData Ref from Data Obj ->"很抱歉"
                                 |
:0040FBBA 6880944300              push 00439480

* Possible StringData Ref from Data Obj ->"沒有輸入正確註冊碼"
                                 ====>BAD BOY!


―――――――――――――――――――――――――――――――――
【算 法  總 結】:


硬碟序列號211C1E09 XOR 19660116 + 19660116=51E02035
51E02035的10進位制值1373642805就是我的註冊碼了。

―――――――――――――――――――――――――――――――――
【完 美  爆 破】:


0040FB4F 85C0                    test eax, eax
 改為: 33C0                    xor  eax, eax

呵呵,這個簡單,清零不跳就自動儲存註冊資訊了。  

―――――――――――――――――――――――――――――――――
【KeyMake之{73th}記憶體序號產生器】:


中斷地址:0040FB42
中斷次數:1
第一位元組:52
指令長度:1

記憶體方式:EDX              

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


C:\WINDOWS\SYSTEM 下的 systtmp 檔案

04/26/03      安裝日期
568990494     註冊標誌  即:硬碟序列號運算得出的21EA1B1E

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


使用者碼:893503481
註冊碼:1373642805

―――――――――――――――――――――――――――――――――
   
                               
        ,     _/
       /| _.-~/            \_     ,        青春都一餉
      ( /~   /              \~-._ |\
      `\\  _/                \   ~\ )          忍把浮名
  _-~~~-.)  )__/;;,.          \_  //'
 /'_,\   --~   \ ~~~-  ,;;\___(  (.-~~~-.        換了破解輕狂
`~ _( ,_..--\ (     ,;'' /    ~--   /._`\
 /~~//'   /' `~\         ) /--.._, )_  `~
 "  `~"  "      `"      /~'`\    `\\~~\  
                        "     "   "~'  ""

   

                   Cracked By 巢水工作坊――fly [OCN][FCG]

                          2003-04-26  23:40

相關文章