160个Crackme040
生活随笔
收集整理的這篇文章主要介紹了
160个Crackme040
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 分析程序
- 找到響應事件
- 添加簽名 導出map文件
- 分析算法
- 寫出注冊機
- 校驗結果
【軟件名稱】:DaNiEl-RJ.1.exe
【軟件大小】:216KB
【下載地址】:https://github.com/TonyChen56/160-Crackme
【加殼方式】:無殼
【保護方式】:Name/Serial
【編譯語言】:Delphi
【調試環境】:W10 64
【使用工具】: OD+IDA+Darkde
【破解日期】:2019-05-04
【破解目的】:純屬興趣
分析程序
Delphi的程序利用OD+IDA+Darkde的黃金組合破解起來可以說是相當簡單了。因為程序是用戶名和序列號的保護方式,所以直接找到按鈕事件分析算法。
找到響應事件
首先打開Darkde
通過窗體找到按鈕名,
再到過程窗口根據按鈕名找到響應事件
添加簽名 導出map文件
將文件拖入IDA,添加所有的Delphi簽名
然后導出map文件
接著將map文件導入到OD
可以很清楚的看到已經IDA的符號已經被導入進來了。
然后直接去到按鈕響應事件,分析注冊算法
分析算法
隨便輸入一個用戶名和序列號,開始分析算法,在IDA中算法邏輯如下
下面進行逐步講解
直接在42D556循環結束后下斷點,可以看到最后拼接的結果
根據比較的結果提示是否注冊成功
寫出注冊機
這個算法還是相對比較簡單的,直接寫出注冊機,代碼如下
#include "pch.h" #define _CRT_SECURE_NO_WARNINGS #include <windows.h> #include <stdio.h>int main() {char username[20] = { 0 };char serial[20] = { 0 };printf("請輸入用戶名:");scanf_s("%s", username, 20);for (int i = 0; i < strlen(username); i++){serial[i] = username[i] + 5;}printf("%s\n", serial);system("pause");return 0; }校驗結果
輸入用戶名和計算的序列號,提示注冊成功 破解完成
需要注冊機和相關文件可以到我的Github下載:https://github.com/TonyChen56/160-Crackme
總結
以上是生活随笔為你收集整理的160个Crackme040的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 160个Crackme039
- 下一篇: 160个Crackme041之无源码修改