close

逆向分析010 editor0x01 什麼是010 editor

010 Editor 是一款專業的文本編輯器和十六進制編輯器,旨在快速輕鬆地編輯計算機上任何文件的內容。該軟件可以編輯文本文件,包括 Unicode 文件、批處理文件、C/C++、XML 等,但 010 Editor 擅長的地方在於編輯二進制文件。二進制文件是計算機可讀但人類不可讀的文件(如果在文本編輯器中打開,二進制文件將顯示為亂碼)。十六進制編輯器是一個程序,允許您查看和編輯二進制文件的各個字節,包括 010 編輯器在內的高級十六進制編輯器還允許您編輯硬盤驅動器、軟盤驅動器、內存密鑰、閃存驅動器、CD-ROM、 流程等。

官網地址:https://www.sweetscape.com/010editor/

0x02 OD暴力破解

在軟件逆向破解的過程中,OD暴力破解是比較有效的方式,通過修改jcc指令或者nop掉一些跳轉讓程序按照正確的流程走下去。

主要流程大概是:1、尋找關鍵函數;2、分析整體流程;3、修改程序驗證邏輯。

本次測試的010 editor版本為v13.0

首先查殼

既然無殼那就直接上OD

首先我們要找到註冊的函數,首次下載010 editor可以試用30天,點擊註冊按鈕

程序會讓輸入用戶名和註冊碼,隨便輸入試試

程序會提示無效的用戶名和密碼,可以根據程序提示的內容來找到對應的函數

通過OD的中文搜索引擎-智能搜索功能查找對應字符串

找到對應的字符串,跟進函數

跟進後可以看到,程序執行到輸出無效的用戶名和密碼處,是通過一個跳轉到該位置的,繼續往上跟看看是那個地方跳轉

發現是從0x0144B62A位置處跳轉過來的,這樣的話是否可以直接修改jcc執行來讓程序不跳轉呢

改成je試下,改成je後發現不對,程序會執行到0x0144B6C6的位置,提示Password accepted but the trial period is already over,那麼就繼續往上跟蹤

在跳轉前邊有三個cmp指令,其中0x0144B60D是從0x0144B4E2處跳轉來的

在0x0144B4E2處下斷點調試一下

在這裡發現0x0144B51D的位置會輸出Password accepted,所以這裡把jnz改成je或者nop掉就可以了

保存出來看一下

可以看到輸入任意的內容已經激活成功,但是這樣的話每次打開都需要點擊一下check license,那麼繼續看看能不能讓程序直接打開。

首先來梳理一下正常的邏輯程序是怎麼運行的:首先在0x0030B3FC的位置處EAX和0xE7進行比較,此時EAX的值為0xE7,所以je跳轉成立,程序運行到0x0030B4DC處,cmp ebx,0xDB,這時候EBX的值為0x177,jnz不等於則跳轉,所以此時跳轉成立,跳轉到0x0030B60D的位置處,這個時候程序已經跳過了驗證成功的地方,繼續執行,有三個cmp語句後跟jcc跳轉指令,cmp ebx,0xED和cmp ebx,0x20C,這時EBX的值還是0x177,所以兩個je都沒有跳轉,運行到第三個cmp指令cmp eax,0x93的位置,EAX此時的值為0xE7,這裡是jnz指令所以跳轉成功,跳轉到0x0030B6E8的位置,輸出無效的用戶名密碼,驗證函數到此結束。

通過上面的分析當EBX等於0xDB的時候程序才會走到驗證成功的位置,也就是說想要程序不每次運行都彈驗證框,需要直接將0xDB賦給EBX

返回到0x0030B3FC的位置繼續往上跟蹤可以看到EBX的值就是EAX的值,所以需要將0xDB賦給EAX,那麼需要繼續跟蹤看看EAX的值是誰賦給的,在0x0030B3E9的位置處下斷點,F8執行,發現在執行call 0x0013808A的時候EAX的值發生了變化,所以直接跟進call裡面

在開頭直接給EAX賦值,mov eax,0x2d retn 0x8

最後把程序dump出來,發現程序直接打開就能使用了也不用每次都點擊驗證了。

0x03 總結

其實010 editor對於新手逆向來說還是挺友好的,沒有加殼,然後整個函數的邏輯也算比較清晰,更改起來也很簡單,以後有時間的還是要研究一下註冊驗證的算法,然後寫個註冊機出來。

參考文章:逆向分析商業軟件 010 Editor 及註冊機編寫

E



N



D



知識星球產品及服務

團隊內部平台:潮汐在線指紋識別平台 | 潮聽漏洞情報平台 | 潮巡資產管理與威脅監測平台 | 潮汐網絡空間資產測繪 | 潮聲漏洞檢測平台 | 在線免殺平台 | CTF練習平台 | 物聯網固件檢測平台 | SRC資產監控平台| ......

星球分享方向:Web安全|紅藍對抗|移動安全|應急響應|工控安全|物聯網安全|密碼學|人工智能|ctf 等方面的溝通及分享

星球知識wiki:紅藍對抗|漏洞武器庫| 遠控免殺| 移動安全| 物聯網安全| 代碼審計| CTF | 工控安全| 應急響應| 人工智能| 密碼學| CobaltStrike | 安全測試用例| ......

星球網盤資料:安全法律法規| 安全認證資料| 代碼審計| 滲透安全工具| 工控安全工具| 移動安全工具| 物聯網安全| 其它安全文庫合輯| ......

掃碼加入一起學習吧~

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 鑽石舞台 的頭像
    鑽石舞台

    鑽石舞台

    鑽石舞台 發表在 痞客邦 留言(0) 人氣()