Crackme #1

在這裏插入圖片描述
nop破解
上OD,字符串搜索,直接搜索提示錯誤的字符串然後找到這個位置
在這裏插入圖片描述
往上邊找一下發現是跳轉來的,直接nop就可以成功破解。

序列號生成分析
找到函數頭,一段執行排除沒什麼用的操作,發現到了這個函數
在這裏插入圖片描述
查看返回值EAX,發現是獲取輸入的用戶名長度
在這裏插入圖片描述
在來分析下邊的指令,將用戶名長度乘以0x17CFB
執行的那個CALL是獲取用戶名第一個字符的數值
後邊是將乘以的值再加上第一個字符的數值

中間直接省略掉沒什麼意義的操作,發現到下邊的函數
在這裏插入圖片描述
查看壓入的數值,堆棧窗口發現有意思的數值,看樣子這個函數應該就是生成序列號的函數
在這裏插入圖片描述
查看返回值,發現這段數據非常像序列號,輸入測試,正確。

然後再寫我們的註冊機

#include "stdafx.h"

int main(int argc, char* argv[])
{
	char buf[MAX_PATH];
	
	printf("輸入用戶名(自動生成序列號):");
	scanf("%s", buf);

	int num =  0x17CFB * strlen(buf);
	int num2 = (int)buf[0];
	num = num + num2;

	printf("AKA-%d\n", num);

	return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章