珠聯跳棋2.27之註冊分析
珠聯跳棋2.27之註冊分析
作者:HAILDUZ[CCG]
軟體名稱:珠聯跳棋 享版
2.27
整理日期:2003.6.8
檔案大小:178KB
軟體授權:共享軟體
使用平臺:Win9x/Me/NT/2000/XP
個人網址:http://bmzhao.wx-e.com
軟體簡介:“跳棋”是一種流行於全國棋類遊戲,玩法簡單,易於學習。
加密方式:註冊碼
功能限制:未註冊資訊提示
難 度:容易
破解工具:TRW2000,W32Dasm,PEiD
0.8
作者宣告:只是學習轉貼請保持完整 。
PEiD 0.8 檢查可知,VC++編寫且無殼。TRW2000栽入,BPX HMEMCPY,BC*,PMODULE,F10後,
/////////part 1///////////////////
* Possible Ref to Menu: MenuID_0080,
Item: ""
|
:00402FE7 6A01
push
00000001
:00402FE9 E8FF330100
call 004163ED
:00402FEE 8D9E9C000000
lea ebx, dword ptr [esi+0000009C] /停在這裡,(d*ebx=輸入註冊碼)
:00402FF4
8BCB mov
ecx, ebx
:00402FF6 E86FFF0000
call 00412F6A
:00402FFB 6A00
push 00000000
:00402FFD 8BCB
mov ecx, ebx
:00402FFF
E8CFFE0000 call
00412ED3
:00403004 6A0A
push 0000000A
:00403006 8BF8
mov edi, eax
:00403008 6A00
push
00000000
:0040300A 6A00
push 00000000
:0040300C 8D44241C
lea eax, dword ptr [esp+1C]
:00403010 6A00
push
00000000
:00403012 50
push eax
:00403013 6A0C
push 0000000C
:00403015 6A00
push 00000000
* Possible StringData Ref from Data Obj ->"c:\"
|
:00403017 6888114200
push 00421188
* Reference To: KERNEL32.GetVolumeInformationA, Ord:0177h
/取硬碟C:的資訊。
|
:0040301C
FF1560B14100 Call dword ptr
[0041B160]
:00403022 8B4C2410
mov ecx, dword ptr [esp+10] /ecx=硬碟c:的serial
number
:00403026 85C9
test ecx, ecx
:00403028 752F
jne 00403059
* Referenced by a (U)nconditional or (C)onditional Jump at
Address:
|:00403057(C)
|
:0040302A 8BC1
mov eax, ecx
:0040302C 33D2
xor edx,
edx
:0040302E BD1A000000 mov
ebp, 0000001A
:00403033 F7F5
div ebp
/硬碟serial number 除以0x1a
:00403035 0FBE07
movsx eax, byte ptr [edi]
/依次取取註冊碼位1位....進eax
:00403038 8B1495C0104200
mov edx, dword ptr
[4*edx+004210C0]/依據前面餘數查表(見part2)得到檢驗初碼
:0040303F 83C241
add edx, 00000041
/檢驗初碼加0x41得到檢驗碼
:00403042 47
inc edi
:00403043 3BD0
cmp edx, eax
/比較註冊碼與檢驗碼
:00403045 7559
jne 004030A0
//不等則失敗
:00403047 B84FECC44E
mov eax, 4EC4EC4F
:0040304C F7E1
mul ecx
:0040304E C1EA03
shr edx, 03
:00403051
8BCA mov
ecx, edx
:00403053 894C2410
mov dword ptr [esp+10], ecx
/還原上面的商
:00403057 75D1
jne 0040302A
/商為0結束成功
* Referenced by a (U)nconditional or (C)onditional Jump at
Address:
|:00403028(C)
|
:00403059 E841650100
call 0041959F
:0040305E 8B0B
mov ecx, dword ptr
[ebx]
:00403060 8B1524294200 mov
edx, dword ptr [00422924]
:00403066 8B4004
mov eax, dword ptr [eax+04]
:00403069 51
push
ecx
:0040306A 8B0D28294200 mov ecx,
dword ptr [00422928]
:00403070 52
push edx
:00403071 51
push ecx
:00403072
8BC8 mov
ecx, eax
:00403074 E888560100
call 00418701
:00403079 6A00
push 00000000
* Possible StringData Ref from Data Obj ->"註冊成功"
|
:0040307B 6850124200
push 00421250
* Possible StringData Ref from Data Obj ->"恭喜你,註冊成功!"
|
:00403080 683C124200
push 0042123C
:00403085 8BCE
mov ecx, esi
:00403087 E8052C0100
call 00415C91
:0040308C 8BCE
mov ecx,
esi
* Possible Ref to Menu: MenuID_0080, Item: ""
|
:0040308E C7465C01000000 mov
[esi+5C], 00000001
:00403095 E82C110100
call 004141C6
:0040309A 5F
pop edi
:0040309B 5E
pop
esi
:0040309C 5D
pop ebp
:0040309D 5B
pop ebx
:0040309E 59
pop
ecx
:0040309F C3
ret
* Referenced by a (U)nconditional or (C)onditional Jump at
Address:
|:00403045(C)
|
:004030A0 6A00
push 00000000
* Possible StringData Ref from Data Obj ->"註冊失敗"
|
:004030A2 6830124200
push 00421230
* Possible StringData Ref from Data Obj ->"註冊碼不對!"
|
:004030A7 6824124200
push 00421224
:004030AC 8BCE
mov ecx, esi
:004030AE E8DE2B0100
call 00415C91
:004030B3 8BCE
mov ecx,
esi
:004030B5 E80C110100 call
004141C6
:004030BA 5F
pop edi
:004030BB 5E
pop esi
:004030BC 5D
pop
ebp
:004030BD 5B
pop ebx
:004030BE 59
pop ecx
:004030BF C3
ret
/////////part 2///////////////////
資料表
0030:004210C0h:0C 00 00 00
10 00 00 00 05 00 00 00 11 00 00 00
0030:004210D0h:06 00 00 00 15 00 00 00
19 00 00 00 09 00 00 00
0030:004210E0h:03 00 00 00 0F 00 00 00 0B 00 00 00
18 00 00 00
0030:004210F0h:0A 00 00 00 04 00 00 00 0E 00 00 00 02 00 00 00
0030:00421100h:17 00 00 00 08 00 00 00 01 00 00 00 16 00 00 00
0030:00421110h:12 00 00 00 13 00 00 00 07 00 00 00 00 00 00 00
0030:00421120h:0D 00 00 00
14
///////////////////////////////////////////////
小結:
該軟體是將使用者的c:盤序列號作為引數計算並查表得到檢驗碼,逐位與註冊碼比較。
HAILDUZ[CCG] 2003.6.8
HAILDUZ@HOTMAIL.COM
相關文章
- @angular/router 原始碼分析之註冊路由2018-07-10Angular原始碼路由
- ffmpeg分析系列之一(註冊該註冊的)2010-11-04
- vue之元件註冊2019-03-12Vue元件
- 公務員之路3.0註冊分析2015-11-15
- 註冊中心 Eureka 原始碼解析 —— 應用例項註冊發現(一)之註冊2019-03-03原始碼
- 財智老闆通3.04註冊版---註冊演算法分析2003-03-16演算法
- Instant Source 註冊演算法分析+註冊器原始碼2015-11-15演算法原始碼
- Theme Builder註冊碼分析2015-11-15UI
- supercleaner註冊演算法分析2015-11-15演算法
- ShadowDefender 註冊碼 分析2024-08-17
- EmEditor 24.4.1 離線註冊分析2024-11-09
- 聯眾鬥地主計牌器V2.2註冊演算法分析2015-11-15演算法
- 5G核心網之UE初始註冊關鍵流程分析2024-11-02
- Vue元件之全域性註冊2019-05-02Vue元件
- SpringCloud之服務註冊2021-09-09SpringGCCloud
- react 版跳棋2019-02-27React
- 需求分析案例 - “自動註冊”功能2020-11-02
- Dubbo 中 Zookeeper 註冊中心原理分析2023-02-02
- nacos註冊中心原始碼流程分析2020-12-23原始碼
- spycop5.5簡要註冊分析2015-11-15
- SpeedFlash註冊演算法分析(VB)2015-11-15演算法
- Kubernetes1.5原始碼分析(二) apiServer之資源註冊2019-02-16原始碼APIServer
- Spring Framework 元件註冊 之 @Import2019-07-02SpringFramework元件Import
- Spring Framework 元件註冊 之 FactoryBean2019-07-04SpringFramework元件Bean
- php設計模式之註冊模式2020-11-04PHP設計模式
- Cleaner 3.2註冊分析 (18千字)2001-12-09
- 動態註冊和靜態註冊2018-05-21
- 靜態註冊和動態註冊2013-11-27
- Android廣播之靜態註冊2020-03-10Android
- 微服務架構之「 服務註冊 」2019-04-08微服務架構
- 【Java】NIO中Channel的註冊原始碼分析2019-05-17Java原始碼
- Netty原始碼分析--Channel註冊(上)(五)2019-07-02Netty原始碼
- Netty原始碼分析--Channel註冊(中)(六)2019-07-02Netty原始碼
- Nacos 服務註冊與發現原理分析2022-12-08
- Nacos(一)原始碼分析Nacos註冊示例流程2020-12-26原始碼
- Screen Demo Maker 3.0 註冊演算法分析2003-07-15演算法
- 標
題:UltraISO7me註冊方法分析2004-04-25AI
- <<Anti-Hack>> 2.0註冊演算法分析2003-06-06演算法