新CrackMe160之051 - k4n

OD载入程序, 搜索界面直接定位到成功失败关键词, 向上找到方法入口即是按钮事件入口00401000, 接下来便是单步分析算法
1). 用户名得0x3~0x32位
2). 循环用户名: sum += user[i] ^ (i+1)
3). eax = (user[len-1] ^ len) * len
4). sum = sum << 7
5). rlt = sum + eax 与系列号对比
注册机:

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

int main() {
	char user[21] = {0};
	printf("用户名: ");
	fgets(user, sizeof(user), stdin);
	int i, eax, ebx = 0, len = strlen(user) - 1;
	for(i=0; i<len; i++){
		eax = user[i] ^ (i+1);
		ebx += eax;
	}
	eax *= 6;
	ebx = (ebx << 7) + eax; 
	printf("系列号: %X", ebx);
	
	getchar();
	return 0;
}

运行示例:
用户名: k4nk4n
系列号: 10CF0

 
 
本节高手录制的视频,点击前往查看

 
 
 

使用的工具连接(工具有点多有点大,可以先下OD,其它的后面慢慢下) 点击前往下载

下面是我的OD的界面布局,我觉得这4个是最常用的界面,其它的我基本上没用到~
OD界面布局

posted @ 2024-12-19 13:49  hankerstudio  阅读(3)  评论(0)    收藏  举报