新CrackMe160之096 - xtFusion - k1

C写的命令行程序,OD直接加载运行程序,在00401300处下好断点,下面即为算法,直接写注册机,对着看吧,比较简单

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

int main() {
	char user[16] = {0};
	printf("用户名: ");
	fgets(user, sizeof(user), stdin);
	int edx, i, len = strlen(user) - 1, l5=0x4A, l6 = 0x60FF58, l7=0x401220, l8=0;
    ////////
	char filepath[1024] = {0};
	GetModuleFileNameA(NULL, filepath, 1024);
    l5 = strlen(filepath) + 8 + 2;
    ////////
	user[len] = 0;
	for(i=0; i<len; i++){
		edx = user[i];
		edx = ((edx << 2) + edx) << 4;
		l5 = l5 + edx;
		edx = (l5 + l6) ^ 0x32;
		l6 = edx;
		l7 = l7 + edx * 4;
		l8 = l6 + l7 + l5;
		//printf("l5: %08X\nl6: %08X\nl7: %08X\nl8: %08X\n\n",l5,l6,l7,l8);
	}
	
	printf("注册码: %x", l8);
	getchar();
	return 0;
}

运行示例:
用户名: xtfK1
注册码: 84a5bfc (l5=77)
Dos命令行运行才能看到成功结果,直接双击运行不会停下来,一闪就没了

后记:
上面注册机中的l5并不是固定值, 重新跟踪可得 l5 = strlen("当前exe完整路径") + 8 (包含前后"号), 所以注册机需要放到程序同目录且名称长度与程序名称长度一样就可以

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

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

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

posted @ 2024-12-30 14:31  hankerstudio  阅读(8)  评论(0)    收藏  举报