新CrackMe160之046 - mfykm1
-
脱壳
UPX壳,PEiD通用无法去壳,使用UPXTool+.exe去壳成功 -
破解
OD载入脱壳后程序, 搜索界面直接定位到Enter your key: 004014EC处, 入口0040147E下好断点,就可以F9运行了,
00401487 ~ 004014DB就是作者的算法
1). eax = (0xF + 0xF) >> 4 << 4 = 0x10 => [local.2] (这个好像没用)
2). 004014A8处通过获取电脑用户名,电脑名称,电脑版本号,这三者计算字符串长度 "Administrator , DESKTOP-RUHU8VO , 6.2 build 9200 " => 0x31
3). 版本号的3个数值 eax = 9200 * 0xCDD + 2 * 6 + 9200 - 2 + 9200,
注册机代码:
#include <stdio.h>
#include <windows.h>
int main() {
// 获取系统版本号
OSVERSIONINFOEX osvi;
ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX));
osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
if(GetVersionEx((OSVERSIONINFO *) &osvi)) {
printf("Version: %u.%u Build %u\n", osvi.dwMajorVersion, osvi.dwMinorVersion, osvi.dwBuildNumber & 0xFFFF);
printf("Key: %u\n", (osvi.dwBuildNumber & 0xFFFF) * (0xCDD + 2) + osvi.dwMinorVersion * (osvi.dwMajorVersion - 1));
} else {
printf("Error getting version.\n");
}
getchar();
return 0;
}
运行示例:
Version: 6.2 Build 9200
Key: 30314010
使用的工具连接(工具有点多有点大,可以先下OD,其它的后面慢慢下) 点击前往下载
下面是我的OD的界面布局,我觉得这4个是最常用的界面,其它的我基本上没用到~


浙公网安备 33010602011771号