《加密與解密》筆記五(二)

(筆記內出現的API都是沒有加上參數的,細節需要去MSDN查看)

1:

KeyFile保護,這個就是一個密鑰保護,類似於WinRAR的一個密鑰機制,就是通過一個Key(後綴,名稱都可以由軟件開發者定義)來儲存某些授權信息來達到收費的目的。
這個Key一般情況都有1K,當然越大越好(太大的話可能會要很長時間來驗證,也不太好),因爲這樣就可以有很多的一些垃圾信息來混淆破解者,並且可以把密鑰分段,每一段對應某一些功能,並且對於註冊的內容我們可以採取非常複雜的運算,並不侷限於單純的異或等,當然,這個文件最好和軟件中的關鍵代碼或數據發生關係,使其不能像上一篇筆記一樣的通過修改返回值,跳轉等來達到暴力破解。

1:

相關API這裏對上面筆記的做一些補充:

FindFirstFile()//確定文件存在性的
CreateFile() _lopen()//確定文件存在性並獲得句柄對其操作
GetFileSize() //確定文件的大小
GetFileAttributes()//獲得文件的註冊屬性
ReadFile()  //讀取文件內容

2:

破解思路:
1:通過檢測軟件對文件的操作知道待破解軟件的目標Key文件的名字等信息(一般爲FileMon等軟件)
2:僞造一個Key文件並向內填充一些方便計算的數據(1234等方便觀察和辨認的),填充過程最好不要用Windows自帶的普通的文本編輯器。
3:在調試器裏對CreateFile,ReadFile來檢測,看兩者的文件句柄的相關性(相同則表明打開的是Key否則就不是)
4:我們要注意一些特殊的軟件首先對文件的大小等特徵的檢查,以便創建一個“完全符合要求”的一個僞造的Key

2:

網絡驗證,這個就是一個類似於登陸QQ等的操作。

1:

相關的API:(Socket的)

send()//發送
recv()//接收

2:

破解思路:
這個我們一般就是對數據包進行分析(對send設斷(發送數據包端)對recv設斷(接受數據端))
具體的過程得自己親自找相關的練習題來做了。

發佈了46 篇原創文章 · 獲贊 24 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章