程序有明显弹框 猜测调用MessageBoxA 或者MessageBoxW 直接在这个函数下断点
加函数断点 bp MessageBoxA 在点击成功步入到断点位置 肯定是多调用 继续出函数看调用位置
或者直接看调用栈
返回调用是成功发现
知道了登录成功失败的调用call 直接还原代码
代码比较简单 几分钟看完
还原成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"); } }