新CrackMe160之029 - figugegl.1
与旧版065相同
- 正常破解, 作者说不要暴力破解, 好吧, 我们尊重一下作者, 先正常破解, 点击check按钮, 没有提示, OD加载打开搜索界面有看到成功字眼, 定位到0040136C, 看到了上面的循环, 便是算法了, 再上面是两个文本框的读取, 那就开始分析算法吧, 用户名得5位以上, 注册码没验证位数, 00401351开始循环读取用户名与注册码, 它们一位位对比, if(注册码[i] - i == 用户名[i]){继续} else{失败}, 到这里就很明显了, 如用户名是12345, 那注册码就是11111
#include <stdio.h>
#include <string.h>
int main() {
char user[21] = {0};
printf("用户名: ");
fgets(user, sizeof(user), stdin);
int i, len = strlen(user) - 1; //最后一个\n
if(len < 5){
printf("用户名5位以上");
return 0;
}
for(i=0; i<len; i++){
user[i] = user[i] - i;
}
printf("系列号: %s\n", user);
getchar();
return 0;
}
运行示例:
用户名: 12345
系列号: 11111
- 暴力破解, 习惯动作, 还是操作一下吧, OD关键字搜索定位到第一个关键跳00401335 , 改为 jmp 0040136A 进入成功分支, 保存, 搞定~
使用的工具连接(工具有点多有点大,可以先下OD,其它的后面慢慢下) 点击前往下载
下面是我的OD的界面布局,我觉得这4个是最常用的界面,其它的我基本上没用到~