[ACTF新生赛2020]SoulLike 题解

简介: [ACTF新生赛2020]SoulLike 题解

进入主函数,要输入一个flag,格式是actf{}

关键函数sub_83A

直接进入函数会报错,不能正确反编译

将配置文件中hexrays.cfg

MAX_FUNCSIZE 修改为1024

修改后保存

比较大,需要反编译一会

进入了函数中

这是将输入的flag进行了3000行的异或之后与存储的字符串进行比较

我们可以将这些异或代码逆序粘贴来实现逆向过程,但是工作量有点大

可以使用pwntools直接穷举所有可能的11位字符串进行穷举爆破

from pwn import *
flag = "actf{"
k = 0
for n in range(12):
    for i in range(33,127):
        p = process('./SoulLike')
        _flag = flag + chr(i)
        print(_flag)
        p.sendline(_flag)
        s = p.recvline().decode()
        if "on #" in s:
            r = int(s.split("on #")[1].split("\n")[0])
            if r == k+1:
                print(s)
                flag += chr(i)
                k += 1
        p.close()
print(flag)

 

flag{b0Nf|Re_LiT!}

 

相关文章
|
数据安全/隐私保护
[羊城杯 2020]easyre 1题解
buuctf-[羊城杯 2020]easyre 1题解
562 0
[羊城杯 2020]easyre 1题解
[WMCTF2020]easy_re 题解
[WMCTF2020]easy_re 题解
265 0
[LitCTF 2023]debase64-入土为安的第十八天
[LitCTF 2023]debase64-入土为安的第十八天
139 0
|
10月前
|
算法 安全 数据安全/隐私保护
BUUCTF-[2019红帽杯]easyRE(Reverse逆向)
本文详细介绍了对一个无壳的64位ELF文件进行逆向分析的过程。首先通过IDA查找关键字符串定位主函数,然后逐步分析函数逻辑,包括读取输入、异或操作等。接着通过多次Base64解码和异或操作,最终得到了关键的flag。整个过程涉及数组寻址、条件判断和函数调用等技术细节,展示了CTF竞赛中常见的逆向工程技巧。最后附上了完整的Python代码实现,帮助读者理解和复现。
620 1
BUUCTF-[2019红帽杯]easyRE(Reverse逆向)
|
10月前
|
安全 数据安全/隐私保护 Python
BUUCTF-[GUET-CTF2019]re(Reverse逆向)
本文介绍了如何对一个带有UPX壳的ELF文件进行逆向分析。首先通过010Editor确认文件类型和壳的存在,接着使用Free UPX工具进行脱壳。脱壳后在IDA中加载文件,通过字符串查找和交叉引用跟踪定位关键函数。最终利用Python的z3库解决约束问题,得到flag。过程中还遇到了Python版本兼容性问题,并通过重新安装z3-solver解决。最终flag为`flag{e165421110ba03099a1c039337}`,经MD5解密验证为`233`。
373 0
BUUCTF-[GUET-CTF2019]re(Reverse逆向)
[HDCTF2019]Maze(初识逆向)
[HDCTF2019]Maze(初识逆向)
459 1
|
存储 数据安全/隐私保护
[网鼎杯 2020 青龙组]jocker 题解
[网鼎杯 2020 青龙组]jocker 题解
333 0
|
数据安全/隐私保护
CTF — 压缩包密码爆破
CTF — 压缩包密码爆破
1039 0
攻防世界toddler_regs菜鸟周更
攻防世界toddler_regs菜鸟周更
152 0
|
数据安全/隐私保护
[UTCTF2020]babymips 题解
[UTCTF2020]babymips 题解
232 1