Buuctf-luck_guy

查壳,发现是64位 进ida分析

看看都有些啥 发现只有patch_me有东西

分析一下patch_me

当为奇数时,程序会说 just finished //这不是我们想要的

当为偶数时,会进入get_flag函数

用 r 键将那串看不懂的东西转换成 char 类型

因为时小端存储 所以字符应该为 icug`of\x7F     \\ x7F反过来好像是因为ascii码表x7F代表的是del键 x7f不用带入也能算出flag可能也是这个原因

分析一下

发现case4 将 s 与 f2 拼接 但是s2 里面什么都没有

 case5 对 f2 进行处理

 case1 把 f1 和 f2 进行拼接并告诉你这是flag

去看看 f1 是啥

 这是在hex-view 里的,不用进行小端存储   //好像是内存?

把对 f2 的处理写一个脚本并与 f1 拼接得出flag

s = 'icug`of' #千万要注意IDA的字符是反向存储的!!!

str = list(s) #将s进行分割转化为元组

flag = 'GXY{do_not_'

for j in range(len(str)):

    if  j % 2 == 1:

        flag += chr(ord(str[j]) - 2)

    else:

        flag += chr(ord(str[j]) - 1)

print(flag)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值