破解XFtpSvr =====> 請進 (5千字)
軟體名稱:XNETECH FTP Server 0.1.1.616
軟體簡介:基於Windows95/98/NT/2000的FTP伺服器;支援RFC-959標準中所有基本的FTP命令;支援多執行緒、斷點續傳等功能;不限制使用者數,允許不同使用者使用不同的路徑;不同使用者可以賦予不同的的許可權;對使用者的目錄進行容量的限制;自動識別IP地址,並對不同的IP地址賦予不同的的許可權;擴充套件FTP命令集,使用FTP客戶端軟體能管理FTP伺服器;遠端檢視FTP伺服器的當前狀態;遠端增加或刪除使用者的帳戶;遠端斷開任何使用者或IP地址的FTP連線;遠端啟動或停止FTP伺服器的執行;遠端檢視使用者的帳戶;
允許匿名訪問;簡單而強大的圖形介面,操作十分簡單;無須進行安裝設定即可執行;
下載地址(軟體主頁):http://xnetech.363.net/
破解難度:very easy
破解人:Edea[BCG] (QQ:3849036)
首先,用FI檢查,發現該軟體用UPX加殼,用UPX -d脫之。
用Wdasm反彙編,在反彙編的同時,開啟軟體(嘿嘿,為了節約時間)。點Help/Register Info,填入:
UserName=Edea
Company=BCG
RegisterNO=9876543210
點OK,對話方塊消失,沒任何反映(我暈~~~),經過N(N<=1)分鐘的努力,我發現該軟體把我填的註冊資訊放到了軟體目錄中得xftpsvr.ini裡。
反彙編完成,又經過N(N<=2)分鐘的努力,在反彙編出來的程式碼中,找到這麼一段:
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00499218(C)
|
:00499226 8B9324040000 mov edx, dword
ptr [ebx+00000424]
:0049922C 8BC3
mov eax, ebx
:0049922E E8557CF9FF call 00430E88
:00499233 8B9328040000 mov edx, dword
ptr [ebx+00000428]
:00499239 8BC3
mov eax, ebx
:0049923B E8287CF9FF call 00430E68
:00499240 8B932C040000 mov edx, dword
ptr [ebx+0000042C]
:00499246 8BC3
mov eax, ebx
:00499248 E85F7CF9FF call 00430EAC
:0049924D 8B9330040000 mov edx, dword
ptr [ebx+00000430]
:00499253 8BC3
mov eax, ebx
:00499255 E8727CF9FF call 00430ECC
:0049925A E825F3FDFF call 00478584
----->關鍵CALL
:0049925F 84C0
test al, al
:00499261 7519
jne 0049927C
----->嘿嘿,關鍵跳轉點
:00499263 A1C4624A00 mov eax,
dword ptr [004A62C4]
:00499268 C70001000000 mov dword ptr
[eax], 00000001
* Possible StringData Ref from Code Obj ->"XNETECH FTP SERVER - http://xnetech.363.net/
"
->"[UnRegister]"
|
:0049926E BAC0924900 mov edx,
004992C0
:00499273 8BC3
mov eax, ebx
:00499275 E82A84F9FF call 004316A4
:0049927A EB0C
jmp 00499288
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00499261(C)
|
* Possible StringData Ref from Code Obj ->"XNETECH FTP Server - http://xnetech.363.net/"
|
:0049927C BA04934900 mov edx,
00499304
:00499281 8BC3
mov eax, ebx
:00499283 E81C84F9FF call 004316A4
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0049927A(U)
|
:00499288 8BC3
mov eax, ebx
:0049928A 8B10
mov edx, dword ptr [eax]
:0049928C FF9280000000 call dword ptr
[edx+00000080]
:00499292 8BC3
mov eax, ebx
:00499294 E82B040000 call 004996C4
:00499299 8BC3
mov eax, ebx
:0049929B E8C8020000 call 00499568
:004992A0 33C0
xor eax, eax
:004992A2 5A
pop edx
:004992A3 59
pop ecx
:004992A4 59
pop ecx
:004992A5 648910
mov dword ptr fs:[eax], edx
:004992A8 68B5924900 push 004992B5
***********************************************************************************************
該軟體在啟動的時候會檢查儲存在xftpsvr.ini裡的註冊碼,判斷註冊與否。
退出程式,開啟TRW2000(我的最愛),下斷點bpx 0049924D,然後再執行程式,被攔下:
************************************************************************************************
0177:0049924D MOV EDX,[EBX+0430]
0177:00499253 MOV EAX,EBX
0177:00499255 CALL 00430ECC
0177:0049925A CALL 00478584
------>F8跟入
0177:0049925F TEST AL,AL
0177:00499261 JNZ 0049927C
0177:00499263 MOV EAX,[004A62C4]
0177:00499268 MOV DWORD [EAX],01
0177:0049926E MOV EDX,004992C0
0177:00499273 MOV EAX,EBX
0177:00499275 CALL 004316A4
0177:0049927A JMP SHORT 00499288
0177:0049927C MOV EDX,00499304
0177:00499281 MOV EAX,EBX
Call from 0049925A:
0177:00478584 PUSH EBP
0177:00478585 MOV EBP,ESP
0177:00478587 PUSH BYTE +00
0177:00478589 PUSH EBX
0177:0047858A XOR EAX,EAX
0177:0047858C PUSH EBP
0177:0047858D PUSH DWORD 004785DC
0177:00478592 PUSH DWORD [FS:EAX]
0177:00478595 MOV [FS:EAX],ESP
0177:00478598 LEA EAX,[EBP-04]
0177:0047859B PUSH EAX
0177:0047859C MOV CX,2710
0177:004785A0 MOV EDX,[004A7AFC]
----->"BCG"==>EDX
0177:004785A6 MOV EAX,[004A7AF8]
----->"Edea"==>EAX
0177:004785AB CALL 004785EC
----->算註冊碼的Call,如果要寫序號產生器就跟入
0177:004785B0 MOV EAX,[EBP-04]
----->真註冊碼==>EAX
0177:004785B3 MOV EDX,[004A7B00]
----->假註冊碼==>EDX
0177:004785B9 CALL 00403FC8
----->比較真假註冊碼
0177:004785BE JNZ 004785C4
----->不相等嗎?去死吧!
0177:004785C0 MOV BL,01
0177:004785C2 JMP SHORT 004785C6
0177:004785C4 XOR EBX,EBX
0177:004785C6 XOR EAX,EAX
0177:004785C8 POP EDX
我的註冊碼:
UserName=Edea
Company=BCG
RegisterNO=C86428289719A64C3ADEC11B45C91EEA
這個軟體破解很簡單,我的本意是想寫一下這個軟體的序號產生器,可惜功力不夠,在程式中轉暈了頭。希望各位兄弟(特別是偽哥)能幫忙寫出序號產生器,讓小弟學習學習。
相關文章
- MyEclipse5 5的破解方法2018-11-12Eclipse
- 破解Python開發工具wingide-52019-05-14PythonIDE
- 求助,大佬請進!2024-03-05
- 走進JavaWeb技術世界5:初探Tomcat的HTTP請求過程2019-10-21JavaWebTomcatHTTP
- 數學家破解11選5騙局2019-10-26
- 千字分享|自然語言分析NLA2022-05-30
- 逆向分析:利用標誌位進行爆破破解2022-01-18
- HttpClient 進行soap請求2024-05-04HTTPclient
- 暴肝兩萬五千字助你通關Servlet2022-03-01Servlet
- 王小云院士真地破解了MD5嗎2019-02-27
- 入職阿里5年,他如何破解“技術債”?2020-02-14阿里
- 三千字介紹Redis主從+哨兵+叢集2021-09-30Redis
- 使用 $fetch 進行 HTTP 請求2024-08-02HTTP
- python爬蟲之快速對js內容進行破解2019-07-08Python爬蟲JS
- [electron]終極奧義 五千字教程丟給你2018-09-18
- 三千字講清TypeScript與React的實戰技巧2019-07-26TypeScriptReact
- phper 的進階思考——請教篇2020-06-11PHP
- 使用retrofit進行網路請求2020-09-29
- 請問大家如何進行提效?2024-09-20
- .NET忠實粉絲們,請進2021-11-25
- 爬蟲進階教程:極驗(GEETEST)驗證碼破解教程2018-12-24爬蟲
- 2萬5千字各大廠前端程式設計師面試經歷-如何寫一個漂亮的簡歷2019-01-09前端程式設計師面試
- 八千字長文深度解讀,遷移學習在強化學習中的應用及最新進展2019-10-21遷移學習強化學習
- MySQL(十四)分析查詢語句Explain 七千字總結2023-04-14MySqlAI
- JS進階系列 --- ajax請求優化2018-08-05JS優化
- .NET Core如何進行請求轉發?2020-11-03
- 菜鳥不懂畫流程 功能圖請進2019-05-11
- apisix~按域名進行請求轉發2024-06-17API
- 讀AI新生:破解人機共存密碼筆記02進化2024-06-16AI密碼筆記
- NEO改進協議提案5(NEP-5)2018-12-12協議
- 一萬三千字的HashMap面試必問知識點詳解2020-11-28HashMap面試
- 3/5學習進度2024-03-05
- Thinkphp5基礎——10 請求引數2019-01-18PHP
- AI專利申請5年激增1.8倍2018-03-06AI
- 索尼PS5遭破解,黑客利用核心漏洞獲取根金鑰2021-11-16黑客
- 破解idea2019-01-14Idea
- 對請求來源進行白名單限制2021-05-10
- “雷克沙杯”加密硬碟破解挑戰賽火熱進行中2022-01-21加密硬碟
- Android中用Kotlin Coroutine(協程)和Retrofit進行網路請求和取消請求2019-04-22AndroidKotlin