商业版CrackMe 5星难度 地狱级
https://www.52pojie.cn/thread-2068647-1-1.html
兄弟,别在更新3.0了,真的没时间玩啊。

image.png (202.76 KB, 下载次数: 0)
下载附件
2025-10-30 18:39 上传
首先我们拿到程序样本,载入OD。如下图

image.png (215.07 KB, 下载次数: 0)
下载附件
2025-10-30 18:41 上传
然后随便输入密码,下GetWindowTextW 点ok OD断下。

image.png (389.39 KB, 下载次数: 0)
下载附件
2025-10-30 18:44 上传
断下后回溯,发现代码完全被vm了,vm的很严重,这对于我一个新手来说是一个极大的挑战。

image.png (327.08 KB, 下载次数: 0)
下载附件
2025-10-30 18:46 上传
然后我开始一行一行的分析这个vm代码。
在我分析了差不多10分钟之后。
我发现了他的算法流程。
CryptAcquireContext获取CSP上下文
CryptCreateHash创建哈希对象
CryptHashData哈希数据
CryptGetHashParam获取哈希值
分析到了这里,我似乎有了思路
原来是哈希啊
于是,我在CryptGetHashParam下断,随便输入密码,运行后执行到Ret
得到哈希值,如下图

image.png (415.94 KB, 下载次数: 0)
下载附件
2025-10-30 18:49 上传
然后我们对哈希值下访问断点,断在了一个比较关键位置
如下图,他在与程序启动时的哈希值做比较

image.png (380.55 KB, 下载次数: 0)
下载附件
2025-10-30 18:53 上传
在这里可以替换哈希值啥的或者执行到返回后eax置1也行
或者启动时固定他的哈希值也行,总之都行
然后就成功了解开了

image.png (292.71 KB, 下载次数: 0)
下载附件
2025-10-30 18:55 上传

image.png (183.77 KB, 下载次数: 0)
下载附件
2025-10-30 18:57 上传

