吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 710|回复: 6
收起左侧

[求助] 用C++写一个控制台CrackME,参数是 -iLOVEyou

[复制链接]
冥界3大法王 发表于 2024-3-22 10:44
如输入的是 “我爱你”
回馈,“注册成功!”
否则    “再见吧,你哩!”


或用 Delphi实现 ( 不晓得鸭 ,参数咋弄)

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
DawnXi + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

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

爱飞的猫 发表于 2024-3-22 11:14
c/c++ 的 main 入口函数,有 argc 是参数数量和 argv 是具体的参数数组。索引 0 项是自身路径。

你可以将 char* 指针包装成 std::string 然后直接用 == 比对。

免费评分

参与人数 1吾爱币 +1 收起 理由
冥界3大法王 + 1 用心讨论,共获提升!

查看全部评分

solly 发表于 2024-3-22 11:20
[Delphi] 纯文本查看 复制代码
program Project1;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils;

var
  i: Integer;
begin
  try
    { TODO -oUser -cConsole Main : Insert code here }
  // 输出命令行参数的数量
  Writeln('命令行参数数量:', ParamCount);
   // 输出每个命令行参数的值
  for i := 1 to ParamCount do
  begin
    Writeln('参数 ', i, ': ', ParamStr(i));
  end;
   //Readln;
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.

免费评分

参与人数 1热心值 +1 收起 理由
冥界3大法王 + 1 佩服solly牛啥都会。。

查看全部评分

zzhlei 发表于 2024-3-22 11:23
感谢你的分享,让我在思考和分析时有更多的思路和方法。
jjTest007 发表于 2024-3-22 11:58
本帖最后由 jjTest007 于 2024-3-22 12:06 编辑

[C++] 纯文本查看 复制代码
#include <iostream>
#include <string>
int main(int argc, char* argv[]) {
        if (argc != 3) {
                std::cout << "使用方法: " << argv[0] << " -iLOVEyou " << "输入参数" << std::endl;
                return 1;
        }

        std::string option = argv[1];
        std::string correctOp = "-iLOVEyou";
        std::string inputPar = argv[2];
        std::string password = "我爱你";
        std::string resMsg = "注册成功!";
        std::string errMsg = "再见吧,你哩!";

        if (option == correctOp && inputPar== password) {
                std::cout << resMsg << std::endl;
        }
        else {
                std::cout << errMsg << std::endl;
        }

        return 0;
}

517.png

免费评分

参与人数 1吾爱币 +2 收起 理由
冥界3大法王 + 2 谢谢@Thanks!

查看全部评分

gzsklsskszngc 发表于 2024-3-22 12:08
[Asm] 纯文本查看 复制代码
#include <iostream>
#include <string>

int main(int argc, char* argv[]) {
    std::string input;

    if (argc > 1 && std::string(argv[1]) == "-iLOVEyou") {
        std::cout << "请输入密码:";
        std::cin >> input;

        if (input == "我爱你") {
            std::cout << "注册成功!" << std::endl;
        } else {
            std::cout << "再见吧,你哩!" << std::endl;
        }
    } else {
        std::cout << "无效的参数,请使用 -iLOVEyou 运行程序。" << std::endl;
    }

    return 0;
}

免费评分

参与人数 1吾爱币 +2 收起 理由
冥界3大法王 + 2 谢谢@Thanks!

查看全部评分

DEATHTOUCH 发表于 2024-3-22 12:27
法王还是文档看的有点少呀,ParamCount和ParamStr这俩就是对标了C的main入口点的argc和argv
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-24 17:29

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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