160个Crackme040
文章目錄
- 分析程序
- 找到響應(yīng)事件
- 添加簽名 導(dǎo)出map文件
- 分析算法
- 寫(xiě)出注冊(cè)機(jī)
- 校驗(yàn)結(jié)果
【軟件名稱(chēng)】:DaNiEl-RJ.1.exe
【軟件大小】:216KB
【下載地址】:https://github.com/TonyChen56/160-Crackme
【加殼方式】:無(wú)殼
【保護(hù)方式】:Name/Serial
【編譯語(yǔ)言】:Delphi
【調(diào)試環(huán)境】:W10 64
【使用工具】: OD+IDA+Darkde
【破解日期】:2019-05-04
【破解目的】:純屬興趣
分析程序
Delphi的程序利用OD+IDA+Darkde的黃金組合破解起來(lái)可以說(shuō)是相當(dāng)簡(jiǎn)單了。因?yàn)槌绦蚴怯脩?hù)名和序列號(hào)的保護(hù)方式,所以直接找到按鈕事件分析算法。
找到響應(yīng)事件
首先打開(kāi)Darkde
通過(guò)窗體找到按鈕名,
再到過(guò)程窗口根據(jù)按鈕名找到響應(yīng)事件
添加簽名 導(dǎo)出map文件
將文件拖入IDA,添加所有的Delphi簽名
然后導(dǎo)出map文件
接著將map文件導(dǎo)入到OD
可以很清楚的看到已經(jīng)IDA的符號(hào)已經(jīng)被導(dǎo)入進(jìn)來(lái)了。
然后直接去到按鈕響應(yīng)事件,分析注冊(cè)算法
分析算法
隨便輸入一個(gè)用戶(hù)名和序列號(hào),開(kāi)始分析算法,在IDA中算法邏輯如下
下面進(jìn)行逐步講解
直接在42D556循環(huán)結(jié)束后下斷點(diǎn),可以看到最后拼接的結(jié)果
根據(jù)比較的結(jié)果提示是否注冊(cè)成功
寫(xiě)出注冊(cè)機(jī)
這個(gè)算法還是相對(duì)比較簡(jiǎn)單的,直接寫(xiě)出注冊(cè)機(jī),代碼如下
#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("請(qǐng)輸入用戶(hù)名:");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; }校驗(yàn)結(jié)果
輸入用戶(hù)名和計(jì)算的序列號(hào),提示注冊(cè)成功 破解完成
需要注冊(cè)機(jī)和相關(guān)文件可以到我的Github下載:https://github.com/TonyChen56/160-Crackme
總結(jié)
以上是生活随笔為你收集整理的160个Crackme040的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 160个Crackme039
- 下一篇: 160个Crackme041之无源码修改