XCTF 3rd-GCTF-2017 hackme

一.查壳的老生常谈了。。2分的题目就不多bb了。
二.。elf文件,拖入ida,直接查找字符串,找到对应的函数
在这里插入图片描述
三.直接分析:
在这里插入图片描述

这里讲道理我当时很懵逼,因为进去这个函数后,发现伪码非常复杂,这里困了挺久了,看了wp才知道,这玩意
应该是一个随机数,在021中,同时代码还提到了22这个数字,猜测是flag对应的长度,所以应该是这里
然后才能猜测到的,然后这里又有个坑,循环只有10次,肯定是无法得到完整的flag的,所以在脚本中,要凑满22个。

四.
代码:

by=[0x5F, 0xF2, 0x5E, 0x8B, 0x4E, 0x0E, 0xA3, 0xAA, 0xC7, 0x93, 0x81, 0x3D, 0x5F, 0x74, 0xA3, 0x09, 0x91, 0x2B, 0x49, 0x28, 0x93, 0x67, 0x00]
flag=""
for i in range(22):
    v9=0
    v8=0
    v4=i+1
    v6=by[i]
    while v8<v4:
        v8+=1
        v9=v9*1828812941+12345

    flag+=chr((v9^v6)&0xff) //起到一个保险作用,这样就不会超过0xff
print(flag)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值