手動破解之010Editor

ReTCyc1e發表於2024-07-12

010Editor v14.0.1(64-bit)

前言

在脫殼練習中使用了010Editor這款軟體,只能使用30天,於是就想去破解一下
第一次破解正規稍大一點的軟體,沒什麼經驗
這個程式是沒有加殼的,輕鬆修改資料
一開始是想繞過這個30天的檢測,想去找這個模組方法的,修改了幾個函式跳轉,結果程式崩了
沒有經驗,就像大海撈針,沒頭沒緒
最後還是得搜一搜找篇部落格學習一下

010 Editor 快速破解方法
https://www.52pojie.cn/thread-1695625-1-1.html
(出處: 吾愛破解論壇)

這位師傅的思路方法是:不去分析註冊碼,而是把註冊標誌標記為已註冊,軟體就是成功註冊的狀態

破解速度很快的,先看效果
破解前

破解後(測試:修改系統時間到2050年,有效)

第一步找目標

破解思路:010 Editor在啟動時,會檢查註冊狀態,如果未註冊,會提示是試用版,在這個提示處設斷點,尋找破解線索

首先,使用工具讓010Editor.exe程式的基地址固定,方便除錯測試修改

選擇固定PE基址,儲存匯出就可以了

開啟x64dbg
透過x64dbg除錯發現,是這個視窗先跳轉出來的,也就是啟動時的試用版提示

然後我們透過字元搜尋Evaluation,找到"Evaluation Version\n"

搜尋之後發現有4個地址存在這個字元

進一步驗證,發現它們在同一個模組(函式)裡的,只是分支不同
我們選擇一個地址進入,找到函式頭部

然後下個斷點,執行
測試是否會執行到這裡
我這裡斷點下在0x00000014037614F,然後執行

可以看到rip停在到了0x00000014037614F,那就是這裡沒錯了

找到註冊標誌

還是這個地址0x00000014037614F,右擊開啟圖表

大一點的流程圖長這樣

可以看到分支指令

cmp     ebx, 0xDB
jnz     0x1403762D2 // 結果不為零(或不相等)則轉移

分析得知,ebx = 0xDB,表示成功註冊標誌

找到註冊標誌後,改程式流向是無效的,必須找到設定註冊標誌的公共函式呼叫call,在函式呼叫call裡邊改程式流向,才能真正實現破解

這個程式中,判斷註冊標誌指令是cmp ebx, 0xDB,它上面的CALL是一個模組外的系統子程式呼叫

修改註冊標誌

我們要找到所有的註冊標誌cmp ebx, 0xDB

複製搜尋指令

結果只有一條

之後發現是用了別的暫存器

cmp eax,DB //3D DB 00 00 00

用這個指令搜尋發現有7處進行了比對

依次點選進去看看

這四處在比較DB的上一步,都呼叫了同一個函式0x140008652
也就是說是這個函式影響了暫存器eax的值
所以接下來要對這個函式進行修改

點選進行發現是跳轉表,接著跟進

進入0x140375D80

發現都是對暫存器eax賦值的

je 010editor_no.140375DA5
mov eax,113

防止它亂賦值,這裡先修改je跳轉,然後修改eax,於是

je 010editor_no.140375D95
mov eax,DB

修改成這樣

我這裡補丁不上,我這裡就用ida修改了

然後儲存就可以了

成功破解

最後跳出的介面天數這些都沒了

最後是成功了
雖然是藉助了教程部落格,貴在學習嘛

相關文章