NewStarCTF 2024 Week1

本文最后更新于 2024年11月29日 下午

复现复现!猫猫虫真可爱捏 :)

Simple_encryption

ida 打开

主要逻辑是根据输入的字符串长度,如果j%3==0 ,那么就将输入的索引为j 的值减去 31,如果 j%3==1,加上41,如果 j%3==2,那么和 0x55 异或。然后值与 buffer 数组相比较,一样就成功,所以点进数组提取数据。

可以写出 python 脚本

1
2
3
4
5
6
7
8
9
10
11
12
buffer = [0x47, 0x95, 0x34, 0x48, 0xA4, 0x1C, 0x35, 0x88, 0x64, 0x16,
0x88, 0x07, 0x14, 0x6A, 0x39, 0x12, 0xA2, 0x0A, 0x37, 0x5C,
0x07, 0x5A, 0x56, 0x60, 0x12, 0x76, 0x25, 0x12, 0x8E, 0x28,
0x00, 0x00]
for i in range(len(buffer)):
if i % 3 == 0:
buffer[i] += 0x1f
if i % 3 == 1:
buffer[i] -= 0x29
if i % 3 == 2:
buffer[i] ^= 0x55
print(chr(buffer[i]), end='')

ezAndroidStudy

我记得之前在哪个师傅博客看到过说先看 .xml 文件的 activity 可以快速找到。

对于 apk 文件可以先拖进模拟器运行看看里面是什么样的,然后看看提示

所以查看 AndroidManifest.xml,看见 activity 只有 work.pangbai.ezandroidstudy.Homowork.pangbai.ezandroidstudy.MainActivity

拿到 flag1

看下一个

resources.arsc/res/value/string.xml 找到了

继续看下一个

/layout/activity_main.xml 里的 activity_main.xml

查找 flag4

打开 /res/raw 发现目录下有个 flag4.txt

flag 5

需要逆向 so 层,那么将 .so 提取出来,可以使用apktool

1
apktool d ezAndroidStudy.apk -o "需要生成的文件夹"

"/lib/x86_64/libezandroidstudy.so"丢进 ida 反编译就出来了

ez_debug

根据题目丢进 x64dbg 动调

首先查找字符串,看看有没有可以字符串,可以发现有一些 flag 字样

Decrypted flag 处下个断点运行,得到结果

太喜欢逆向了有种做不出来但又想做的崩溃感


NewStarCTF 2024 Week1
http://example.com/2024/11/11/复现1/
作者
butt3rf1y
发布于
2024年11月11日
许可协议