新CrackMe160之150 - mucki - crackme2

  1. 去防调试
    OD载入程序单步运行发现程序都会进入到防调试的弹框界面, 看到第一行就是一个方法, 可以大胆猜测它就是验证方法, 看到下面有个DialogBoxParamA, 我们尝试直接跳转下去,
    所以把第一行改为jmp 0040106A, 单步运行程序, 不再有弹框了, 运行正常, 将修改另存为新程序

  2. 破解
    重新载入修改后程序, 搜索界面看到了成功关键词0040125E, 上面就是一个关键对比, 我们可以直接断点在此处,拿到正确的系列号
    继续往上看就是关键算法,
    ecx += (((user[i] << 4) ^ (user[i] >> 5)) + 0x26) ^ ecx
    eax = 0xC0DEF - ecx
    eax = eax * eax
    code = "CM2" + ecx + eax
    注册机:

#include <stdio.h>
#include <string.h>

int main() {
	int i, len, eax, ecx = 0; 
	char user[30] = {0};
	printf("用户名: "); scanf("%s", user); getchar();
	len = strlen(user);
	for(i=0; i<len; i++){
		ecx += (((user[i] << 4) ^ (user[i] >> 5)) + 0x26) ^ ecx;
	}
	eax = 0xC0DEF - ecx;
  	eax = eax * eax;
	printf("系列号: CM2-%X-%X\n", ecx, eax);
	getchar();
	return 0;
}

运行示例:
用户名: crackme2
系列号: CM2-14BB7-BFB8EC40

 
 
本节高手录制的视频,点击前往查看

 
 
 
使用的工具连接(工具有点多有点大,可以先下OD,其它的后面慢慢下) 点击前往下载

下面是我的OD的界面布局,我觉得这4个是最常用的界面,其它的我基本上没用到~
OD界面布局

posted @ 2024-12-31 09:24  hankerstudio  阅读(0)  评论(0)    收藏  举报