pyd文件没法反编译吗,python pyd 反编译

  pyd文件没法反编译吗,python pyd 反编译

  如何反编译dll和?pyd文件提取用Python写的源代码?

  尽快谢谢你

  是的,因为之前有人问过这个问题,所以我投票决定关闭这个问题。这里——斯塔克overflow.com/questions/5287253/

  不一样的问题(dll不是. pyc文件)。我的想法行不通!可能转换成汇编代码,如何遵循数据/功能树?

  谢谢你的帮助。

  @Torxed真的不是同一个问题。pyd文件由Cython生成。与pyc/字节码不同,pyd文件是不包含原始python源代码的二进制文件。虽然逆向工程无法阻止,但它确实变得非常困难,阻止某人获得您代码的确切原始资源。

  假设。pyd/。dll文件是用Cython而不是Python创建的?

  无论如何,除非文件是专门为原语言设计的编译器,否则通常是不可能的。我知道C,C,Delphi,NET等一些编译器,但还没听说过Cython编译器。

  当然,Cython首先把Python [esque]代码转换成C代码。这意味着,幸运的是,你可以找到C编译器,根据反编译的C代码拆分原始Python代码。至少,这个方法处理从一种(相对)高级语言到另一种语言的翻译。

  在最坏的情况下,必须使用反汇编程序。然而,从反汇编器的输出中重新创建Python代码并不容易(这完全类似于从构成细胞的蛋白质的化学式中区分大脑的生物功能)。

  你可以通过关于各种反编译器和反汇编器的想法和建议来确认和研究。

  谢谢你有用的回复。如果是病态,请做额外的研究。

  @YoussefImam我不同意这个答案。请参考我的回答栈overflow.com/a/41075212/1422096.

  @Basj看了更新的回答,好像。Cython编译的pyd文件最后没有嵌入源代码。如果你能证明相反的情况,我会很感兴趣,但我会继续回答到那时。

  你说的对@Lav。

  能不能逆向工程@Basj,C代码,那我需要逆向工程这个软件。它是用Python写的,有一个. pyd文件。

  所以我想我们可以利用它。模糊Pyd文件。Py文件

  不同意的答案似乎是。pyd也可以访问源代码的内容。

  例如,看看错误发生时会发生什么。

  1)创建此文件:

  whathappenswhenerror.pyx

  A=6

  打印帮助

  打印一份

  print 1/0 # thiswillgenerateanerror

  2)用python setup.py build编译:

  setup.py

  从distutils.core导入设置

  fromcython.buildimportcythonize

  setup(ext _ modules=cythonize(whatafonswhenerror . pyx),include_dirs=[]))

  3)现在,请阅读。pyd文件转换成标准python文件。

  testwhathappenswhenerror.py

  导入发生什么时出错

  4)在pythonestwhathappenshenerror.py上运行它,输出如下:

  你好

  六

  跟踪(mostrecentcalllast):

  中文件“d:\ testwhatafleconswhenerror . py”的第1行

  导入发生什么时出错

  文件 whathappenswhenerror.pyx 的第4行,在itwhatoconshenerror(whatoconshenerror . c:824)中。

  print 1/0 # thiswillgenerateanerror

  Zerodivisionerror 3360集成版

  您将在。pyx源代码。显示评论!

  4之二)如果原件。pyx文件在步骤3)之前被删除(或移动到另一个位置),原始代码print1/0 # ThiswillGenerateError将不再显示。

  你好

  六

  跟踪(mostrecentcalllast):

  中文件“d:\ testwhatafleconswhenerror . py”的第1行

  导入发生什么时出错

  文件 whathappenswhenerror.pyx 的第4行,在itwhatoconshenerror(whatoconshenerror . c:824)中。

  Zerodivisionerror 3360集成版

  但这是否意味着它不包含在。pyd?我没有。

  移动pyx意味着您已经使用了一些从pyd(在Linux中是这样)到pyx行的链接。pyd上没有这个代码。

  你知道如何进口吗?pyd而不是pyx当@ bask,pyx文件在同一个位置并且导入whenerror运行时会发生什么?因为是导入到pyx中的,所以代码显示可能是错误的。

  通过查看背景(文件 whathappenswhenerror.pyx ,第4行),您可以确认您正在使用pyx文件。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: