新CrackMe160之054 - vcrkme01
OD载入程序, 搜索界面直接定位到成功关键词00401271, 向上可直接看到关键算法00401257,下好断点,F7进去分析算法
1). 对比用户名与注册码第一位是否相同
2). 用户是否5位以上
3). 注册码第2位是否0x2D
4). 用户名循环累加: sum += user[i]
5). sum += 0x6064 转整形
6). 取用户名第1位与最后一位与sum用-号连起来
7). sum += 0x6064 转整形, 继续用-连起来
8). 结果与注册码对比
注册机:
#include <stdio.h>
#include <string.h>
int main() {
char user[21] = {0};
printf("用户名: ");
fgets(user, sizeof(user), stdin);
int i, sum = 0, len = strlen(user) - 1;
char c1 = user[0], c2 = user[len-1];
for(i=len-1; i>=0; i--){
sum += user[i];
}
sum += 0x6064;
if((c2 >= 0x61) && (c2 <= 0x7A)) c2 -= 0x20; //转大写
printf("系列号: %c-%c%d-%d", c1, c2, sum, sum+0x6064);
getchar();
return 0;
}
运行示例:
用户名: abcde
系列号: a-E25171-49847
使用的工具连接(工具有点多有点大,可以先下OD,其它的后面慢慢下) 点击前往下载
下面是我的OD的界面布局,我觉得这4个是最常用的界面,其它的我基本上没用到~


浙公网安备 33010602011771号