selph
selph
发布于 2022-08-09 / 171 阅读
0
0

新160个CrackMe练习:033-dccrackme1

算法难度:⭐⭐

爆破难度:⭐

信息收集

运行情况:

打开是一个弹窗:

image

然后才显示窗口

image

查壳与脱壳:

无壳:

image

调试分析

Delphi程序,Check按钮逻辑:

获取Name,计算一个值,转字符串,和Serial比对

image

注册机

注册码生成算法:

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>

int main()
{
	char name[100] = { 0 };
	char serial[100] = { 0 };
	int len = 0;
	int check = 0;

	std::cin >> name;
	len = strlen(name);
	for (int i = 0; name[i]; i++)
	{
		char tmp = name[i];
		check += (tmp - 0x17) * (tmp - 0x11);
	}

	_itoa(check,serial,10);
	std::cout << serial;
}

效果:

image


评论