1. PEID查壳

VB5 无壳

没壳,直接拉到od开扣

2. Crack

套取字符串标志

选一个短的字符串开始查找,就选Try Again

跳到了明显的信息框创建位置

在该分支的开头push ebp处下硬件断点,步进到下图所示push eax处发现库函数strlen调用,参数为输入的用户名。之后将字符串长度移到edi中,并将其乘上了0x17CFB,结果保存在了edi中。

乘法运算

继续向下执行,程序在这一段取得了输入用户名的第一个字符的ASCII码,并将其与之前的乘法运算结果相加。之后再对VB函数vbaStrI4的调用,将其转换为了十进制字符串。

结果相加

继续向下运行,在此处发现了明显的字符串拼接与比较。拼接结果为AKA-[转换的十进制字符串]

字符串拼接

测试后得到结果正确。

成功

CrackMe02 – Afkayas.1.exe Crack成功。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main () {
	//AKA-DEC(Name.len * 0x17cfb + Name[0])
	char name[100];
	puts("AfKayAs #1 CrackMe KeyGen");
	printf("Input Name to be registered:");
	scanf("%s", name);
	printf("Your serial is: AKA-%d\n", strlen(name) * 0x17cfb + name[0]);
	system("pause");
	return 0;
}
20/10/17