吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 610|回复: 16
上一主题 下一主题
收起左侧

[CrackMe] 最最最新手的CrackMe

[复制链接]
跳转到指定楼层
楼主
windofsummer 发表于 2026-8-4 20:54 回帖奖励
CM是什么?Crackme是什么?这是什么东西?楼主发的什么?
他们都是一些公开给别人尝试破解的小程序,制作 Crackme 的人可能是程序员,想测试一下自己的软件保护技术,也可能是一位 Cracker,想挑战一下其它 Cracker 的破解实力,也可能是一些正在学习破解的人,自己编一些小程序给自己破解,KeyGenMe是要求别人做出它的 keygen (序号产生器), ReverseMe 要求别人把它的算法做出逆向分析, UnpackMe 是要求别人把它成功脱壳,本版块禁止回复非技术无关水贴。

本帖最后由 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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册[Register]

x

免费评分

参与人数 3吾爱币 +12 热心值 +3 收起 理由
andy_wang425 + 1 + 1 谢谢@Thanks!
bobbylee0405 + 1 + 1 谢谢@Thanks!
涛之雨 + 10 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
qq465881818 发表于 2026-8-5 19:27
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int check_password(void)
{
    char* buf = (char*)calloc(100, 1);
    printf("Enter password:\n");
    scanf("%s", buf);

    int ret = strcmp(buf, "helloworld");
    if (ret == 0)
    {
        printf("Success!\n");
    }
    else
    {
        printf("Failure.\n");
    }

    system("pause");
    free(buf);
    return 0;
}



__int64 sub_1400010D0()
{
  char *Str1; // rbx
  int v1; // eax
  const char *Success__n; // rcx

  // 分配 0x64(100) 字节内存,calloc会初始化为0
  Str1 = (char *)calloc(0x64u, 1u);
  // 打印提示字符串 Enter password:\n
  sub_140001020("Enter password:\n");
  // 读取用户输入字符串到Str1,等价 scanf("%s", Str1);
  sub_140001080("%s", Str1);
  
  // 对比输入和硬编码密码 "helloworld"
  v1 = strcmp(Str1, "helloworld");
  
  Success__n = "Success!\n";
  if ( v1 != 0 )   // strcmp返回非0代表字符串不相等,密码错误
    Success__n = "Failure.\n";
  
  // 输出结果
  sub_140001020(Success__n);
  system("pause"); // Windows暂停,按任意键继续
  free(Str1);      // 释放堆内存
  return 0;
}
沙发
SONGXINGJING520 发表于 2026-8-5 09:04
3#
effendi 发表于 2026-8-5 09:54
4#
bobbylee0405 发表于 2026-8-5 10:15
好的,试一下,谢谢谢谢
5#
haio1186 发表于 2026-8-5 10:24
怪不得没人发回帖,楼主已经让CrackMe裸跑了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册[Register]

x
6#
manp 发表于 2026-8-5 10:57
原来是这样练习,思路:不管输入任何文字,if语句都跳转入成功的判断分支
7#
westgoo 发表于 2026-8-5 13:56
这样是不是也可以


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册[Register]

x
8#
shawn28 发表于 2026-8-5 14:27
这个要试一下,谢谢您分享。
9#
xzjue 发表于 2026-8-5 14:50
支持支持支持支持

免费评分

参与人数 1吾爱币 -2 收起 理由
PythonPan -2 请勿灌水,提高帖子质量是每位会员应尽的义务!

查看全部评分

10#
zZ怪 发表于 2026-8-5 16:03
这个入门怎么搞。直接用软件分析吗、
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - 52pojie.cn ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2026-8-6 05:02

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表