吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 1908|回复: 47

[C/C++] 有智慧的CrackMe

  [复制链接]
白云点缀的蓝 发表于 2021-8-25 14:10 | 显示全部楼层 |阅读模式

本帖最后由 starry、星空 于 2021-8-25 14:14 编辑

mycrcakme.png


crac.png

萌新的第一个CrackMe
https://www.52hb.com/thread-52041-1-1.html
(出处: 吾爱汇编论坛)



CrackMe下载地址:
下载地址:https://starrysp.lanzoui.com/i92mft585tg


下面是全部源码


[C] 纯文本查看 复制代码
#define  _CRT_SECURE_NO_WARNINGS 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include<time.h>
#include "decl.h"
int size1 = 256;
struct my_data
{
        char* buf;
        char* buf1;
        char* midstate;
        char* flag;
        int flagchange;
        int CNum;
        int flagTwo;
        int my_compareNum;
        int randNum;
}flag_All;
int my_mycompare() {
        my_compare();
        while (1)
        {
                if (flag_All.my_compareNum != -1) {
                        break;
                }
                my_compare();
        }
}
int  my_rand() {
        srand((unsigned)time(NULL));
        flag_All. randNum = rand() % 20;
        return EXIT_SUCCESS;
}

int My_malloc() {
                flag_All.buf = malloc(size1);
                flag_All.buf1 = malloc(size1);
                flag_All.midstate = malloc(size1);
        return EXIT_SUCCESS;
}
int init_data() {
        My_malloc();
        strcpy(flag_All.buf, "verygood\n");
        strcpy(flag_All.buf1, "nogodbad\n");
        strcpy(flag_All.midstate, "youcannotfindme\n");
        flag_All.flagchange = 0;
        flag_All.CNum = 3;
        return EXIT_SUCCESS;
}

int changeNum() {
        if (flag_All.flagchange == 1) {
                strcpy(flag_All.flag, flag_All.buf1);
        }
        else if(flag_All.flagchange==0)
        {
                strcpy(flag_All.flag, flag_All.buf);
        }
        else
        {

        }
        flag_All.flagchange = 666666;

        return EXIT_SUCCESS;
}

int init_rand() {
        my_mycompare();
        
        if ( flag_All.my_compareNum== 1) {
                flag_All.flag = malloc(size1);
                strcpy(flag_All.flag, flag_All.buf);
                flag_All.flagchange = 1;
                return EXIT_SUCCESS;
        }
        else if (flag_All.my_compareNum == 0)
        {
                        
                flag_All.flag = malloc(size1);
                strcpy(flag_All.flag, flag_All.buf1);
                flag_All.flagchange = 0;
                return EXIT_SUCCESS;
        }
        return EXIT_FAILURE;
}
int free_mem(struct my_data *mydata){

        if (mydata->buf != NULL) {

                free(mydata->buf);
        }
        if (mydata->buf1 != NULL) {
                free(mydata->buf1);
        }
        if (mydata->flag != NULL) {
                free(mydata->flag);
        }
        if (mydata->midstate != NULL) {

                free(mydata->midstate);
        }
        return EXIT_SUCCESS;
}
int main() {
        printf("%s\n", "本cm由白云点缀的蓝编写");
        init_data();
        init_rand();
        char buf[256] = {0};
        while (1)
        {        
                memset(buf,0,256);
                if (flag_All.CNum <= 0) {
                        break;
                }
                fgets(buf, size1,stdin);
                if (strcmp(flag_All.flag, buf) ==0 ) {
                        my_mycompare();
                        if (flag_All.flagchange == 666666||flag_All.flagTwo==1) {
                                printf("恭喜你,成功了\n");
                                break;
                        }
                        else if (flag_All.my_compareNum) {
                                printf("恭喜你,成功了\n");
                                break;
                        }
                        else
                        {
                                flag_All.CNum--;
                                if(!(flag_All.flagTwo == 1))
                                changeNum();
                                printf("失败了,不要灰心\n你还有%d次机会\n", flag_All.CNum);
                        }
                }
                else
                {        
                        flag_All.flagTwo=1;
                        flag_All.CNum--;
                        printf("失败了,不要灰心\n你还有%d次机会\n", flag_All.CNum);
                }
        }

        free_mem(&flag_All);
        system("pause");
        return EXIT_SUCCESS;

}

int my_compare() {
        my_rand();
        if (flag_All.randNum > 10) {
                flag_All.my_compareNum= 0;
        }
        else if(flag_All.randNum <10)
        {
                flag_All.my_compareNum= 1;
        }
        else
        {
                flag_All.my_compareNum = -1;
        }
        return -1;
}



[C] 纯文本查看 复制代码
#pragma once
extern int my_rand();
extern int init_data();
extern int init_rand();
extern int my_compare();
extern int changeNum();
extern int free_mem(struct my_data* mydata);
extern int My_malloc();
extern int my_mycompare();


评分

参与人数 8HB +6 THX +4 收起 理由
消逝的过去 + 1
后学真 + 1
飞刀梦想 + 1
zyyujq + 1
agan8888 + 1
zxjzzh + 2 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
king51999 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
pmm018 + 2

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
GRdlFyoXp 发表于 2022-2-25 07:22 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
IKfTXCG95807 发表于 2022-3-7 20:18 | 显示全部楼层

谢谢分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
zwd841 发表于 2022-3-8 11:47 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
nNDtsS316 发表于 2022-3-18 08:01 | 显示全部楼层

我现在已经把楼主作为我的学习目标了!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
OkPFH82 发表于 2022-3-18 08:15 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
xZHX 发表于 2022-3-18 08:36 | 显示全部楼层

可以多发一些这类内容吗?我很喜欢!!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
yOdGemW 发表于 2022-3-18 08:36 | 显示全部楼层

感谢楼主
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
fMb42 发表于 2022-3-24 04:16 | 显示全部楼层

支持一波~~
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
FqpiQwNxkvY 发表于 2022-3-25 08:29 | 显示全部楼层

感谢楼主
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层
7层
8层
9层
10层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

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