影像處理軟體XFader的簡要分析
破解軟體:XFader
下載地址:www.21hh.net
破解難度:易
破解工具:TRW1.22
軟體說明:方便的影像素材生成工具,可以從任意一個點陣圖建立無窮多的紋理素材。只需執行XFader,開啟一個
bitmap或jpeg檔案然後按“漸變”按鈕即可,註冊使用者可以及時預覽效果。它本身並不具備太多圖片的編修功
能,它對於製作不同風格的網頁或是製作佈景主題是蠻需要的。趕快試試吧,絕對讓你大吃一驚。
任意輸入使用者名稱ShenGe和註冊碼12345678,下BPX
HMEMCPY中斷,點Register,程式被中斷,按7下F12再按F10來到以下程式碼:
0167:00470BDD LEA
EDX,[EBP-08]
0167:00470BE0 MOV EAX,[0049EB50]
0167:00470BE5
MOV EAX,[EAX+01F4]
0167:00470BEB CALL
0041D25C
0167:00470BF0 MOV EAX,[EBP-08]
<---程式中斷於此,取輸入的註冊碼到EAX中
0167:00470BF3
PUSH EAX
0167:00470BF4 LEA EDX,[EBP-0C]
0167:00470BF7
MOV EAX,[0049EB50]
0167:00470BFC MOV
EAX,[EAX+01F0]
0167:00470C02 CALL 0041D25C
0167:00470C07
MOV EDX,[EBP-0C]
<---取輸入的使用者名稱到EDX中
0167:00470C0A MOV EAX,EBX
0167:00470C0C
POP ECX
<---ECX中為輸入的註冊碼
0167:00470C0D CALL
00470530
<---關鍵的Call,跟進
0167:00470C12 TEST AL,AL
0167:00470C14
JZ NEAR 00470C9D
<---關鍵跳轉,要爆破改為JNZ即可
0167:00470C1A LEA
EDX,[EBP-08]
0167:00470C1D MOV EAX,[0049EB50]
0167:00470C22
MOV EAX,[EAX+01F4]
0167:00470C28 CALL
0041D25C
0167:00470C2D MOV EAX,[EBP-08]
0167:00470C30
PUSH EAX
跟進上面的那個Call,來到如下程式碼處:
0167:00470530 PUSH
EBP
0167:00470531 MOV EBP,ESP
0167:00470533
PUSH ECX
0167:00470534 MOV ECX,04
0167:00470539
PUSH BYTE +00
0167:0047053B PUSH BYTE
+00
0167:0047053D DEC ECX
0167:0047053E JNZ
00470539
。。。。。。。
0167:004705B3 LEA
ECX,[EBP-24]
0167:004705B6 MOV EDX,ESI
0167:004705B8
MOV EAX,[EBX+4C]
0167:004705BB MOV
EDI,[EAX]
0167:004705BD CALL NEAR [EDI+0C]
0167:004705C0
MOV EDX,[EBP-24]
0167:004705C3 MOV
ECX,08
0167:004705C8 MOV EAX,EBX
0167:004705CA
CALL 00470674
<---此Call將我們輸入的使用者名稱進行轉換:小寫全部轉換成大寫;
0167:004705CF
MOV ECX,[EBP-20]
若使用者名稱不足8位,則不足部分依次從輸入的使用者名稱的第1位起
0167:004705D2
MOV EDX,ESI
取字元補齊,如我輸入的為ShenGe,則轉換後為SHENGESH
0167:004705D4
MOV EAX,[EBX+4C]
0167:004705D7 MOV
EDI,[EAX]
0167:004705D9 CALL NEAR [EDI+20]
0167:004705DC
INC ESI
0167:004705DD DEC DWORD
[EBP-1C]
0167:004705E0 JNZ 004705AD
0167:004705E2
MOV EDX,[EBP-10]
0167:004705E5 MOV
EAX,[EBX+4C]
0167:004705E8 MOV ECX,[EAX]
0167:004705EA
CALL NEAR [ECX+50]
0167:004705ED TEST
EAX,EAX
0167:004705EF JNL 0047062B
0167:004705F1
MOV EAX,[EBP-10]
0167:004705F4 CALL
00403BE4
0167:004705F9 TEST EAX,EAX
0167:004705FB
JNG 0047062B
0167:004705FD MOV
EAX,[EBP-14]
0167:00470600 CALL 00403BE4
0167:00470605
TEST EAX,EAX
0167:00470607 JNG 0047062B
0167:00470609
LEA EAX,[EBP-18]
0167:0047060C PUSH
EAX
0167:0047060D MOV ECX,[EBP-10]
<---D ECX可看到轉換後的使用者名稱
0167:00470610
MOV EDX,[EBP-14]
<---D EDX可看到固定字串“PXF12OKT”
0167:00470613 MOV
EAX,EBX
0167:00470615 CALL 004707C0
<---計算註冊碼的Call,跟進
0167:0047061A
MOV EAX,[EBP-18]
<--- D EAX可看到正確的註冊碼
0167:0047061D MOV
EDX,[EBP-08]
<--- D EDX可看到我們輸的假的註冊碼
0167:00470620 CALL 00403CF4
<---
進行比較的Call
0167:00470625 JNZ 0047062B
<---關鍵跳轉
0167:00470627
MOV BYTE [EBP-09],01
0167:0047062B XOR
EAX,EAX
0167:0047062D POP EDX
0167:0047062E
POP ECX
0167:0047062F POP ECX
0167:00470630
MOV [FS:EAX],EDX
0167:00470633 PUSH
DWORD 00470667
0167:00470638 LEA EAX,[EBP-24]
0167:0047063B
MOV EDX,02
0167:00470640 CALL
0040398C
0167:00470645 LEA EAX,[EBP-18]
0167:00470648
MOV EDX,03
0167:0047064D CALL
0040398C
0167:00470652 LEA EAX,[EBP-08]
0167:00470655
MOV EDX,02
0167:0047065A CALL
0040398C
0167:0047065F RET
由上可看到,只要在 0167:0047061A 處下D EAX即可看到正確的註冊碼,但我們的目的是找出演算法,跟進上面的那個Call可看到以下程式碼:
0167:004707C0
PUSH EBP
0167:004707C1 MOV EBP,ESP
0167:004707C3
ADD ESP,FFFFFEB4
0167:004707C9 PUSH
EBX
0167:004707CA PUSH ESI
0167:004707CB PUSH
EDI
0167:004707CC XOR EBX,EBX
0167:004707CE
MOV [EBP+FFFFFED8],EBX
0167:004707D4 MOV
[EBP+FFFFFED4],EBX
0167:004707DA MOV [EBP+FFFFFED0],EBX
。。。。。。。
0167:00470838
PUSH EAX
0167:00470839 MOV ECX,08
0167:0047083E
MOV EDX,01
0167:00470843 MOV
EAX,[EBP-04]
0167:00470846 CALL 00403DE8
0167:0047084B
PUSH DWORD [EBP+FFFFFED4]
0167:00470851 LEA
EAX,[EBP+FFFFFED0]
0167:00470857 PUSH EAX
0167:00470858
MOV ECX,08
0167:0047085D MOV
EDX,01
0167:00470862 MOV EAX,[EBP-08]
0167:00470865
CALL 00403DE8
0167:0047086A PUSH DWORD
[EBP+FFFFFED0] <---D *EBP+FFFFFED0可看到為轉換後的使用者名稱
0167:00470870
PUSH DWORD 004709DC
<---D 004709DC可看到########
0167:00470875 LEA EAX,[EBP+FFFFFED8]
0167:0047087B
MOV EDX,03
0167:00470880 CALL
00403CA4 <---這個Call將固定串“PXF12OKT”與轉換後的使用者名稱及"########"合併後存入[EBP+FFFFFED8]中
0167:00470885
MOV EDX,[EBP+FFFFFED8]
0167:0047088B LEA
EAX,[EBP+FFFFFEDC]
0167:00470891 MOV ECX,FF
0167:00470896
CALL 00403BC0
0167:0047089B LEA EDX,[EBP+FFFFFEDC]
0167:004708A1
LEA EAX,[EBP-21]
0167:004708A4 MOV
CL,18
0167:004708A6 CALL 004029AC
0167:004708AB
PUSH BYTE +03
<---置入口引數
-----------|
0167:004708AD PUSH BYTE
+05 <---置入口引數
|
0167:004708AF PUSH BYTE +07
<---置入口引數
|
0167:004708B1
LEA EDX,[EBP-21]
|
0167:004708B4
MOV CL,01
|
0167:004708B6 MOV EAX,EBX
|
0167:004708B8 CALL
00470784
<---此Call是對上面合併後的字串進行處理 |
0167:004708BD MOV
[EBP-10],AL <---運算後的結果存入[EBP-10]中
-----------|
0167:004708C0 PUSH BYTE +04
-----------------------|
0167:004708C2 PUSH
BYTE +0A
|
0167:004708C4 PUSH BYTE +0C
|
0167:004708C6 LEA EDX,[EBP-21]
|
0167:004708C9 MOV CL,02
|
0167:004708CB MOV EAX,EBX
|
0167:004708CD CALL
00470784
|
0167:004708D2 MOV
[EBP-0F],AL -----------------------|
0167:004708D5 PUSH BYTE +0B
|
0167:004708D7 PUSH BYTE +0D
|
0167:004708D9 PUSH
BYTE +0F
|
0167:004708DB LEA
EDX,[EBP-21]
|
0167:004708DE MOV
CL,09
|
0167:004708E0
MOV EAX,EBX
|
0167:004708E2
CALL 00470784
|
0167:004708E7
MOV [EBP-0E],AL ----------------------|
0167:004708EA PUSH BYTE +08
|
0167:004708EC PUSH BYTE +0E
|
0167:004708EE PUSH BYTE +10
|
0167:004708F0 LEA EDX,[EBP-21]
|
0167:004708F3
MOV CL,06
|
0167:004708F5
MOV EAX,EBX
|
0167:004708F7
CALL 00470784
|
0167:004708FC
MOV [EBP-0D],AL ----------------------|
0167:004708FF
PUSH BYTE +10
|
0167:00470901
PUSH BYTE +02
|
0167:00470903
PUSH BYTE +0F
|
0167:00470905
LEA EDX,[EBP-21]
|
0167:00470908
MOV CL,01
|
0167:0047090A
MOV EAX,EBX
|
0167:0047090C
CALL 00470784
|
0167:00470911
MOV [EBP-0C],AL ----------------------|
0167:00470914
PUSH BYTE +0E
|
0167:00470916
PUSH BYTE +04
|
0167:00470918
PUSH BYTE +0D
|
0167:0047091A
LEA EDX,[EBP-21]
|
0167:0047091D
MOV CL,03
|
0167:0047091F MOV EAX,EBX
|
0167:00470921 CALL 00470784
|
0167:00470926 MOV [EBP-0B],AL
----------------------|
0167:00470929 PUSH
BYTE +0C
|
0167:0047092B PUSH
BYTE +06
|
0167:0047092D PUSH
BYTE +0B
|
0167:0047092F LEA
EDX,[EBP-21]
|
0167:00470932 MOV
CL,05
|
0167:00470934 MOV
EAX,EBX
|
0167:00470936 CALL
00470784
|
0167:0047093B MOV
[EBP-0A],AL ----------------------|
0167:0047093E PUSH BYTE +0A
|
0167:00470940
PUSH BYTE +08
|
0167:00470942
PUSH BYTE +09
|
0167:00470944
LEA EDX,[EBP-21]
|
0167:00470947
MOV CL,07
|
0167:00470949 MOV EAX,EBX
|
0167:0047094B CALL 00470784
|
0167:00470950 MOV [EBP-09],AL -----------------------|
0167:00470953
MOV EBX,08
0167:00470958 LEA
ECX,[EBP-10] <---取上面8次Call運算後的結果到[ECX]中
0167:0047095B XOR EAX,EAX
<---EAX清零
0167:0047095D MOV
AL,[ECX] <---按位取[ECX]中的值到EAX中
0167:0047095F
MOV EDI,0A
<---EDI中置為定值0AH
0167:00470964 CDQ
<---EDX清零
0167:00470965
IDIV EDI
0167:00470967 ADD EDX,BYTE
+30 <---將餘數轉化成十六進位制數值(正確註冊碼)
0167:0047096A
MOV [ECX],DL
<---十六進位制值存入[ECX]中
0167:0047096C INC ECX
0167:0047096D
DEC EBX
0167:0047096E JNZ 0047095B
<---迴圈判斷,是否取完
0167:00470970
LEA EAX,[EBP+FFFFFEB4]
0167:00470976 PUSH
EAX
0167:00470977 MOV ECX,08
0167:0047097C
MOV EDX,11
0167:00470981 LEA
EAX,[EBP-21]
0167:00470984 CALL 00402794
<---此Call將上面的計算結果(即正確註冊碼)存入[EBP+FFFFFEB4]中
0167:00470989
LEA EDX,[EBP+FFFFFEB4]
0167:0047098F MOV
EAX,ESI
0167:00470991 CALL 00403B88
0167:00470996
XOR EAX,EAX
0167:00470998 POP
EDX
0167:00470999 POP ECX
0167:0047099A
POP ECX
0167:0047099B MOV [FS:EAX],EDX
0167:0047099E
PUSH DWORD 004709C8
0167:004709A3 LEA
EAX,[EBP+FFFFFED0]
0167:004709A9 MOV EDX,03
0167:004709AE
CALL 0040398C
0167:004709B3 LEA EAX,[EBP-08]
0167:004709B6
MOV EDX,02
0167:004709BB CALL
0040398C
0167:004709C0 RET
0167:004709C1 JMP
00403388
0167:004709C6 JMP SHORT
004709A3
0167:004709C8 POP EDI
0167:004709C9 POP
ESI
0167:004709CA POP EBX
0167:004709CB
MOV ESP,EBP
0167:004709CD POP
EBP
0167:004709CE RET 04
可看到上面呼叫8次CALL 00470784
,然後根據此Call得到的結果再與0AH除得到註冊碼,我們不凡再跟進此Call看看它到底如何運算0167:00470784 PUSH
EBP
0167:00470785 MOV EBP,ESP
0167:00470787
ADD ESP,BYTE -08
0167:0047078A MOV
[EBP-05],CL <---CL的值存入[EBP-05]中
0167:0047078D
MOV [EBP-04],EDX
0167:00470790 LEA
EDX,[EBP-06]
0167:00470793 MOV EDI,[EBP-04]
<---下D EDI可看到合併後的字串
0167:00470796
XOR EBX,EBX
<---EBX=0
0167:00470798 MOV BL,[EBP-05]
<---取[EBP-05]中的值到EBX中,控制取第幾位值
0167:0047079B
MOV AL,[EDI+EBX]
<---取合併後字串的第BL位到AL中
0167:0047079E MOV BL,[EBP+10]
<---[EBP+10]中為第1個入棧的引數值
0167:004707A1
XOR AL,[EDI+EBX]
0167:004707A4 MOV BL,[EBP+0C]
<---[EBP+0C]中為第2個入棧的引數值
0167:004707A7 MOV
CL,[EDI+EBX]
0167:004707AA ROL AL,CL
0167:004707AC
MOV BL,[EBP+08]
<---[EBP+08]中為第3個入棧的引數值
0167:004707AF XOR AL,[EDI+EBX]
0167:004707B2
MOV [EBP-06],AL
<---結果存入[EBP-06]中
0167:004707B5 MOV AL,[EDX]
0167:004707B7
POP ECX
0167:004707B8 POP ECX
0167:004707B9
POP EBP
0167:004707BA RET 0C
我們可大概得出此Call的計算方法,即根據CL值及入口引數確定取合併字串的的第幾位,然後參與運算。
該程式註冊成功後將註冊資訊儲存在登錄檔的
“HKEY_LOCAL_MACHINE/Software/Pegtop/Xfader”中
我得到的為
使用者名稱:ShenGe
註冊碼:99835539
總會有一些簡單的遺憾
簡單的一如從前
總會有一些一些改變 隨著這歲月變遷
相關文章
- HDR影像便捷處理軟體2021-11-05
- Repix Pro for Mac影像處理軟體2020-10-25Mac
- Mac上RAW影像處理軟體2021-10-22Mac
- 全能的影像處理軟體:inPixel for Mac2022-04-27Mac
- Perfectly Clear Workbench 影像清晰處理軟體2022-04-22
- RAW Power for Mac(RAW影像處理軟體)2022-09-24Mac
- Perfectly Clear Workbench 影像清晰處理軟體2022-06-07
- Affinity Photo for Mac(專業影像處理軟體)2022-11-10Mac
- Capture One Pro 22(raw影像處理軟體)2022-10-18APT
- RAW影像處理軟體:Capture One Pro 222022-06-22APT
- Perfectly Clear Workbench for mac 影像清晰處理軟體2022-06-16Mac
- Perfectly Clear Workbench for mac(影像清晰處理軟體)2021-11-02Mac
- 影像清晰處理軟體:perfectly clear workbench mac2022-03-20Mac
- Photomatix Pro for Mac(HDR影像處理軟體)2022-03-20Mac
- Perfectly Clear Workbench mac(影像清晰處理軟體)2022-02-10Mac
- Mac強大的raw影像處理軟體:RAW Power2022-05-18Mac
- Pixelmator pro for Mac(強大的影像處理軟體)2022-11-03Mac
- mac上好用的影像噪點處理軟體分享2023-05-11Mac
- Mac RAW影像處理軟體:Capture One Pro 222022-05-10MacAPT
- Capture One Pro 22 for Mac(RAW影像處理軟體)2022-07-03APTMac
- 影像清晰處理軟體Mac版:Perfectly Clear Workbench2022-02-23Mac
- Capture One Pro 21 for Mac(RAW影像處理軟體)2021-10-22APTMac
- 基於Opencv的簡單影像處理2020-12-30OpenCV
- 影像清晰處理軟體:Perfectly Clear Workbench 中文啟用2022-10-22
- Perfectly Clear QuickDesk Mac(影像最佳化處理軟體)2022-07-30UIMac
- Perfectly Clear Workbench Mac(影像清晰度處理軟體)2022-11-15Mac
- 軟體測評中心簡要分析:為什麼要進行軟體效能測試?2022-05-11
- TensorFlow進行簡單的影像處理2018-12-19
- 影像處理或其他多媒體處理中的值溢位處理2007-08-17
- 智慧影像清晰度處理軟體:Perfectly Clear Workbench for mac2023-12-21Mac
- Capture One Pro 23:Raw影像處理軟體Mac/Win版2023-11-09APTMac
- 影像清晰度處理軟體:Perfectly Clear Workbench Mac版2022-06-05Mac
- Perfectly Clear Workbench for mac智慧影像清晰度處理軟體2022-06-08Mac
- 醫學影像處理相關軟體及python包2018-06-07Python
- 影像處理--影像特效2020-08-01特效
- Python 影像處理 OpenCV (6):影像的閾值處理2020-06-05PythonOpenCV
- pythonPIL影像處理庫簡介(一)2018-06-04Python
- mac影像清晰處理軟Perfectly Clear Workbench2021-11-02Mac