CTF_RE典例

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 详解-优快云博客

[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:发现是数独游戏,不能一样嘛

那两个递归函数是一个二叉树的先序遍历和中序遍历,悲(

最近好几个题都遇到了二叉树 ,嗯,明天学了再继续写

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值