小编mik*_*azo的帖子

是否可以在不使用co_code的情况下获取python字节码?

假设我在python解释器中并定义一个函数如下:

def h(a):
  return a
Run Code Online (Sandbox Code Playgroud)

如果我想查看字节码(不是使用dis的反汇编),我通常可以使用h.func_code.co_code.有没有其他方法来查看字节码?

例如,在解释器中,如果我只是在h不进行函数调用的情况下键入,我会得到函数的地址.我可以使用该地址来获取字节码吗?还有其他方法吗?

评论中的一些其他信息:

该应用程序是用python编写的,并使用Py2App,cx_freeze或py2exe之类的东西打包.我在可执行文件上玩了一些技巧,现在,在启动时,可执行文件将我转储到python命令行.从那里,我手动将我的功能h输入到interepeter中.

的其他属性h.func_code都存在,如co_varnames,co_argcount等,但co_code并非如此.

如果我输入h.func_code.co_code翻译,我得到'code' object has no attribute 'co_code'.

更新:再次发表评论.据我所知,操作码已重新映射为随应用程序一起提供的python解释器.

python bytecode reverse-engineering

4
推荐指数
1
解决办法
1267
查看次数

在Ollydbg(或其他Windows调试器)中等效GDB的"调用"

在GDB中,我可以通过发出命令来调用一个函数,该函数是我正在调试的可执行文件的一部分call foo("123").

我如何在OllyDbg(或可能是其他主要的Windows调试器)中执行相同的操作?

windows debugging windbg ollydbg

3
推荐指数
1
解决办法
437
查看次数