• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

CrackMe01

开发技术 开发技术 5小时前 3次浏览

CrackMe01

 

 程序有明显弹框 猜测调用MessageBoxA 或者MessageBoxW 直接在这个函数下断点

CrackMe01

加函数断点 bp MessageBoxA  在点击成功步入到断点位置 肯定是多调用 继续出函数看调用位置
CrackMe01

 

 

或者直接看调用栈

CrackMe01

 

 返回调用是成功发现 

CrackMe01

 

知道了登录成功失败的调用call 直接还原代码

代码比较简单 几分钟看完

CrackMe01

 

 CrackMe01

 

 

 CrackMe01

 

还原成c代码

 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>



int main(void)
{
    char name[255] = { 0 };
    char pass[255] = { 0 };
    int test = 0;
    scanf("%s %s", &name, &pass);

    if (strlen(name)<4)
    {
        printf("lose");
    }

    test = (int)name[0];
    test*= 41;
    test *= 2;

    sprintf(name, "CW-%d-CRACKED", test);

    if (strcmp(name, pass)==0)
    {
        printf("succeed");
    }
    else
    {
        printf("lose");
    }



}

 

 

 


程序员灯塔
转载请注明原文链接:CrackMe01
喜欢 (0)