破解軟體:e族自動關機
軟體大小:731
KB
應用平臺:Win9x/NT/2000/XP
下載次數:36578
破解工具:TRW1.22
破解難度:very easy
軟體下載:http://count.skycn.com/softdown.php?id=3320&url=http://on165-http.skycn.net/down/eShut.exe
軟體說明:歡迎使用e族自動關機,它可以在您指定的時間自動關閉計算機。如果您在臨睡前有聽音樂、評書、英語的喜好,或是因計算機尚未完成工作任務而不能脫身,e族自動關機是您的最佳選擇。未註冊版只能使用18次。
半個多月沒碰過電腦了,今天好不容易撈到機會,趕緊駕貓上網,發現論壇裡面一如既往的熱鬧,令人高興的是論壇5終於出爐了,趕緊下下來,順便下了這個小軟體,分析了一下,發現是個超級簡單但非常好用的小軟體,本不好意思往上貼,想到自已菜鳥,無所謂了,獻給所有喜愛破解的菜鳥。
無殼,用Delphi編寫,任意填入註冊碼12345678,下BPX
HMEMCPY(用BPX GETWINDOWTEXTA斷不下來),點下一步,程式被中斷
BC *,PMODULE,按7下F12,再按F10,來到以下程式碼
0167:004707C2
CMP DWORD [EBP-30],BYTE +00 <---程式中斷於此,判斷是否輸入了註冊碼
0167:004707C6
JNZ 004707DA
0167:004707C8 MOV
EAX,[EBP-04]
0167:004707CB MOV DWORD [EAX+03B8],05
0167:004707D5
JMP 00470896
0167:004707DA XOR
EAX,EAX
0167:004707DC PUSH EBP
0167:004707DD PUSH
DWORD 0047087F
0167:004707E2 PUSH DWORD [FS:EAX]
0167:004707E5
MOV [FS:EAX],ESP
0167:004707E8 LEA
EDX,[EBP-34]
0167:004707EB MOV EAX,[EBP-04]
0167:004707EE
MOV EAX,[EAX+0318]
0167:004707F4
CALL 0043B71C
0167:004707F9
MOV EAX,[EBP-34] <---取輸入的註冊碼
0167:004707FC
CALL 00408960 <---此Call將輸入的註冊碼轉換成16進位制值,返回值在EAX中
0167:00470801
MOV EBX,EAX
0167:00470803 MOV EAX,[EBP-04]
0167:00470806
MOV EAX,[EAX+03B0] <---取機器碼的16進位制值
0167:0047080C
MOV CL,01
0167:0047080E MOV EDX,EBX
0167:00470810 CALL
00464D88 <---關鍵的比對Call,跟進
0167:00470815
MOV EDX,[0047508C]
0167:0047081B MOV
[EDX],AL
0167:0047081D
MOV EAX,[0047508C]
0167:00470822 CMP
BYTE [EAX],00
0167:00470825
JZ 00470868 <---關鍵跳轉
0167:00470827
MOV EAX,[EBP-04]
0167:0047082A MOV
DWORD [EAX+03B8],04
0167:00470834 MOV EAX,EBX
0167:00470836
XOR EDX,EDX
0167:00470838 PUSH
EDX
0167:00470839 PUSH EAX
0167:0047083A LEA
EAX,[EBP-38]
0167:0047083D CALL 004088D8
0167:00470842
MOV EDX,[EBP-38]
0167:00470845 MOV
EAX,[EBP-04]
0167:00470848 MOV EAX,[EAX+033C]
0167:0047084E
CALL 0043B74C
0167:00470853 MOV EAX,[EBP-04]
0167:00470856
MOV EAX,[EAX+0300]
0167:0047085C MOV
EDX,00470B94
0167:00470861 CALL 0043B74C
0167:00470866
JMP SHORT 00470875
0167:00470868 MOV
EAX,[EBP-04]
0167:0047086B MOV DWORD
[EAX+03B8],05
0167:00470875 XOR EAX,EAX
0167:00470877
POP EDX
0167:00470878 POP ECX
0167:00470879
POP ECX
0167:0047087A MOV [FS:EAX],EDX
0167:0047087D
JMP SHORT 00470896
跟進上面的那個關鍵Call,來到如下程式碼:
0167:00464D89
MOV EBP,ESP
0167:00464D8B ADD
ESP,BYTE -08
0167:00464D8E PUSH EBX
0167:00464D8F
PUSH ESI
0167:00464D90 XOR EBX,EBX
<---EBX=0
0167:00464D92
MOV [EBP-08],EBX
0167:00464D95 MOV
[EBP-04],EDX <---取註冊碼的16進位制值到[EBP-04]中
0167:00464D98
XOR EDX,EDX
0167:00464D9A PUSH
EBP
0167:00464D9B PUSH DWORD 00464E13
0167:00464DA0
PUSH DWORD [FS:EDX]
0167:00464DA3 MOV
[FS:EDX],ESP
0167:00464DA6 XOR EBX,EBX
0167:00464DA8
XOR EAX,27DFFC3A <---EAX中為機器碼的16進位制值,與27DFFC3A或後的數值為真碼
0167:00464DAD
CMP EAX,[EBP-04] <---真假碼比較
0167:00464DB0
JNZ 00464DB4
0167:00464DB2 MOV
BL,01 <---EBX=01
0167:00464DB4
TEST CL,CL
0167:00464DB6 JZ
00464DFD
0167:00464DB8 MOV DL,01
0167:00464DBA
MOV EAX,[0045DA80]
0167:00464DBF CALL
0045DB80
0167:00464DC4 MOV ESI,EAX
0167:00464DC6
MOV CL,01
0167:00464DC8 MOV EDX,00464E2C
0167:00464DCD
MOV EAX,ESI
0167:00464DCF CALL
0045DC84
0167:00464DD4 TEST AL,AL
0167:00464DD6 JZ
00464DF6
0167:00464DD8 MOV EAX,[EBP-04]
0167:00464DDB
XOR EDX,EDX
0167:00464DDD PUSH
EDX
0167:00464DDE PUSH EAX
0167:00464DDF LEA
EAX,[EBP-08]
0167:00464DE2 CALL 004088D8
0167:00464DE7
MOV ECX,[EBP-08]
0167:00464DEA MOV
EDX,00464E4C
0167:00464DEF MOV EAX,ESI
0167:00464DF1
CALL 0045DE20
0167:00464DF6 MOV EAX,ESI
0167:00464DF8
CALL 00403724
0167:00464DFD XOR EAX,EAX
0167:00464DFF
POP EDX
0167:00464E00 POP ECX
0167:00464E01
POP ECX
0167:00464E02 MOV [FS:EAX],EDX
0167:00464E05
PUSH DWORD 00464E1A
0167:00464E0A LEA
EAX,[EBP-08]
0167:00464E0D CALL 00404490
0167:00464E12
RET
0167:00464E13 JMP 00403EB8
0167:00464E18
JMP SHORT 00464E0A
0167:00464E1A MOV
EAX,EBX <---根據EBX的值置標誌位EAX的值
0167:00464E1C POP ESI
0167:00464E1D POP
EBX
0167:00464E1E POP ECX
0167:00464E1F
POP ECX
0167:00464E20 POP EBP
0167:00464E21
RET
這個軟體的演算法非常簡單,將機器碼的16進位制值與27DFFC3A作或運算後的結果的10進位制值即為正確註冊碼。
軟體註冊成功後將註冊資訊儲存在登錄檔的
“HKEY_CURRENT_USER/Software/eNation/eShut”中,重啟時會取出進行比對