RE_Python

python的exe文件解包

要确保使用工具的环境是和Python version一样(我这里是需要3.11)

不然,ezpy.exe_extracted文件夹点进去,类似PYZ-00.pyz_extracted的文件夹会是空的!!

pyc反编译问题

ImportError: Unknown magic number 3495 in test.pyc_unknown magic number 3338 in-优快云博客

在Python3.7及以上版本的编译后二进制文件中,头部除了四字节Magic Number,还有四个字节的空位和八个字节的时间戳+大小信息,后者对文件反编译没有影响,全部填充0即可;
Python3.3 - Python3.7(包含3.3)版本中,只需要Magic Number和八位时间戳+大小信息
Python3.3 以下的版本中,只有Magic Number和四位时间戳。

Python 2.7: \x03\xf3\x0d\x0a\0\0\0\0
 
Python 3.0: \x3b\x0c\x0d\x0a\0\0\0\0
 
Python 3.1: \x4f\x0c\x0d\x0a\0\0\0\0
 
Python 3.2: \x6c\x0c\x0d\x0a\0\0\0\0
 
Python 3.3: \x9e\x0c\x0d\x0a\0\0\0\0\0\0\0\0
 
Python 3.4: \xee\x0c\x0d\x0a\0\0\0\0\0\0\0\0
 
Python 3.5: \x17\x0d\x0d\x0a\0\0\0\0\0\0\0\0
 
Python 3.6: \x33\x0d\x0d\x0a\0\0\0\0\0\0\0\0
 
Python 3.7: \x42\x0d\x0d\x0a\0\0\0\0\0\0\0\0\0\0\0\0
 
Python 3.8: \x55\x0d\x0d\x0a\0\0\0\0\0\0\0\0\0\0\0\0
 
Python 3.9: \x61\x0d\x0d\x0a\0\0\0\0\0\0\0\0\0\0\0\0
 
Python 3.10: \x6f\x0d\x0d\x0a\0\0\0\0\0\0\0\0\0\0\0\0

[LitCTF 2024]ezpython!!!!!

最后反编译 pyc 那有点问题就没搞出来,唉

难度是时间戳的问题?

唉,也是没想到去网上找一个在线网站就行了啊!!!

应该就是 base64,但导入了一个Litctfbase64 估计是自定义 base,密码表可能会变。

就要去 PYZ-00.pyz_extracted 文件夹里去找该模板,就在该目录下:

然后就秒了

pyc丢失文件头还是文件头不对

对于我们用 pyinstxtractor 解包,python version 不一致是可能会在 pyc 文件生成时,头部的 

magic number 被清理,需要我们自己加上。

有个python列表推导式

sum([flag[23] for _ in range(flag[23])])

  1. range(flag[23]): range() 函数会创建一个整数序列,从 0 开始到 flag[23] - 1 结束。这里 flag[23] 可能是一个整数,它决定了 range() 序列的长度。
  2. for _ in range(flag[23]): 这是一个循环,它会遍历 range() 生成的整数序列。在循环中,_ 是一个占位符,表示这个循环中的迭代次数,并不使用这个值。
  3. flag[23]: 这是列表推导式中的表达式部分,它指定了要放入列表的值,即 flag 列表中索引为 23 的元素。
  4. [flag[23] for _ in range(flag[23])]: 这是一个列表推导式,它会根据 range() 生成的序列重复添加 flag[23] 这个值到列表中。
  5. sum(...): 这个函数会对列表中的所有元素求和。

即flag[23]**flag[23]

sum([flag[24] for _ in range(222)])
flag 列表中索引为 24 的元素重复 222 次,并将结果求和

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值