新手破解练习Crackme160之067 - figugegl.2b
- 正常破解, 点击check按钮, 没有提示, OD加载打开搜索界面有看到成功字眼, 定位到0040143F, 向上找到方法入口00401367开始单步调试, 开始分析算法, 如下:
1). 系列号不能为空, 用户名长度不小于8位
2). 循环取用户名与循环变量异或
3). 注册码的长度与循环变量异或
4). 两个异或结果相加, 结果低位dl存起来 与注册码倒序位置的值比较
5). 由上面可得, 注册码的位数必须与用户名一致
注册机代码如下: keygen.c
#include <stdio.h>
#include "string.h"
int main() {
int len = 0;
char user[21] = {0};
while(len < 8){
printf("请输入用户名(8位以上): ");
scanf("%s", user);
len = strlen(user);
}
char code[len+1];
int edx;
for(int i=0; i<len; i++){
edx = (user[i] ^ i) + (len ^ i);
if(edx < 32) { edx += 32; }
if(edx >= 0x80) { edx = 32; }
code[len - 1 - i] = edx;
}
code[len] = 0;
printf("系列号为: %s\n\n按任意键继续~", code);
getchar();getchar();
return 0;
}
- 暴力破解, 当系列为空时,进入00401388这个跳转,并跳到程序最后,结束运行,所以将这个跳转跳到成功处即可, 将jmp 00401450改为jmp 00401437, 保存,暴破完成~
1~160每个破解过程,在吾爱破解论坛都有高手破解过了,也有整理好现成的, 我这边主要就是自己动手操作的过程,与他们的不太一样
附上高手们的连接: 点击前往查看
使用的工具连接(工具有点多有点大,可以先下OD,其它的后面慢慢下) 点击前往下载
新人入门教程"玩玩破解,写给新人看" 点击前往查看
我就是从这里开始的,对我这样的小白感觉超级友好~
下面是我的OD的界面布局,我觉得这4个是最常用的界面,其它的我基本上没用到~


浙公网安备 33010602011771号