無限試用 Navicat Premium
本文于
949
天之前發表,文章内容可能已經過時。
逆向攻破,無限試用。
前言
經過一段時間後,試用期已到期,無法再繼續享受 Navicat Premium,所帶來的方便,如下圖:
決定來研究一下,該app相關的內碼,
在此聲明,該文章純屬學習研究,請勿用於其他途徑。
過程
- 找出二進制文件(mach-O、unix執行檔),
/Applications/Navicat Premium.app/Contents/MacOS/Navicat Premium
- 使用 Hopper Disassembler v4 Standard Edition (4.5.13),來對二進制文件反編譯
- 搜索字串
http://www.navicat.com/cht/store
,
找到
1 2 3 4 5 6 7 8 9 10 11
| # 0000000102d5bf5b db "http://www.navicat.com/cht/store", 0 ; DATA XREF=cfstring_http___www_navicat_com_cht_store
# 0000000103c2b600 dq 0x0000000104750310, 0x00000000000007c8, 0x0000000102d5bf5b, 0x0000000000000020 ; "http://www.navicat.com/cht/store", DATA XREF=qword_103f773b8
# 0000000103f773b8 dq 0x0000000103c2b600 ; @"http://www.navicat.com/cht/store", DATA XREF=+[Registration ApplicationChecking:isLaunch:]+481, +[Registration ApplicationChecking:isLaunch:]+899, +[Registration ApplicationChecking:isLaunch:]+5518, +[Registration ApplicationChecking:isLaunch:]+5758, +[Registration ApplicationChecking:isLaunch:]+6039, +[Registration ApplicationChecking:isLaunch:]+9206, -[Registration BuyNow:]+52
#
|
查看一下方法的匯編程式碼(assembly language),
1 2 3 4
| mov ebx, eax cmp ebx, 0xffffffff je loc_100325e47
|
其關鍵指令如上,賦值給ebx
,再進行判斷exb
如果等於1,就跳轉至地址loc_100325e47
,然而如果不等於則跳轉至loc_100325e47
,loc_100325e47
也是通過檢測後執行的方法。
- 修改指令
1 2 3 4
| mov ebx, 0x0 je loc_100325e47
|
直接跳過判斷指令,來到最終目的。
- 儲存並輸出
- 拖回原位置,並取代
總結
此app對於購買流程的安全保護,幾乎可以說是零,對於一般攻擊者而言,很容易就可以完成了,另外也能使用插件的方式去hook相關方法再去繞過檢測,但如果熟悉匯編程式碼(assembly language),在操作繞過方面會比較簡易且快速,另外呼籲大家務必支持正版,杜絕盜版。