刘功瑞的博客

有一天你突然惊醒,发现这一切,都只不过是一场梦。

攻防世界 XCTF Reverse APK-逆向2 Writeup

image.png

运行提示

image.png

使用ilspy反编译看到源码中的ip和端口,使用nc在本地监听该端口,就能得到flag

image.png

image.png

CTF{7eb67b0bb4427e0b43b40b6042670b55}


还有一种解法,直接按程序流程执行,得到flag,遇到一个问题,写法不同得到的结果不同

# encoding=utf-8
import io

text = "Super Secret Key"
file_name = '4122e391e1574335907f8e2c4f438d0e.exe'
flag = ''
f = io.open(file_name, "r", encoding='unicode-escape')
data = f.read()
f.close()

for i in text:
    for j in range(len(data)):
        if i == data[j]:
            value = j * 1337 % 256
            value = '%02x' % value
            flag += value
            break

print 'CTF{' + flag + '}'
#CTF{7eb67b0bb4427e0b43b40b6042670b55}
#这是正确的写法
# encoding=utf-8
import io

text = "Super Secret Key"
file_name = '4122e391e1574335907f8e2c4f438d0e.exe'
flag = ''
f = io.open(file_name, "rb") #这是错误的写法,主要是在读取文件的编码上面有问题
data = f.read()
f.close()

for i in text:
    for j in range(len(data)):
        if i == data[j]:
            value = j * 1337 % 256
            value = '%02x' % value
            flag += value
            break

print 'CTF{' + flag + '}'
#错误 CTF{7eb67b0bb4427e0b43b40b6042a00b8e}
#这是错误的写法


发表评论:

Powered By Z-BlogPHP 1.5.2 Zero

Copyright www.liugongrui.com.All Rights Reserved.