bytecode 相关问题

“bytecode”是虚拟机使用的操作码的总称。例如,JVM运行存储在.class文件中的字节码,CPython解释器运行存储在.pyc文件中的字节码。

Python 中奇怪的字节转换

我有一个将整数转换为字节的函数,但遇到了以下问题。 当使用下面的代码时。 >>> 数据 = 9 >>> 打印(data.to_bytes()) 我明白了: >>> b'\...

回答 1 投票 0

从 pyinstxtractor 获取字节码后,我收到 Uncompyle6 和 Decompyle3 错误

当我尝试 Uncompyle6 uncompyle6 main.pyc 时遇到此错误: 回溯(最近一次调用最后一次): 文件“”,第 198 行,在 _run_module_as_main 中 文件“ 我在尝试 Uncompyle6 时遇到此错误 uncompyle6 main.pyc : Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main File "<frozen runpy>", line 88, in _run_code File "C:\Users\user\AppData\Local\Programs\Python\Python311\Scripts\uncompyle6.exe\__main__.py", line 4, in <module> ...更多 File "C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\site-packages\xdis\std.py", line 73, in __init__ self.opc = opc = get_opcode_module(python_version, variant) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\site-packages\xdis\op_imports.py", line 174, in get_opcode_module return op_imports[canonic_python_version[vers_str]] ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ KeyError: '3.11.2' 所以,我尝试了 Decompyle3。然而,我遇到了同样的错误。我尝试了 Decompyle3,因为“它接受来自 Python 3.7 版本的字节码”。我正在使用 Python 3.11。 那么,如果这不起作用,那我该怎么办??? PS:还有其他软件可以做到这一点吗?我认为我的 Python 版本有问题。 我在这里可能是错的,但我相信 KeyError: 3.11.2 意味着 decompyle6 不支持(至少还不支持)该版本的 python。我知道它可以工作到 python 3.8.x 您可以在此处查看更多信息:https://github.com/rocky/python-decompile3/issues/45 将 pyenv 用于较旧的 python 版本,例如 3.7、3.8...., pyenv install 3.8.0。 现在可以全局或本地设置, pyenv global 3.8.0。 如果重新启动不起作用,现在要在终端上实现它, source ~/.bashrc。 检查, python --version。 最后安装uncompyle6, pip install uncompyle6。 现在为了让它发挥作用, uncompyle6 _pycFileHere_。 还有 BOOMMMMMMM!!!

回答 2 投票 0

在Java中,为什么接口“B extends A”会让javac在B上生成A的所有方法?

我惊讶地发现在以下场景中: 接口 X { 无效 f(); } 接口 Y 扩展 X { } javac 将经历为 Y 生成包含定义的字节码的麻烦...

回答 0 投票 0

带有字节码的文件真的只是为导入的模块创建的吗?

在我的系统中,我创建了一个由多个文件组成的Python应用程序。应用程序的目录结构如下: 应用程序目录 |- file_a.py |- 文件_...

回答 1 投票 0

为什么调用站点上的注册与实现站点上的注册不同?

让我们考虑一个简单的函数: 有趣的主(){ 问候(“世界”) } 有趣的问候(名称:字符串?){ 如果(名称!=空){ println("你好$名字!") } 别的 {

回答 1 投票 0

为什么显示字节码和类文件不匹配?

原始.java文件 公共枚举水果 { 橙子(1)、苹果(2); 私有最终 int i; 水果(int i){ 这个.i=i; } } .class 文件 // // 由

回答 1 投票 0

如何修改可执行文件而不损坏它?

是否存在特定的空字符或字节序列,如果添加到文件的前面,则不会损坏可执行文件?我尝试添加 NUL(00 十六进制),但每次都会损坏可执行文件。是...

回答 3 投票 0

为什么栈中会出现sun.misc.Launcher$AppClassLoader.loadClass

我已经检测了 JDK 和应用程序。记录入口点和出口点以用于构建调用图。 调用图看起来像 sun.misc.Launcher$AppClassLoader.loadClass->com.example.Main....

回答 2 投票 0

重构反编译程序控制流程

我正在为基本编译的字节码(一种完全不同的语言)编写一个非常简单的反编译器(用 C++ 编写)。执行器使用基于堆栈的机器,大多数指令都相当容易拼凑......

回答 1 投票 0

在 Java 代理检测中替换/交换 Java 类 [已关闭]

我读过这篇文章,它以“逐行”的方式进行字节码检测。它很笨拙并且容易出错。我想知道Javassit是否支持“替换”或“交换&...

回答 1 投票 0

使用 Byte Buddy 更改 Android 中的方法实现

我想要Android SDK的Resources类的一些方法的实现,例如getString()使用我自己的实现。 我无法创建自己的覆盖/代理版本的资源,因为我...

回答 1 投票 0

如何在 python 3.11 中将字节码反编译为 .py

我丢失了源代码并尝试再次检索它。我已经提取了 cyp 文件并使用工具将其反编译回 .py,但不幸的是,我收到了此错误: 无效的 pyc/pyo 文件 - Magic

回答 1 投票 0

使用java的asm.jar查找当前指令是否在循环中

使用https://asm.ow2.io/ 我想确定当前指令是否在循环内。 我很困惑 asm 是如何做到这一点的, 直到您点击

回答 1 投票 0

为什么一台内置“yield”的发电机比另一台更快?

我有两个返回生成器的函数: def f1(): 返回(i 为范围(1000)内的 i) def f2(): return ((yield i) for i in range(1000)) 显然,从 f2() 返回的生成器是

回答 3 投票 0

Java字节码编译中是如何处理字符串连接的?

公共类 TestException 扩展了 Exception { 公共 TestException(字符串消息){ super("这是消息:" + msg); } } 上述代码编译为: 公共类 TestExcep...

回答 1 投票 0

将编译后的代码转换回源代码

我有一个混淆的 Python 代码对象,它已使用各种模块(包括 base64、zlib、gzip 和 marshal)进行编码和压缩。 我的目标是按顺序对该代码对象进行逆向工程...

回答 1 投票 0

如何将Python代码编译为字节码?

例如,假设我有 myfile.py。 示例代码: 一个= 6 b = 4 打印(a+b) 那么如何将其转换为 ByteCode 呢? 我试过这个: 源代码 = '''a = 6 b = 4 打印(a+b)''' 编译代码 = 编译(

回答 2 投票 0

Javassist:如何解决重复的类异常?

使用 Javassist 我尝试将一行代码插入方法的主体中。这是对 intellij-IDE 中标签文本颜色的简单修改。尝试这样做时出现以下错误:

回答 1 投票 0

访问 Nashorn 生成的字节码

Nashorn 将 javascript 源代码直接翻译到内存中。是 有什么方法可以访问字节码只是为了阅读目的吗? (不需要进行操作)。如果有请详细说明一下...

回答 2 投票 0

list join 真的比 python 中的字符串连接更快吗?

我发现字符串连接似乎比列表连接具有更少的 python 字节码。 这是一个例子。 测试.py: a = ''.join(['a', 'b', 'c']) b = 'a' + 'b' + 'c' 然后我执行 python -m dis te...

回答 3 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.