新CrackMe160之123 - keygenme - inf1
OD载入程序,搜索界面定位到成功关键词00401648,在方法入口00401550下好断点,开始分析算法
关键算法在00401616,
注册机如下:
#include <stdio.h>
#include <string.h>
int main() {
char user[51] = {0};
printf("用户名: ");
scanf("%s", user); getchar(); //消耗掉多输入的\n
int i,len = strlen(user);
unsigned int eax = 0x29A, esi;
for(i=0; i<len; i++){
esi = (user[i] ^ 0xDADA) + eax;
eax = ~ (user[i] ^ 0xBABE);
eax = eax + esi * 4;
eax = eax >> 3;
eax = eax + (user[i] ^ 0xF001);
}
eax += 0x28F;
eax = eax % 0x1234;
for(i=0; i<0x10001; i++){
if(eax * i % 0x10001 == 1){
break;
}
}
printf("系列号: %X\n", i);
getchar(); return 0;
}
运行示例:
用户名: KeyGenMe-iNF1
系列号: BCFB
使用的工具连接(工具有点多有点大,可以先下OD,其它的后面慢慢下) 点击前往下载
下面是我的OD的界面布局,我觉得这4个是最常用的界面,其它的我基本上没用到~


浙公网安备 33010602011771号