本帖最后由 windofsummer 于 2026-8-5 00:08 编辑
随手写的一个比较新手的CrackMe,它是我写来带我的朋友入门逆向的
软件使用C++编写,代码如下:
#define _CRT_SECURE_NO_WARNINGS
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
const char* expected_password = "helloworld";
int main()
{
char* password = (char*)calloc(100, sizeof(char));
printf("Enter password:\n");
scanf("%s", password);
if (strcmp(password, expected_password) == 0)
{
printf("Success!\n");
system("pause");
}
else
{
printf("Failure.\n");
system("pause");
}
free(password); // 释放内存,好习惯!
return 0;
}
密码就是helloworld,当输入正确时会提示Success!,输出错误时会提示Failure.
破解要求如下:需要在输入任意文本均可以提示Success时代表破解成功。仅仅获得明文密码不算,因为将此程序拖入所有的逆向工具都可以看到明文密码
本题的难点在于我编译时加了一些可能影响逆向的编译参数,你需要排除编译器给你的干扰成功破解本题,加油吧
祝你好运!
附件压缩包哈希如下:
CRC32: 187ce2a2
CRC64: c005f151129f46e6
MD5: e79afc07ec1a3d2501e1ece49af4ae78
RIPEMD160: fb2fdaa878a27a791e33cdd88115c7209c13db81
SHA1: 42bdf046bfc363fb84b100241a23748272a0abd3
BLAKE2S: fc1749e660f3b459472d337b799677809ccb188e0da928d166568eff62ac852d
SHA256: 7ccdc37f9578eabfa4d50d9aed8738daac24f22eab7287f3c7c4fc8329c9945b
SHA3_256: faa32082746c7eab175286132716f8795dcacbd871529f6d5ee180cfa0620463 |