Reverse
checker
主函数逻辑很简单,就是先输入然后调用check
验证函数,调用了加密函数,然后用加密结果去和密文比较,密文已经给了,直接dump就行
encrypted_flag
加密函数`encrypt_flag,逐位亦或0x23
解密脚本
data = [
0x72, 0x6B, 0x60, 0x77, 0x65, 0x58, 0x46, 0x46,
0x15, 0x40, 0x14, 0x41, 0x1A, 0x40, 0x0E, 0x46,
0x14, 0x45, 0x16, 0x0E, 0x17, 0x45, 0x42, 0x41,
0x0E, 0x1A, 0x41, 0x47, 0x45, 0x0E, 0x46, 0x42,
0x13, 0x14, 0x46, 0x13, 0x10, 0x17, 0x45, 0x15,
0x42, 0x16, 0x5E
]
xor_value = 0x23
result_chars = ''.join(chr(byte ^ xor_value) for byte in data)
print("flag:", result_chars)
# flag: QHCTF{ee6c7b9c-e7f5-4fab-9bdf-ea07e034f6a5}
note
查壳,upx -d直接可以脱掉
主函数,对dest加密得到密文s2,将得到的密文和输入的密码进行check,dest直接dump,注意这里是43字节
加密函数,这里进行了两次亦或,v6是小端序,四字节42 37 A1 7C
解密脚本
key = [0x42, 0x37, 0xA1, 0x7C]
dest = [0x12, 0x7D, 0xE1, 0x2C, 0x01, 0x4A, 0xC4, 0x45, 0x78, 0x5E, 0xC9, 0x46, 0x78, 0x5D, 0x83, 0x0F, 0x37, 0x12, 0xD0, 0x45, 0x63, 0x42, 0xD5, 0x57, 0x76, 0x14, 0xDE, 0x06, 0x6E, 0x04, 0x8F, 0x3E, 0x50, 0x21, 0xE1, 0x3B, 0x53, 0x72, 0xB7, 0x6C, 0x5D, 0x79, 0xF7]
a2 = []
for i in range(len(dest)):
tmp = dest ^ key[i % 4]
tmp = tmp ^ (i + 1)
a2.append(chr(tmp))
result = ''.join(a2)
print("flag: ",result)
# flag: QHCTF{b13cc67d-cd7b-4cc3-9df1-1b34cc4c186d}
rainbow
附件给了加密密文
直接进hide_flag()函数
加密是直接亦或了0x5A
解密脚本
hex_string = "0B12190E1C213B6268686C6B6A69776F3B633B776E3C3B6D773B38393C773E3F3B6E69623B6D393F6D6227"
byte_array = bytes.fromhex(hex_string)
xor_key = 0x5A
result = bytearray()
for byte in byte_array:
result.append(byte ^ xor_key)
result_hex = result.hex()
result_string = result.decode(errors='ignore')
print("flag:", result_string)
# flag: QHCTF{a8226103-5a9a-4fa7-abcf-dea438a7ce78}
Misc
QHCTF For Year 2025
给了hint,发现数字都是不超过31的,并且分为了10组
还给了一个日历
将数字在日历上对应,可以得到flag
QHCTF{FUN},注意最后是N,区别前面的H
你能看懂这串未知的文字吗
拿到图片去百度识图,找到羊文对应字母表
翻译过来是szfpguwizgwesqzoaoerv
比赛的时候没去扫图片,其实图里面藏了秘钥qihangbeiiseasy
拿工具去跑,发现是维吉尼亚密码
QHCTF{cryptoveryeasybysheep}
PvzHE
拿到附件观察日期,images目录下找到最近修改的一张图片,可以直接发现flag
QHCTF{300cef31-68d9-4b72-b49d-a7802da481a5}
__启动!
tcp流135中找到url
直接访问可以下载log文件,记事本打开
QHCTF{69b62b46-de2f-4ac2-81f7-234613d25cfb}
猿类的编程语言你了解吗
给了jpg图片
jphs去seek密码为空点击OK
保存后得到一个文件,内容为
.. .. .. .. .. .. .. .. .. .. !? .? .. .? .. .. .. .? .. .. .. .. .. .. .. .? .. .. .. .. .. .. .. .. .. .. ?. ?. ?. ?. !! ?! .? .? .? .. .. .. .. .. .. .. .. .. .. .. !. !! !! !! !! !! !! !! !! !! !. !! !! !! !! !! !. .? !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !. ?. .. .. .. !. .? .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. !. ?. ?. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. !. .? .? !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !. ?. ?. .. .. .. !. !. .? .? !. ?. ?. !! !! !! !! !! !. .? .? .. !. ?. ?. .. .. .. .. !. !! !! !! !! !! !! !! !. .? .? !! !! !! !! !. ?. ?. .. .. .. .. .. .. .. .. !. .? .? !. ?. ?. .. .. .. .. !. !! !! !! !! !! !! !! !! !! !! !! !! !. .. .. .. .. .. .. .. !. !! !! !! !! !. .? .? .. .. .. .. !. !! !! !! !! !. ?. ?. !! !! !! !. .. .. .. .. .. .. .. .. .. .. .. !. !! !! !! !! !! !! !! !! !. .? .? .. .. .. .. .. !. ?. ?. .. .. .. .. !. !! !! !! !! !! !! !! !. .? .? !! !! !! !! !. .. !. ?. ?. .. .. .. .. .. .. !. .. .. .. !. !! !! !! !! !! !! !. .. .. .. !. .? .? !! !! !. ?. ?. !! !! !! !. .? .? .. .. .. .. !. !! !! !! !! !. ?. ?. .. .. .. !. .. .. .. .. .. .. !. .? .? .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. !.
Ook!解密
QHCTF{2d55d0e4-a5a9-40ea-80f4-bc3603a0ea39}
forensics
E01文件需要磁盘挂载+仿真
参考:
https://blog.csdn.net/NDASH/article/details/109295885
https://blog.csdn.net/youyou519/article/details/106859820
挂载用Arsenal Image Mounter
挂载后物理机上可以显示对应挂载磁盘
仿真:Save as new image file导出vmdk文件,用VM(以管理员身份运行)开启虚拟机即可
win01
win02
后门账户HackY$,密码与登录密码相同123456,这个其实有点猜的成分,不知道还有什么其他好方法,欢迎大家指点
QHCTF{fb484ad326c0f3a4970d1352bfbafef8}
win04
win+r+regedit打开注册表,进去就可以看到flag
QHCTF{c980ad20-f4e4-4e72-81a0-f227f6345f01}
win05
win06
win07
在HackY$的桌面上发现flag.zip文件
解压需要密码,提示在环境变量中
打开环境变量发现解压密码
解压后是一段base64,去拿工具解码,得到flag
QHCTF{6143b46a-8e98-4356-a9b2-251a7ec19e51}
漏出的题目
Admin桌面上有一个Hacker_.exe文件
python写的exe文件,用pyinstxtractor解包
拿工具反编译1.pyc
加密逻辑为:AES(ECB) + base64 + xor + base64
解密将上述加密逆过来即可
QHCTF{8b0c14a8-5823-46fd-a547-0dcdc404a7ed}