新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个是最常用的界面,其它的我基本上没用到~


浙公网安备 33010602011771号