PZCTF Xor
分组异或
0,1,2,3 不变, 4 , 5 ,6,7只异或Str[0], 8,9,10,11要先后异或Str[0],Str[1]
s = [0x50, 0x5a, 0x43, 0x54, 0x16, 0x2b, 0x11, 0xf, 0x3b, 0x63,0x7e, 0x7e, 0x78, 0x2c, 0x16, 0x3a, 0x71, 0x2e, 0x2e, 0x6d, 0x72, 0x76]
for i in range(len(s) - 1, -1, -1):
# for j in range(int(i / 4) - 1, -1, -1): #不管是先异或 a b c还是 c b a都可以
for j in range(int(i / 4)):
s[i] ^= s[j]
for i in range(len(s)):
print(chr(s[i]), end = "")
# 当一个数异或多个数时 如 a ^ b ^ c ^ d = e
# 那么当他要反过来推回来 不管是正着异或 e ^ b ^ c ^ d 还是倒过来 e ^ d ^ c ^ b 答案都为 a
穿山甲 SMC
base变表
pyc反编译
有时候uncompyle6后会报错,可能是文件头的问题,要找到对应python版本对应的。
需要conda工具创建环境
Python Uncompyle6 反编译工具使用 与 Magic Number 详解-CSDN博客
[GUET-CTF2019]number_game
macOS 系统中的一个隐藏文件夹,通常在压缩文件(如 ZIP)中会出现。这个文件夹主要用于存储与文件系统相关的元数据,例如资源派生信息、文件权限等。
__int64 __fastcall sub_400807(__int64 a1, __int64 a2)
{
__int64 result; // rax
result = a1;
if ( a1 )
{
sub_400807(*(_QWORD *)(a1 + 8), a2);
*(_BYTE *)(a2 + dword_601080++) = *(_BYTE *)a1;
return sub_400807(*(_QWORD *)(a1 + 16), a2);
}
return result;
}
进行了递归调用
看了一下别人的wp:发现是数独游戏,不能一样嘛
那两个递归函数是一个二叉树的先序遍历和中序遍历,悲(
最近好几个题都遇到了二叉树 ,嗯,明天学了再继续写