REVERSE-PRACTICE-CTFSHOW-8

REVERSE-PRACTICE-CTFSHOW-8

Matara Okina

apk文件,jadx-gui打开
MainActivity什么都没有,来到FlagActivity
scheme,host这些看不懂
第44行有个ans和bytes的比较,ans已知,bytes是从某个地方获得的参数,然后对bytes做异或运算
apk-main
写脚本得到bytes

ans="@lgvjocWzihodmXov[EWO"
ans_num=[ord(c) for c in ans]
for i in range(0,(len(ans_num)+1)/2):
    ans_num[i]^=(i+1)
    index=len(ans_num)-1-i
    ans_num[index]^=(i+1)
print("".join(chr(i) for i in ans_num))
# Android_scheme_is_FUN

在真机上安装apk,运行后发现没有可以输入的地方,应该是和scheme,host这些东西相关
参考:re学习笔记(71)大吉杯DJBCTF - re - 部分WP
创建一个空的.txt文件,构造链接

<a href="sh0w://p4th/70/1nput?secret=Android_scheme_is_FUN">获取flag</a>

将.txt文件后缀改成.html
在真机上启动apk后,再打开新建的.html文件,即可获得flag

flag{sh0w://p4th/70/1nput?secret=Android_scheme_is_FUN_1635b71e036d}

anniu

灰色按钮克星一把梭
anniu-flag

warmup

64位elf,ida打开
main函数中,读取输入,长度为48,且均为小写字母a-f或数字0-9
将输入填入数独中的0xFF处
最后校验数独
warmup-main
网上找到一个sudoku16_solver.py脚本可以解16*16的数独
空缺的地方用"-“表示
warmup-sudo
找到在”-"处填入的正确字符,即可组成flag

f1=open("D:\\ctfdownloadfiles\\map.txt","r")
f2=open("D:\\ctfdownloadfiles\\map_solved.txt","r")
flag=""
line1=f1.readline()
line2=f2.readline()
while line1 and line2:
    for i in range(len(line1)):
        if line1[i]!=line2[i]:
            flag+=line2[i]
    line1 = f1.readline()
    line2 = f2.readline()
print(flag)
# 765c98e78644507b8dfb1552693e467871026d26ba03c175

e

32位elf,ida打开
main函数,加载krnln.so,调用.so中的RunPrg函数
e-main
运行elf后输入,调试,输入"aaaa",一路n,来到下图所示处,找到一个字符串"DDDJJJBBBRRREEE"
e-flag
找到的字符串即为flag
e-flag

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

P1umH0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值