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修改了
然後儲存就可以了
成功破解
最後跳出的介面天數這些都沒了
最後是成功了
雖然是藉助了教程部落格,貴在學習嘛