buu reverse2

这个题下载文件后直接解压拖入ida64中查看main函数f5后得到伪代码如下图在这里插入图片描述
通过对代码的分析可以知道这段代码大致的意思就是:
将你输入的字符串存放到argv中用argv和代码中的flag变量进行比较,相同就得到flag。但是代码中19行到23行对flag变量进行了操作将flag变量中存放的字符串中等于‘i’和‘r’的项转变为了‘1’
所以我们直接上脚本:

a = "{hacking_for_fun}"        #flag变量中存放的字符串
flag = ""                      #我们要得到的最终结果
for i in range(0,len(a)):      #模拟操作过程将字符串中等于‘i’和‘r’的项转变为了‘1’
    if (ord(a[i]) == 105 or ord(a[i]) == 114):
        flag += chr(49)
    else:
        flag +=a[i]
print(flag)                     #输出最终的结果

在这里插入图片描述
得到flag{hack1ng_fo1_fun}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值