EmEditor v3 Version 3.09 漢化版註冊碼演算法分析 (8千字)
EmEditor v3 Version 3.09 漢化版註冊碼演算法分析
軟體名稱:EmEditor v3 Version 3.09
下載地址:http://www.inhua.com/EmEditor.htm
軟體說明:簡單好用的文字編輯器,支援多種配置,自定義顏色、字型、工具欄、快捷鍵設定,可以調整行距,避免中文排列過於緊密,
具有選擇文字列塊的功能(按ALT 鍵拖動滑鼠),並允許無限撤消、重做,總之功能多多,使用方便,是替代記事本的最佳編輯
器。
除錯工具:SoftICE 4.05、W32dsm89
除錯平臺:Win2K
作者:chn-boy
日期:2001-1-9
【第一步】:
下中斷:bpx GetWindowTextW do "d esp->8; p ret; ",然後輸入你的Virtual
Code,點註冊。我輸入的是:9999 8888 7777 6666
程式攔斷在如下程式碼段處:
:004173CD 53
push ebx
:004173CE 8D86F2030000 lea eax, dword
ptr [esi+000003F2]
:004173D4 53
push ebx
:004173D5 50
push eax
:004173D6 FF7508
push [ebp+08]
:004173D9 FF1584334300 Call dword
ptr [00433384] / GetWindowTextW()
:004173DF 668907
mov word ptr [edi], ax / 中斷攔斷在此,四個輸入框,你將會被攔斷四次
/ 每次將十進位制值返回給ax,如9999 = 0x270F,
那麼 AX = 270F
/ 為了表達方便,我分別用①、②、③、④來表示
:004173E2 46
inc esi
:004173E3 47
inc edi
:004173E4 47
inc edi
:004173E5 83FE04
cmp esi, 00000004 / 是不是有了四個視窗輸入?
:004173E8 7CE3
jl 004173CD
:004173EA 8D45F4
lea eax, dword ptr [ebp-0C] / 將得到的四個值連續放到eax偏移處
/ 此處,用 d eax,可以檢視到你輸入的四個十進位制值
:004173ED 50
push eax
:004173EE E8F5FEFFFF call
004172E8 / 核心處,判斷演算法,檢視輸入的註冊碼是否正確?
:004173F3 3BC3
cmp eax, ebx / 如果 eax = ebx ,那麼輸入正確
:004173F5 5F
pop edi
:004173F6 742A
je 00417422
:004173F8 33C9
xor ecx, ecx
:004173FA 83F802
cmp eax, 00000002
:004173FD 0F95C1
setne cl
【第二步】:Call 004172EB程式碼為:
:004172E8 56
push esi
:004172E9 8B742408
mov esi, dword ptr [esp+08]
:004172ED 57
push edi
:004172EE 6A0A
push 0000000A
:004172F0 0FB706
movzx eax, word ptr [esi] / ①
:004172F3 99
cdq
:004172F4 59
pop ecx / ecx = 0x0A = 10
:004172F5 F7F9
idiv ecx
:004172F7 3DAB000000 cmp eax,
000000AB / ①÷10 是否等於AB,也就是看①是否為0x6AE=1710
:004172FC 7405
je 00417303 / 是,則正確,也就是說①必須為1710
:004172FE 6A01
push 00000001
:00417300 58
pop eax
:00417301 EB15
jmp 00417318
:00417303 668B7E06
mov di, word ptr [esi+06] / ④
:00417307 56
push esi
:00417308 E834FFFFFF call
00417241 / 此Call為:用①、②、③進行一系列運算,得到一個結果,假設為⑤
/ 最後結果返回到 [esi+06]
:0041730D 85C0
test eax, eax
:0041730F 7507
jne 00417318
:00417311 663B7E06
cmp di, word ptr [esi+06] / 看看④是否等於⑤?相等,則註冊成功
:00417315 0F95C0
setne al
:00417318 5F
pop edi
:00417319 5E
pop esi
:0041731A C20400
ret 0004
【第三步】:Call 00417241程式碼為:
:00417241 56
push esi
:00417242 8B742408
mov esi, dword ptr [esp+08]
:00417246 668B4602
mov ax, word ptr [esi+02] / ax = ②
:0041724A 6683660600 and word
ptr [esi+06], 0000
:0041724F 663D0F27
cmp ax, 270F
:00417253 0F8788000000 ja 004172E1
:00417259 668B4E04
mov cx, word ptr [esi+04] / cx = ③
:0041725D 6681F90F27 cmp cx,
270F
:00417262 777D
ja 004172E1
:00417264 6685C0
test ax, ax
:00417267 7474
je 004172DD
:00417269 663DAE08
cmp ax, 08AE / 0x08AE = 2222
:0041726D 746E
je 004172DD
:0041726F 663D2E16
cmp ax, 162E / 0x162E = 5678 ,第二個視窗中不能輸入2222或5678
:00417273 7468
je 004172DD
:00417275 53
push ebx
:00417276 55
push ebp
:00417277 57
push edi
:00417278 6A0A
push 0000000A
:0041727A 0FB7F9
movzx edi, cx / edi
= ③
:0041727D 0FB70E
movzx ecx, word ptr [esi] / ecx = ①
:00417280 0FB7C0
movzx eax, ax / eax
= ②
:00417283 89442418
mov dword ptr [esp+18], eax
:00417287 8BC1
mov eax, ecx
/ eax = ③
:00417289 99
cdq
:0041728A 5B
pop ebx
:0041728B F7FB
idiv ebx
/ eax = ③÷10
:0041728D 6A64
push 00000064
:0041728F 5D
pop ebp
:00417290 55
push ebp
:00417291 8BD8
mov ebx, eax
/ ebx = ③÷10
:00417293 8BC7
mov eax, edi
:00417295 99
cdq
:00417296 F7FD
idiv ebp
/ eax = ③÷100
:00417298 8B542418
mov edx, dword ptr [esp+18] / edx = ②
:0041729C 03D3
add edx, ebx
:0041729E 03C2
add eax, edx
:004172A0 03C7
add eax, edi
/ eax = ②+③+③÷10+③÷100
:004172A2 5F
pop edi
:004172A3 99
cdq
:004172A4 F7FF
idiv edi
/ eax = (②+③+③÷10+③÷100)÷100的商
/ edx 為餘數
:004172A6 8B442414
mov eax, dword ptr [esp+14]
:004172AA 55
push ebp
:004172AB 5B
pop ebx
:004172AC 55
push ebp
:004172AD 8B3C954C7F4300 mov edi, dword
ptr [4*edx+00437F4C] / 用餘數查表,表可以用 d 00437F4C 檢視
。。。。。。 下面的演算法分析同前,不再一一列出 。。。。。。
:004172B4 99
cdq
:004172B5 6BFF64
imul edi, 00000064
:004172B8 F7FB
idiv ebx
:004172BA 8BD8
mov ebx, eax
:004172BC 8BC1
mov eax, ecx
:004172BE 99
cdq
:004172BF F7FD
idiv ebp
:004172C1 03CB
add ecx, ebx
:004172C3 03C1
add eax, ecx
:004172C5 59
pop ecx
:004172C6 99
cdq
:004172C7 F7F9
idiv ecx
:004172C9 8B04954C7F4300 mov eax, dword
ptr [4*edx+00437F4C]
:004172D0 03F8
add edi, eax
:004172D2 33C0
xor eax, eax
:004172D4 66897E06
mov word ptr [esi+06], di / 將用①、②、③的值算出的值賦給 [esi+06]
/ 此處得到的di就是⑤,在SoftICE環境下用?di
/ 得到的十進位制的值就是你要輸入的第4個視窗的數字號碼
:004172D8 5F
pop edi
:004172D9 5D
pop ebp
:004172DA 5B
pop ebx
:004172DB EB07
jmp 004172E4
:004172DD 6A02
push 00000002
:004172DF EB02
jmp 004172E3
:004172E1 6A01
push 00000001
:004172E3 58
pop eax
:004172E4 5E
pop esi
:004172E5 C20400
ret 0004
【結果】
經過跟蹤,得到註冊碼為:1710 8888 7777 5651
【後記】
寫文章用的時間比跟蹤、研究演算法的時間要長的多得多。:(
這篇文章就是用這個軟體寫成,感覺這個軟體真的不錯。:)
2001年1月9日 by chn-boy
相關文章
- Emeditor 註冊碼2017-08-14
- EmEditor 24.4.1 離線註冊分析2024-11-09
- Sublime Text 4 Dev 4.0註冊碼漢化版2023-11-21dev
- Green Tea 2.60註冊碼演算法分析 (3千字)2000-07-17演算法
- Screen Demo Maker
V3.0註冊演算法分析 (8千字)2002-09-10演算法
- 註冊碼演算法 (2千字)2001-01-14演算法
- SuperCleaner 2.31註冊碼演算法分析 - OCG (13千字)2002-04-02演算法
- Registry Crawler 4.0註冊碼演算法分析 - OCG
(20千字)2002-04-07演算法
- UltraEdit-32
10註冊碼演算法分析 (19千字)2003-05-17演算法
- **********.exe註冊碼演算法分析--高手莫笑 (31千字)2015-11-15演算法
- GSview V4.12 for Windows註冊演算法分析 -
OCG (8千字)2015-11-15ViewWindows演算法
- 財智老闆通3.04註冊版---註冊演算法分析2003-03-16演算法
- FolderView 1.7
註冊演算法分析 (14千字)2015-11-15View演算法
- Konvertor 3.03的註冊碼演算法模組的分析
(7千字)2015-11-15演算法
- Magic convertor 2.8註冊碼演算法分析
- OCG (9千字)2015-11-15演算法
- Instant Source 註冊演算法分析+註冊器原始碼2015-11-15演算法原始碼
- 重新貼過註冊演算法分析 (16千字)2001-10-23演算法
- ClockWise 3.22e註冊碼演算法分析 - OCG (17千字)2002-04-10演算法
- WebStorm註冊碼+WebStorm破解版漢化最新「相容macos14」2023-12-26WebORMMac
- CPUCOOL 5.1000註冊碼分析 (6千字)2001-01-19
- EffeTech HTTP Sniffer 3.2註冊演算法分析 (5千字)2002-06-24HTTP演算法
- 程式碼編輯器:sublime text for Mac 4.0(4164)註冊漢化版2023-11-14Mac
- Kugle Regediter 1.0 註冊碼破解法(非明碼) (8千字)2001-11-03
- 完美解除安裝6.0註冊演算法分析 (2千字)2002-02-27演算法
- Directory Scanner v1.5 註冊演算法分析 (6千字)2015-11-15演算法
- MouseStar V3.01註冊演算法分析 (18千字)2015-11-15演算法
- Cleaner 3.2註冊分析 (18千字)2001-12-09
- IntelliJ IDEA 2023註冊碼漢化破解版最新2023-12-05IntelliJIdea
- SysSync Version 1.02簡單演算法分析+VB序號產生器原始碼 (8千字)2015-11-15演算法原始碼
- supercleaner註冊演算法分析2015-11-15演算法
- CoolClock V1.02註冊演算法分析 ---OCG (14千字)2015-11-15演算法
- 飄雪動畫秀3.02註冊演算法分析!
(11千字)2015-11-15動畫演算法
- 檔案密使2.6註冊碼分析詳解 (11千字)2001-11-30
- sublime text for Mac(程式碼編輯器) v4.0(4164)註冊漢化版2023-11-15Mac
- sublime text破解漢化版+sublime text註冊碼金鑰「支援最新mac14」2023-11-09Mac
- sublime text for Mac(程式碼編輯器)v4.0(4167)註冊漢化版2023-11-23Mac
- 如何破解《彩票快車黃金版》註冊碼 (1千字)2001-04-21
- 豪傑大眼睛共享版註冊碼破解 (1千字)2001-07-08