160个CrackMe002
生活随笔
收集整理的這篇文章主要介紹了
160个CrackMe002
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
文章目錄
- 查殼
- 分析程序
- 校驗結(jié)果
- 寫出注冊機
查殼
程序使用Virtual Basic寫的 無殼
分析程序
程序是使用用戶名和序列號的方式加密
載入OD 隨便輸入一個用戶名和密碼
來到第一處關(guān)鍵校驗處 校驗過程如下
1. 求出了用戶名的長度
2. 將用戶名長度乘以0x17CFB 得到結(jié)果 如果溢出則跳轉(zhuǎn)
3. 將結(jié)果再加上用戶名的第一個字符的ASCII
4. 將結(jié)果轉(zhuǎn)為十進制
5. 將結(jié)果和AKA進行拼接 得到最后的序列號
校驗結(jié)果
輸入我們計算的一組序列號 注冊成功
寫出注冊機
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include <stdlib.h> #include <windows.h> int main() {//密碼char key1[4] = "AKA";//輸入用戶名char username[10] = { 0 };printf("請輸入用戶名:");scanf_s("%s", username, 10);//1\. 取長度int iUsernameLen = strlen(username);//2\. 將用戶名長度乘以0x17CFB 得到結(jié)果int result = iUsernameLen * 0x17CFB;//3\. 將結(jié)果再加上用戶名的第一個字符的ASCIIresult = result + username[0];//4\. 將結(jié)果轉(zhuǎn)為十進制 此步驟省略//5\. 拼接序列號char key[MAX_PATH] = { 0 };sprintf(key, "%s-%d", key1, result);//打印序列號printf("生成的序列號為:%s\n", key);system("pause");return 0; }
至此 002分析完成
需要源文件和udd的可以到我的Github下載:https://github.com/TonyChen56/160-Crackme
總結(jié)
以上是生活随笔為你收集整理的160个CrackMe002的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 开源一个自写的病毒技术工具集
- 下一篇: 汇编之浮点数处理(CrackMe003前