EMEDITOR V3.0破解過程~~~~~呵呵~~~~~我第一次寫過程~~~~累死我了~~~~呵呵 (14千字)
破解EMEDITOR v3.0
小弟第一次寫過程,有不對的地方大家指正~~~~呵呵~~
EMEDITOR 3.0是一個完全可以代替WINDOWS下NOTEBOOK的小玩意~~~~
這東西使用30天就需要註冊,現將註冊過程寫一下
這個軟體在我的主頁有下載http://zop.yeah.net/download/crem.zip 660K左右
我使用的工具:TRW2000+W32DASM89+ULTRAEDIT
安裝完EMEDITOR後執行並選說明中的關於,關於註冊資訊點那個輸入序列號:
這時彈出一對話視窗,需要填一個分為四部分的序列號,我們設這四個部分為
X1,X2,X3,X4
我第一次填的是 X1=1234,X2=4321,X3=1324,X4=1423
執行TRW2000 下 BPX HMEMCPY(小弟暫時只會用這個斷點~~~~呵呵~~~~~)
順利攔到,我們PMODULE 程式蹦到417A01處,見下:
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00417A0A(C)
|
:004179EF 53
push ebx
:004179F0 8D86F2030000 lea eax, dword
ptr [esi+000003F2]
:004179F6 53
push ebx
:004179F7 50
push eax
:004179F8 FF7508
push [ebp+08]
* Reference To: USER32.GetDlgItemInt, Ord:0103h
|
:004179FB FF1588434300 Call dword
ptr [00434388]
:00417A01 668907
mov word ptr [edi], ax ----->就是蹦到這裡了~~呵呵,看一眼EAX
:00417A04 46
inc esi
| ,裡面裝的就是我們的X1,往下走……
:00417A05 47
inc edi
|
:00417A06 47
inc edi
|
:00417A07 83FE04
cmp esi, 00000004 |
這裡比較ESI和4如果小於則往上蹦(就是
:00417A0A 7CE3
jl 004179EF
| 上面那段程式碼~~~直到我們序列號的四個部分
:00417A0C 8D45F4
lea eax, dword ptr [ebp-0C] | 完全存進EBP-C中(不知道這麼說合不合適~)
:00417A0F 50
push eax
|
:00417A10 E8F5FEFFFF call
0041790A |
呵呵~~~~~一個CALL,看看底下,一個對比,如果
:00417A15 3BC3
cmp eax, ebx
| 是,怎麼怎麼樣,不是又怎麼怎麼樣,很顯然這是
:00417A17 5F
pop edi
-----> 關鍵CALL,我們按F8跟進去 HAVE A LOOK ~~~~~
****************************************************************************************************************
* Referenced by a CALL at Addresses:
|:00417A10 , :00417B90
|
:0041790A 56
push esi
--->這段程式碼比較作用是
:0041790B 8B742408
mov esi, dword ptr [esp+08] 將我們輸入的X1,即1234除以10後
:0041790F 57
push edi
和171比較,171哪來得?就是那個
:00417910 6A0A
push 0000000A
AB轉換成十進位制得到的,如果是呢
:00417912 0FB706
movzx eax, word ptr [esi] 就繼續,不是的話~~~~嘿嘿嘿嘿~~
:00417915 99
cdq
你就等著出序列號錯誤吧~~~由於我
:00417916 59
pop ecx
們輸入的是1234,不符合要求,所以
:00417917 F7F9
idiv ecx
這時我們對X1進行第一次修正,現在
:00417919 3DAB000000 cmp eax,
000000AB 新的X1=171x
其中“x”為任意數,
:0041791E 7405
je 00417925
我的是X1=1710,接著往下走~~~~~~
:00417920 6A01
push 00000001
走…………………………………………
:00417922 58
pop eax
走……………………………………
:00417923 EB15
jmp 0041793A
---->走………………………………
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
走…………………………
|:0041791E(C)
|
:00417925 668B7E06
mov di, word ptr [esi+06] 走到此處,程式將我們的X4移到DI中
:00417929 56
push esi
走……………………
:0041792A E834FFFFFF call
00417863
走到此處又有一個CALL,不要著急,看看
:0041792F 85C0
test eax, eax
下面,呵呵~~~~又是一個關鍵CALL我們跟
:00417931 7507
jne 0041793A
進去瞧瞧~~~~~~~~
###################################################################################################################
* Referenced by a CALL at Address:
|:0041792A
|
:00417863 56
push esi
---->到目前ESI中存放的還是我們輸入的序列號
:00417864 8B742408
mov esi, dword ptr [esp+08] 走………………………………………………
:00417868 668B4602
mov ax, word ptr [esi+02] 這行將我們的X2移入AX中
:0041786C 6683660600 and word
ptr [esi+06], 0000
:00417871 663D0F27
cmp ax, 270F
比較X2和9999
:00417875 0F8788000000 ja 00417903
大於的話蹦到 417903,不過不大可能大於
:0041787B 668B4E04
mov cx, word ptr [esi+04] 這行將我們的X3移入CX中
:0041787F 6681F90F27 cmp cx,
270F
比較X2和9999
:00417884 777D
ja 00417903
大於的話蹦到 417903,不過不大可能大於
:00417886 6685C0
test ax, ax
:00417889 7474
je 004178FF
:0041788B 663DAE08
cmp ax, 08AE
比較X2和2222,X2和5678,我們的X2=4321
:0041788F 746E
je 004178FF
沒有蹦~~後來發現蹦了就DIE了
:00417891 663D2E16
cmp ax, 162E
:00417895 7468
je 004178FF
:00417897 53
push ebx
:00417898 55
push ebp
:00417899 57
push edi
:0041789A 6A0A
push 0000000A
下面會提到這個A
:0041789C 0FB7F9
movzx edi, cx
把X3放入EDI
:0041789F 0FB70E
movzx ecx, word ptr [esi] 把X1放入ECX
:004178A2 0FB7C0
movzx eax, ax
:004178A5 89442418
mov dword ptr [esp+18], eax 把X2放入ESP+18中
:004178A9 8BC1
mov eax, ecx
把X1放入EAX中
:004178AB 99
cdq
:004178AC 5B
pop ebx
把上面那個A放到EBX中
:004178AD F7FB
idiv ebx
用X1/10 1710÷10=171整數放入EAX,餘數放入EDX
:004178AF 6A64
push 00000064
下面會提到這個64
:004178B1 5D
pop ebp
:004178B2 55
push ebp
:004178B3 8BD8
mov ebx, eax
把結果的整數放入EBX
:004178B5 8BC7
mov eax, edi
把X3放入EAX中
:004178B7 99
cdq
:004178B8 F7FD
idiv ebp
用X3除以100(就是上面那個64)
:004178BA 8B542418
mov edx, dword ptr [esp+18] 把X2放入EDX中
:004178BE 03D3
add edx, ebx
把X2+(X1/10的整數)放入EDX
:004178C0 03C2
add eax, edx
把X2+(X1/10的整數)+(X3/100的整數)放入EAX
:004178C2 03C7
add eax, edi
用X2+(X1/10的整數)+(X3/100的整數)+X3放入
:004178C4 5F
pop edi
EAX中
:004178C5 99
cdq
用X2+(X1/10的整數)+(X3/100的整數)+X3除以
:004178C6 F7FF
idiv edi
100,整數放入EAX,餘數放入EDX
:004178C8 8B442414
mov eax, dword ptr [esp+14] 把X2放入EAX中
:004178CC 55
push ebp
:004178CD 5B
pop ebx
:004178CE 55
push ebp
:004178CF 8B3C95288C4300 mov edi, dword
ptr [4*edx+00438C28] 把剛才那個餘數x4+438C28中的值放入EDI中
:004178D6 99
cdq
關於這個438C28文章最後有它的值
:004178D7 6BFF64
imul edi, 00000064
用EDIx100,得的結果放入EDI中我們這裡是2300
:004178DA F7FB
idiv ebx
把X2/100的整數放入EAX中,餘數放入EDX中
:004178DC 8BD8
mov ebx, eax
把X2/100的整數放入EBX中
:004178DE 8BC1
mov eax, ecx
把X1放入EAX中
:004178E0 99
cdq
用X1/100,結果整數放入EAX中,餘數放入EDX中
:004178E1 F7FD
idiv ebp
:004178E3 03CB
add ecx, ebx
把X1+(X2/100的整數)放入ECX中
:004178E5 03C1
add eax, ecx
把X1+(X2/100的整數)+(X1/100的整數)放入EAX
:004178E7 59
pop ecx
把100放入ECX中
:004178E8 99
cdq
用[X1+(X2/100的整數)+(X1/100的整數)]/100
:004178E9 F7F9
idiv ecx
結果整數放入EAX中,餘數放入EDX中
:004178EB 8B0495288C4300 mov eax, dword
ptr [4*edx+00438C28] 把(剛剛得到的餘數x4+438C28)的值放入EAX中我們這裡是69
:004178F2 03F8
add edi, eax
EDI=EDI+EAX=2369,即把這兩次的結果相加我們設它為X4`
:004178F4 33C0
xor eax, eax
清空EAX
:004178F6 66897E06
mov word ptr [esi+06], di 把ESI+6的值用X4`代替
:004178FA 5F
pop edi
走…………………………………………………………
:004178FB 5D
pop ebp
走……………………………………………………
:004178FC 5B
pop ebx
走………………………………………………
:004178FD EB07
jmp 00417906
蹦…………………………………………
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004178FD(U)
|
:00417906 5E
pop esi
走……………………………………
:00417907 C20400
ret 0004
回去嘍…………………………
#######################################################################################################################
:00417933 663B7E06
cmp di, word ptr [esi+06] 呵呵~~~讓我們來比較一下DI中是我們的X4,ESI+6的值
是我們的X4`
:00417937 0F95C0
setne al
如果不一樣那麼就把AL改為1,聰明的你一定想到了這個
X4`就是正確的序列號的最後一部分~~現在我們修正
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:X4=X4`=2369
|:00417923(U), :00417931(C)
|
:0041793A 5F
pop edi
:0041793B 5E
pop esi
:0041793C C20400
ret 0004
返回
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:00417923(U), :00417931(C)
|
:0041793A 5F
pop edi
:0041793B 5E
pop esi
:0041793C C20400
ret 0004
返回
********************************************************************************************************************
:00417A15 3BC3
cmp eax, ebx
這時的EBX本身是0,如果沒出以外的話你的EAX
:00417A17 5F
pop edi
現在也該是0,比較一下,一樣呀~~~呵呵
:00417A18 742A
je 00417A44
那就蹦到正確的地方去吧
:00417A1A 33C9
xor ecx, ecx
:00417A1C 83F802
cmp eax, 00000002
:00417A1F 0F95C1
setne cl
:00417A22 49
dec ecx
:00417A23 6A30
push 00000030
:00417A25 83E103
and ecx, 00000003
:00417A28 81C154040000 add ecx, 00000454
:00417A2E 51
push ecx
:00417A2F E8E3ACFFFF call
00412717 這是出錯的
CALL
總結:
輸入X1必須為171x,
X4={{[X2+(X1/10的整數)+(X3/100的整數)+X3]/100的餘數}x4在下表中的位置的值}x100
+{{[X1+(X2/100的整數)+(X1/100的整數)]/100的餘數}x4在下表中的位置的值}
如X1=1710,X2=4321,X3=1324
根據上式得X4=2369
附438C28表:
260000005B0000006200000036000000340000006600000013000000350000001900000054000000
3F000000440000004C000000380000005D0000003300000056000000610000004200000021000000
3E0000002D000000230000000E0000001E0000005F00000057000000120000001B00000017000000
22000000580000002C000000630000005C000000180000002700000041000000590000004D000000
150000005A000000530000000B000000050000001C000000100000002E0000004900000040000000
0D00000007000000500000003D00000032000000460000000A000000430000002B00000000000000
3B000000480000005E0000004E000000510000001F000000200000003A000000010000002A000000
45000000550000004A000000020000005200000027000000030000004B000000080000003C000000
0F0000001400000024000000250000002800000029000000160000001D0000001A00000011000000
2F000000390000000900000047000000060000004F00000004000000310000000C00000030000000
後記:
本人以前沒寫過破解過程,真沒想到寫過程這麼費勁,我也是看著前輩們的教程入的門
在此小弟對以前寫過程引導我們入門的前輩們說一聲你們辛苦了~~~
另外,有人可能會問,文章中提到的三個工具好象只用到了一個,其實W32DASM和ULTRA
EDIT對破解這個軟體確實沒有多大作用,但是小弟要用它們進行復制貼上呀~~~~呵呵
最後我還想問一個問題,EMEDITOR V3.0的說明檔案中說可以註冊不同的使用者數量,小弟
一直沒找到在哪~~~~~哪位大嚇知道告訴小弟一聲~~~~謝謝!
偽裝者
破解樂園:http://zop.yeah.net
http://www.y6y6.net
相關文章
- EmEditor v3.16破解過程 (9千字)2001-07-22
- 我終於破解了魔裝網神了,破解過程!!,不過是用2.70破解的。 (1千字)2001-10-15
- WinRAR v3.0 Beta 4 破解^程-我是@悠 (3千字)2002-03-07
- WebTimeSync 5.2.0 破解過程 (14千字)2001-10-05Web
- 我來寫一下LanSentry的解狗破解過程 (5千字)2002-01-19
- 嗨!這是EmEditor v3.00 b3破解過程 (5千字)2000-08-05
- 不錯的軟體,我來寫過程。:) (2千字)2001-05-13
- 我的求職過程2007-07-31求職
- 《我也愛背單詞2002+》破解過程。
(3千字)2015-11-15
- OICQ HACK 1.0 破解過程 (9千字)2001-04-23
- Nullz CrackMe 1.1破解過程 (13千字)2001-09-18Null
- 我心中的軟體過程2013-09-20
- 我的dns配置過程(轉)2007-08-11DNS
- PowerArchiver破解過程。2015-11-15Hive
- 一篇初級破解過程,很久沒有動手了,大家不要笑我鈍啊! (10千字)2003-01-11
- 交作業了!!!!!!PECompact1.48破解過程 (6千字)2001-06-26
- dfx V4.0破解過程 (10千字)2000-09-24
- 破解過程-----請多多指教 (2千字)2000-12-31
- 電腦字型秀破解過程 (1千字)2001-03-18
- webeasymail的簡單破解過程 (2千字)2001-08-04WebAI
- Kryptel 3.8 暴力破解過程 (18千字)2001-09-18
- PUZZLER1.20破解過程 (4千字)2002-01-26
- SuperCleaner2.30破解過程 (11千字)2002-02-04
- HEdit 2.0 的註冊破解過程 <<-------可能過時了高手末入
(8千字)2001-02-23
- 最近很忙,剛寫了一篇Uedit32 8.0破解過程(高手莫入)! (12千字)2001-05-07
- Password Keeper v6.3破解過程 (8千字)2002-04-12
- post NOW! 破解過程!有意思。 (1千字)2000-12-30
- 有聲有色3.33破解過程 (4千字)2001-02-09
- 專業掃雷 1.2破解過程 (4千字)2001-02-17
- fulldisk A32 破解過程!(簡單) (1千字)2001-03-20
- 具體的破解過程來也! (10千字)2001-04-21
- 密碼大師4.0破解過程 (3千字)2001-05-06密碼
- 對VCDCUT 4.03的分析破解過程 (18千字)2001-08-08
- 木馬克星5.33.60破解過程
(9千字)2002-03-28
- GaitCD破解全過程(installshield) (3千字)2015-11-15AI
- 我來寫UltraEdit 9.00 簡繁雙語第二版的破解過程,誰來寫序號產生器 (3千字)2002-01-26
- VI基本命令(呵呵,轉過來方便自己查閱)2020-04-04
- [ yjunzhao ]的Super Vidoe CD Verifier破解過程,註冊器我也寫出,到贏徵論壇去看
(4千字)2002-02-07