[GXYCTF2019]luck_guy

下载后先查壳

无壳,64位用ida打开

找到main函数分析看看

如果输入的幸运数字为偶数,则进入get_flag函数

shift+12找到f1

继续分析代码

所以顺序应该是4,5,1

case4将f2和s进行拼接,但去查找f2为空

小端序存储:

即最低地址存放的最低字节

ELF文件通常使用小端序存储

IDA会把内存中的数据自动转化为大端序存储

所以此处s要反过来

所以f2 为icug`of\x7F

根据case5写个脚本逆向推理

case5对f2进行了一个减法操作


flag = 'do_not_'
f2 = "icug`of\x7F"
vi = []
for i in range(8):
    if i%2 == 1:
        vi.append(ord(f2[i])+i-2)
    else:
         vi.append(ord(f2[i])+i - 1)

    flag += chr(vi[i]-i)
print(flag)

得到flag{do_not_hate_me}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值