您的位置:首页 > 健康 > 美食 > 新160个crackme - 046-keyme1

新160个crackme - 046-keyme1

2024/12/27 8:12:38 来源:https://blog.csdn.net/qq_41483767/article/details/141845281  浏览:    关键词:新160个crackme - 046-keyme1

运行分析

在这里插入图片描述

  • 需要破解key

PE分析

在这里插入图片描述

  • upx壳,32位

在这里插入图片描述

  • upx -d mfykm1.exe 脱壳成功

在这里插入图片描述

  • 再次用Exeinfo PE分析,发现是C++程序

静态分析&动态调试

在这里插入图片描述

  • ida打开就发现了主函数和key
  • osver是获取系统信息函数
  • osver.dwMajorVersion:高版本号
  • osver.dwMinorVersion :次版本号
  • osver.dwBuildNumber: build号
if (osver.dwMajorVersion == 5 && osver.dwMinorVersion == 0) {os_name = "Windows 2000";}  
else if (osver.dwMajorVersion == 5 && osver.dwMinorVersion == 1){os_name = "Windows XP";}
else if (osver.dwMajorVersion == 6 && osver.dwMinorVersion == 0){os_name = "Windows 2003";}  
else if (osver.dwMajorVersion == 5 && osver.dwMinorVersion == 2){os_name = "windows vista";}  
else if (osver.dwMajorVersion == 6 && osver.dwMinorVersion == 1){os_name = "windows 7";}
else if (osver.dwMajorVersion == 6 && osver.dwMinorVersion == 2){os_name = "windows 10或11";}

在这里插入图片描述

  • 查看到本机数据
  • osver.dwBuildNumber = 0x23f0
  • osver.dwMinorVersion = 2
  • osver.dwMajorVersion = 6

算法分析

dwBuildNumber = 0x23f0
dwMinorVersion = 2
dwMajorVersion = 6key = dwBuildNumber + dwBuildNumber + dwMajorVersion * dwMinorVersion - dwMinorVersion + 3293 * dwBuildNumber
flag = str(key)print("key为:  " + flag)

在这里插入图片描述
在这里插入图片描述

  • 验证成功

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com