Python字节码中的扩展参数

Python字节码中的扩展参数,python,python-3.x,reverse-engineering,bytecode,Python,Python 3.x,Reverse Engineering,Bytecode,我有一个Python字节码文件,但没有原始的.py文件。我试着运行它。但是,它会引发一个错误[1]5811分段错误python flag5.pyc。我知道,如果我删除下面的所有的代码> ExtDeDug ARG,它将是一个列表:“代码> A= [ 1,12,921737,…,1,12] < /COD>。但是,在字节码中有许多 ExpDeldAg,它们在 LoopyOnthist指令的中间。 因此,(1)它可以是什么python代码? (2) 如何计算BUILD\u LIST大小以避免分段错误

我有一个Python字节码文件,但没有原始的.py文件。我试着运行它。但是,它会引发一个错误
[1]5811分段错误python flag5.pyc
。我知道,如果我删除下面的所有的代码> ExtDeDug ARG<代码>,它将是一个列表:“代码> A= [ 1,12,921737,…,1,12] < /COD>。但是,在字节码中有许多<代码> ExpDeldAg<代码>,它们在 LoopyOnthist指令的中间。 因此,(1)它可以是什么python代码?
(2) 如何计算
BUILD\u LIST
大小以避免分段错误

 LOAD_CONST           (1)
 LOAD_CONST           (12)
 EXTENDED_ARG         1 (256)
 LOAD_CONST           (9)
 LOAD_CONST           (217)
 LOAD_CONST           (376)
 EXTENDED_ARG         1 (256)
 ...
 LOAD_CONST           (1)
 LOAD_CONST           (12)
 EXTENDED_ARG         9 (2304)
 EXTENDED_ARG         2467 (631552)
 BUILD_LIST           631690
我正在使用Python3.8.0。

根据:

EXTENDED_ARG(ext)

前缀任何操作码,其参数太大,无法放入默认的一个字节
ext
保存一个附加字节,作为参数中的高位。对于每个操作码,最多允许三个前缀
EXTENDED_ARG
,形成从两个字节到四个字节的参数


您是如何获得发布的反汇编输出的?(是的,这是相关的。)还有,这个字节码文件是从哪里来的,它是如何被破坏的?如果我们知道这一点,我们就有更好的机会扭转局面,或者至少挽救更多的数据。谢谢你的评论。我将xdis和xasm与命令``pydisasm--asm``一起使用,以获得反汇编输出。