eXeScope V6.41 的註冊演算法破解
eXeScope V6.41 的註冊演算法破解
【軟體名稱】:eXeScope V6.41
【軟體語言】:英文
【應用平臺】:Win9x/NT/2000/XP
【難 度】:簡單,獻給像我等這樣的菜鳥學習
【破解工具】TRW2000 1.23,winDasm V8.93漢化版(寫教程用)
【軟體介紹】:
功能強大的軟體資源分析工具(地球人都知道),升到了6.41版了。
近來閒來無事,就分析了這個軟體的演算法,啟動TRW2000,點選幫助/註冊,輸入:
使用者名稱:小蝦
假 碼:7878787878 ←必須輸夠十位,等下就知道。
按快捷鍵:Ctrl+N彈出TRW2000除錯介面。輸入萬能斷點:Hmemcpy,按F5鍵返回,點選註冊按鈕,被TRW攔到,來到以下地方:
:004C2170 8B1528EE4C00 mov edx, dword ptr [004CEE28]
:004C2176 8B12 mov edx, dword ptr [edx] ←EDX為你輸入的註冊碼
:004C2178 A130EC4C00 mov eax, dword ptr [004CEC30]
:004C217D 8B00 mov eax, dword ptr [eax]
:004C217F E82C8F0000 call 004CB0B0 ←關鍵Call,按F8進入
:004C2184 84C0 test al, al ←測試al值是否為1
:004C2186 0F848D000000 je 004C2219 ←經典跳轉,跳就死,暴力破解的話將這裡NOP就行了。
:004C218C A1C4EE4C00 mov eax, dword ptr [004CEEC4]
:004C2191 8B00 mov eax, dword ptr [eax]
:004C2193 E8B82AF4FF call 00404C50
:004C2198 85C0 test eax, eax
:004C219A 7E7D jle 004C2219
:004C219C 8D55F0 lea edx, dword ptr [ebp-10]
:004C219F A1D8EE4C00 mov eax, dword ptr [004CEED8]
:004C21A4 8B00 mov eax, dword ptr [eax]
:004C21A6 E8B904FDFF call 00492664
:004C21AB 8B45F0 mov eax, dword ptr [ebp-10]
:004C21AE 8D4DF4 lea ecx, dword ptr [ebp-0C]
* Possible StringData Ref from Code Obj ->".ini"
|
:004C21B1 BA78224C00 mov edx, 004C2278
:004C21B6 E85D79F4FF call 00409B18
:004C21BB 8B4DF4 mov ecx, dword ptr [ebp-0C]
:004C21BE B201 mov dl, 01
:004C21C0 A124BE4300 mov eax, dword ptr [0043BE24]
:004C21C5 E80A9DF7FF call 0043BED4
:004C21CA 8BF0 mov esi, eax
:004C21CC A1C4EE4C00 mov eax, dword ptr [004CEEC4]
:004C21D1 8B00 mov eax, dword ptr [eax]
:004C21D3 50 push eax
* Possible StringData Ref from Code Obj ->"Name"
|
:004C21D4 B988224C00 mov ecx, 004C2288
* Possible StringData Ref from Code Obj ->"Reg"
|
:004C21D9 BA98224C00 mov edx, 004C2298
:004C21DE 8BC6 mov eax, esi
:004C21E0 8B38 mov edi, dword ptr [eax]
:004C21E2 FF5704 call [edi+04]
:004C21E5 A128EE4C00 mov eax, dword ptr [004CEE28]
:004C21EA 8B00 mov eax, dword ptr [eax]
:004C21EC 50 push eax
* Possible StringData Ref from Code Obj ->"Reg"
|
:004C21ED BA98224C00 mov edx, 004C2298
:004C21F2 B9A4224C00 mov ecx, 004C22A4
:004C21F7 8BC6 mov eax, esi
:004C21F9 8B38 mov edi, dword ptr [eax]
:004C21FB FF5704 call [edi+04]
:004C21FE 8BC6 mov eax, esi
:004C2200 E8DB19F4FF call 00403BE0
:004C2205 A138EC4C00 mov eax, dword ptr [004CEC38]
:004C220A C60001 mov byte ptr [eax], 01
:004C220D C7834C02000001000000 mov dword ptr [ebx+0000024C], 00000001
:004C2217 EB20 jmp 004C2239
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:004C2186(C), :004C219A(C)
|
:004C2219 6A00 push 00000000 ←跳到這裡你以經完了。
:004C221B 8D55EC lea edx, dword ptr [ebp-14]
* Possible StringData Ref from Code Obj ->"錯誤註冊碼或姓名!;o^IDO"
|
:004C221E B8B0224C00 mov eax, 004C22B0
:004C2223 E8280C0000 call 004C2E50 ←出錯的對話方塊
這裡是上面按F8進的Call裡面,分析演算法就在這裡。
:004CB0B0 55 push ebp
:004CB0B1 8BEC mov ebp, esp
:004CB0B3 51 push ecx
:004CB0B4 53 push ebx
:004CB0B5 8955FC mov dword ptr [ebp-04], edx
:004CB0B8 8B45FC mov eax, dword ptr [ebp-04]
:004CB0BB E8809DF3FF call 00404E40
:004CB0C0 33C0 xor eax, eax
:004CB0C2 55 push ebp
:004CB0C3 684FB14C00 push 004CB14F
:004CB0C8 64FF30 push dword ptr fs:[eax]
:004CB0CB 648920 mov dword ptr fs:[eax], esp
:004CB0CE 33DB xor ebx, ebx
:004CB0D0 8B45FC mov eax, dword ptr [ebp-04] ←EAX為你的假碼
:004CB0D3 E8789BF3FF call 00404C50 ←取得假碼的位數
:004CB0D8 83F80A cmp eax, 0000000A ←比較假碼是不是十位,
:004CB0DB 755C jne 004CB139 ←不到十位或超過十位送你上西天
:004CB0DD 8B55FC mov edx, dword ptr [ebp-04]
* Possible StringData Ref from Code Obj ->"A1910"
|
:004CB0E0 B864B14C00 mov eax, 004CB164 ←EAX為A1910
:004CB0E5 E8AA9EF3FF call 00404F94 ←檢查你的註冊碼前五位是不是A1910
:004CB0EA 48 dec eax
:004CB0EB 7410 je 004CB0FD ←是就跳到004CB0FD繼續。不是就接著往下比較
:004CB0ED 8B55FC mov edx, dword ptr [ebp-04]
* Possible StringData Ref from Code Obj ->"A1423"
|
:004CB0F0 B874B14C00 mov eax, 004CB174 ←如果你的註冊碼前五位不是A1910就走到這裡,現EAX值是A1423
:004CB0F5 E89A9EF3FF call 00404F94 ←比較註冊碼前五位是不是A1423
:004CB0FA 48 dec eax
:004CB0FB 753C jne 004CB139 ←不是就跳,送你上西天。
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004CB0EB(C)
|
:004CB0FD B802000000 mov eax, 00000002
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004CB117(C)
|
:004CB102 8B55FC mov edx, dword ptr [ebp-04] ←EDX值為假碼
:004CB105 8A5402FF mov dl, byte ptr [edx+eax-01] ←依次取出假碼的第二位
:004CB109 80FA30 cmp dl, 30 ←比較
:004CB10C 722B jb 004CB139 ←小於30就送你上西天
:004CB10E 80FA39 cmp dl, 39 ←比較
:004CB111 7726 ja 004CB139 ←大於39就送你上西天
:004CB113 40 inc eax ←計數加1
:004CB114 83F80B cmp eax, 0000000B ←比較
:004CB117 75E9 jne 004CB102 ←EAX小於0B繼續跳到上面比較下一個假碼。
:004CB119 8B45FC mov eax, dword ptr [ebp-04] ←EAX為假碼
:004CB11C 0FB64008 movzx eax, byte ptr [eax+08] ←取出假碼的第九位數
:004CB120 8B55FC mov edx, dword ptr [ebp-04] ←EDX為假碼
:004CB123 0FB65209 movzx edx, byte ptr [edx+09] ←取出假碼的第十位數
:004CB127 03C2 add eax, edx ←EAX和EDX相加
:004CB129 B90A000000 mov ecx, 0000000A ←ECX值為0000000A
:004CB12E 33D2 xor edx, edx ←EDX清0
:004CB130 F7F1 div ecx ←EAX和ECX相除,整數儲存在EAX中,餘數儲存在EDX
:004CB132 83FA04 cmp edx, 00000004 ←比較
:004CB135 7502 jne 004CB139 ←若相除的餘數不相等就送你上西天。演算法到這裡也就結束了,以下不管它了
:004CB137 B301 mov bl, 01
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:004CB0DB(C), :004CB0FB(C), :004CB10C(C), :004CB111(C), :004CB135(C)
|
:004CB139 33C0 xor eax, eax
:004CB13B 5A pop edx
:004CB13C 59 pop ecx
:004CB13D 59 pop ecx
:004CB13E 648910 mov dword ptr fs:[eax], edx
:004CB141 6856B14C00 push 004CB156
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004CB154(U)
|
:004CB146 8D45FC lea eax, dword ptr [ebp-04]
:004CB149 E84298F3FF call 00404990
:004CB14E C3 ret ←返回子程式
經過以上分析,得出演算法:
1、與使用者名稱無關,
2、註冊碼前五位必須是:A1910和A1423
3、第二位以後的註冊碼必須是數字0~9
4、註冊碼第六位和第八位可以是任意數。
5、註冊碼第九位和第十位註冊碼也可任意輸入,但他們相加再除的餘數必須餘4,否則註冊不成功
例如:A1910XXX08或A1423XXX08就可以註冊成功。
好了,有以上資訊,可以寫序號產生器了(我的程式設計技術太爛,序號產生器就讓你們去寫嗎!呵呵~~),我也累了,分析這個軟體花了幾分鐘,但寫這個教程用了半個鐘頭呀。
作者:小蝦
2004年5月3日
相關文章
- 破解心得之eXeScope篇2015-11-15
- C#實現無法破解的軟體註冊碼演算法2013-02-22C#演算法
- Pycharm安裝破解 註冊碼2017-06-25PyCharm
- 破解心得之eXeScope篇 (9千字)2001-07-01
- 某穿牆輔助的註冊碼破解2018-03-10
- LanSee 註冊演算法2015-11-15演算法
- Diskbase 5.11的破解和註冊演算法(俺是新手) (18千字)2001-05-21演算法
- 盲打之友V2.5破解(包括註冊演算法) (11千字)2001-10-29演算法
- 《TxEdit 4.6》的註冊碼破解 (11千字)2001-07-28
- zend studio 9.0.2 破解-註冊-漢化流程2013-11-12
- 財智老闆通3.04註冊版---註冊演算法分析2003-03-16演算法
- Instant Source 註冊演算法分析+註冊器原始碼2015-11-15演算法原始碼
- supercleaner註冊演算法分析2015-11-15演算法
- File Shredder 2000破解筆記及註冊演算法 (5千字)2003-04-30筆記演算法
- 紫禁城反黃衛士個人版破解(註冊演算法) (10千字)2001-10-31演算法
- SWF Browser的註冊演算法 (874字)2001-10-26演算法
- SpeedFlash註冊演算法分析(VB)2015-11-15演算法
- 一種非明碼比較程式的註冊------NS-SHAFT註冊碼破解 (9千字)2015-11-15
- 財智證券結算軟體2.5 破解註冊碼分析!使用ollydbg 破解註冊動畫!高手莫入! (1千字)2001-11-20動畫
- 用TRW2000破解EXESCOPE5.12 (855字)2000-04-24
- 奇門遁甲演義V6.3破解手記--註冊碼演算法分析2015-11-15演算法
- Tower 最新註冊碼 Tower 破解下載2023-09-28
- Regediter 1.3 破解(得到註冊碼) (9千字)2002-01-23
- 好用的HTML處理工具:BBEdit 註冊碼破解版最新2023-11-08HTML
- i-view32註冊碼的破解手記 (778字)2001-02-03View
- Cute FTP Ver 4.0 build 19 的註冊碼破解
(820字)2001-02-05FTPUI
- SMailserver2.5註冊碼的破解手記 (1千字)2001-03-01AIServer
- 《飛天餐飲娛樂管理系統》註冊碼演算法分析以及暴力破解2000-12-10演算法
- system mechanic3.5g破解註冊手記 (927字)2001-02-01
- IconToy 3.1 註冊碼快速破解 (11千字)2001-03-02
- 猜數記---BCWIPE註冊半破解 (25千字)2001-04-02
- BabyGame 破解方法及註冊碼錶 (1千字)2001-07-04GAM
- winimp1.11註冊碼破解 (2千字)2000-07-16
- 菜鳥破解之軟體自己顯示註冊碼2015-11-15
- 快捷反垃圾郵件破解手記--找出註冊碼2015-11-15
- 《棋隱》的註冊演算法 (19千字)2001-08-26演算法
- 轉貼 Ronnier 的 AcqURL 5.1 註冊黑名單的破解 (7千字)2001-05-14
- Screen Demo Maker 3.0 註冊演算法分析2003-07-15演算法