pyc防止反编译,怎么防止反编译

  pyc防止反编译,怎么防止反编译

  如何防止python反编译?下面给大家具体介绍一下:

  热门IT软件开发工作室,大量免费python视频教程,欢迎在线学习!

  此处使用的工具:

  Exe反编译工具:pyinstxtractor.py:点击这里下载。

  Pyc反编译器:简单的Python反编译器或在线反编译器。

  将pyinstxtractor.py放在exe文件的同一个目录中,并执行以下cmd命令:

  如果pythonpyinstxtractor.pymain.exe执行成功,将在同一个目录下生成一个新的反编译文件夹——main.exe_extracted,如下图所示:

  同时我们可以在下图圈出来的路径下找到我们当时exe引入的mylib模块,是pyc格式的。

  相关:《Python基础教程》

  Pyc格式文件,反编译很简单。使用前一篇文章中提供的工具或者找一个在线备忘录来反编译它。让我们看看反编译的结果:

  #!/usr/bin/envpython

  # visit http://tool . Lu/pyc/formore information

  deftest(编号):

  print(num={n},{n}^3={n2}.格式(n=数量,n2=数量**3))

  if__name__==__main__:

  whileNone:

  尝试:

  num=输入(

   xe6 x8f x90 xe7 xa4 xba xef xbc x9a xe8 xbe x93 xe5 x85 xa5 q xe9 X80 X80 xe5 x87

   xba xe7 xa8 x8b xe5 xba x8f xe3 X80 x82 n xe8 xaf xb7 xe8 xbe x93 xe5 x85 xa5 xe4

   xb8 X80 xe4 xb8 xaa xe6 x95 xb0 xe5 xad x97 xef xbc x9a )

  ifnum.lower()==q:

  破裂

  num=float(数字)

  打印(数字)

  例外:

  没有人

  没有人

  没有人

  打印(

   xe8 xbe x93 xe5 x85 xa5 xe7 x9a x84 xe6 x95 xb0 xe5 xad x97 xe4 xb8 x8d xe6 xad

   xa3xe7xa1xaexefxbcx81 )

  如你所见,继续完美反编译源代码。涉及中文的地方,会因为编码问题而更改。但是非中文部分几乎是一样的。

  将脚本编译为pyd以防止反编译

  怎么解决?可以考虑将模块py文件编译成动态链接库,这样会大大增加破解难度。其中,在python中,pyd格式是动态链接库。你可以用cython编译它。如果anaconda带有它,一些python可能没有cython。只需安装:

  PipinstallCython我们在main.py所在的文件夹中创建一个新的py文件。这里我将其命名为build_pyd.py,其内容如下:

  #-*-编码:utf-8-*-

  fromdistutils.coreimportsetup

  fromCython。Buildimportcythonize

  设置(

  name=anywords . ,

  ext _ modules=cytonize([ mylib . py ,]),

  )然后执行以下cmd命令:

  python _ pyd.pybuild _ ext-inplace的运行过程和生成结果如下图所示,其中编译了带红框的pyd文件。因为我是64位系统和python,所以会生成amd64后缀。让我们删除它,并将其重命名为mylib.pyd

  注意:当mylib.pyd和mylib.py同时存在时,导入优先级为pydpy,不需要移除py文件。默认情况下,导入时为pyd。

  此时,我们删除build和disk文件夹,重复步骤2,并再次将它们编译成exe。

  注意:编译需要相关的VC环境。因为python3.5是基于VS14版本的,所以我这里安装的也是。不行,安装不能编译。

  你可以验证一下:

  再次反编译main.exe后,在原路径e : t dist main.exe _ extracted out 00-pyz . pyz _ extracted下找不到mylib.pyc。

  因为它不再是一个可以直接反编译的文件。

  他在哪里?他作为pyd存在于上层目录中。如下图:

  pyd的反编译难度挺高的,到目前为止,搞定了!

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

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