BCACTF 3.0 MISC&foren wp

funny game

misc

Google maze

f12 can slove

Sequences

show us the python script

sequence = [0, 1, 3, 6, 2]
numbers = [774, 5842, 4294, 9433, 5232, 1871, 3292, 4213, 2752, 5521, 4581, 3829, 2812, 2244, 3312, 7059, 2959, 8297, 7497, 1272, 2288, 160, 594, 158, 4833, 7140, 5352, 142, 3018, 9468, 5625, 4848, 2051, 3008, 4298, 6250, 144]
validPass = "ABCFEDFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123457890{}_"

def gensequence():
    for i in range(10000):
        # TODO write sequence generator for one of the most famous sequences and add it to sequence
        pass
    
gensequence()

for i in numbers:
    print(validPass[sequence[i]%len(validPass)], end="")

the hint is :Try looking for a list of the most famous sequences

wow,when i search 0 1 3 6 2 ,i found this link

Recaman’s sequence – GeeksforGeeks

ok,lets write script

exp.py

sequence = [0] * 10000
numbers = [774, 5842, 4294, 9433, 5232, 1871, 3292, 4213, 2752, 5521, 4581, 3829, 2812, 2244, 3312, 7059, 2959, 8297, 7497, 1272, 2288, 160, 594, 158, 4833, 7140, 5352, 142, 3018, 9468, 5625, 4848, 2051, 3008, 4298, 6250, 144]
validPass = "ABCFEDFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123457890{}_"

def gensequence():
    for i in range(10000):
        curr = sequence[i-1] - i
        for j in range(0,i):
            if ((sequence[j]==curr) or curr< 0 ):
                curr = sequence[i-1] +i
                break
        sequence[i] = curr

    
gensequence()

for i in numbers:
    print(validPass[sequence[i]%len(validPass)], end="")

solve!

图片[1]-BCACTF 3.0 MISC&foren wp-魔法少女雪殇

Blender Creation

010 editor open,At the bottom of the pic, you can saw a python script.

import bpy
from base64 import b64decode

bpy.ops.object.select_all(action="SELECT")
bpy.context.scene.cursor.location = (0, 0, 0)
bpy.ops.object.delete(use_global=False, confirm=False)
bpy.ops.object.camera_add(
    enter_editmode=False,
    align="VIEW",
    location=(0, 0, 0),
    rotation=(1.1169, 0.01420, 0.8269),
    scale=(1, 1, 1),
)
bpy.ops.transform.translate(
    value=(4.58569, -4.20269, 3.1699),
    orient_type="GLOBAL",
    orient_matrix=((1, 0, 0), (0, 1, 0), (0, 0, 1)),
)
bpy.ops.mesh.primitive_monkey_add(
    size=2, enter_editmode=False, align="WORLD", location=(0, 0, 0), scale=(1, 1, 1)
)
u =  "__"[1:] + 'x_N3r0f__'[2:-2][::-1]
yrsth = "b" + str(len(bpy.context.object.data.polygons[0].vertices) - 3) + str(len(bpy.context.object.data.polygons[2].vertices) - 1)+ "NdR__" +  "Xp_R3"[1::-1] + chr(len(bpy.context.object.data.polygons[3].vertices) + int(42.5*2)) + "YtH0"[1:-1] + str(len(bpy.context.object.data.polygons[5].vertices) ** 0 - 1) + "N_4ND" + u
bpy.ops.object.light_add(
    type="POINT", radius=1, align="WORLD", location=(0, -2.5, 0), scale=(1, 1, 1)
)
x = (
    int(
        0x0000000000000080
        + 0x0000000000000240
        + 0x0000000000000840
        - 0x0000000000000AC0
    )
    - 2
)
bpy.context.object.data.energy = 50
bpy.context.object.data.color = (1, 1, 0.69420)

a = (
    str(
        b64decode(
            (
                chr(x - 0x000000000000001)
                + chr(x - 0x000000000000001 * 10 // 2 + 6 - 6 % 4)
                + ("wemR3YhNmY")
            )[::-1]
        )
    )[:-1]
    + yrsth
    + "}"
)[2:]
bpy.data.curves.new(type="FONT", name="Font Curve").body = a
font_obj = bpy.data.objects.new(
    name="Font Object", object_data=bpy.data.curves["Font Curve"]
)
bpy.context.scene.collection.objects.link(font_obj)
font_obj.location = (0, 0.8, 1.2)
font_obj.rotation_euler = (90, 0, 0)
font_obj.scale = (0.75, 0.75, 0.75)

so,the a is the final flag,just print him is ok

print(a) can solve it .

foren

Broken Image

rename to png can solve

My New Friend

zsteg can solve ,ezgame

Superglue

funny game,

first,open by 010 editor,you can see jpg file header

图片[2]-BCACTF 3.0 MISC&foren wp-魔法少女雪殇

You can view the three internal file types by using the binwalk command

图片[3]-BCACTF 3.0 MISC&foren wp-魔法少女雪殇

so,we got there files,a png,jpg,and gif,

图片[4]-BCACTF 3.0 MISC&foren wp-魔法少女雪殇

seem like a paragraph is missing,when we saw chall file then I looked at the bottom of the file again, I saw a WebP-style text, so I extracted it to get the last text.

final flag is this.

图片[5]-BCACTF 3.0 MISC&foren wp-魔法少女雪殇

.bcapng

chall is give us width and height,so lets write python can solve it

from re import L
from PIL import Image
img = Image.new('RGB', (65, 79), (255, 255, 255))
w = 65
h = 79
bca = ''#01code
i = 0
for y in range(79):    
    for x in range(65):
        if bca[i] == '1':
            img.putpixel((x,y),(255,255,255))
            i+=1
        else:
            img.putpixel((x,y),(0,0,0))
            i+=1

img.show()
图片[6]-BCACTF 3.0 MISC&foren wp-魔法少女雪殇

Gerbert’s Secret

zsteg tooo…..

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情