当前位置:首页 » 编程软件 » 反编译pyexe

反编译pyexe

发布时间: 2022-08-26 19:53:26

‘壹’ python生成的exe,反编译成py的工具,大神提供下,感谢

你解开执行文件。如果是单个的文件,则执行它的时候在临时目录里可以找到解开的包。

在解开后的目录中找到pyc文件,然后利用反编译工具就可以将pyc反编译成py文件。

但是有些程序是做了加密的。它们的pyc是它们重新写python编译器后自定义的加密格式,用通常的办法无法解开。 需要在内存里反编译。
-------------
pyc反编译工具有很多
你搜索uncompyle2, decompyle2, DePython, unpyc, uncompyle, pycdc 等
听说python2.7而言, uncompyler是最好用的工具。

‘贰’ 用Python2.7.1写的小程序可以反编译得到它的源代码吗

可以啊,要看他的发布形式,如果是以脚本形式发布的,那就可以直接得到源码
如果是以exe形式发布的,需要进行反编译。

‘叁’ python反编译遇到的新问题,求解

这个后缀应该算是除了python的py代码外,遇到最多的一种文件类型了。虽然python被普遍认为是一种解释性语言,但谁说它就不能被编译后执行呢?python通过compile生成的pyc文件,然后由python的虚拟机执行。相对于py文件来说,编译成pyc本质上和py没有太大区别,只是对于这个模块的加载速度提高了,并没有提高代码的执行速度,通常情况下不用主动去编译pyc文件。

‘肆’ 如何将自己编写的.py文件转换为可执行.exe文件

利用Python写了一个小脚本想要传给使用Windows但没有装Python的朋友执行,这时候就可以利用将档案包装成exe档案,让没有Python的朋友也可以执行。本篇将介绍利用套件“PyInstaller”制作exe档。
1|0安装方法

1234

#安装pyinstallerpip install pyinstaller#安装依赖pip install pywin32-ctypes

2|0常用参数介绍
pyinstaller -h来查看参数
-F打包成一个exe文件
-i图标路径
-w使用视窗,无控制台
-c使用控制台,无视窗
-D创建一个目录,包含exe以及其他一些依赖性文件
编译文件时,我们通常使用如下命令:
pyinstaller -F -w -i favo.ico main.py
3|0静态文件
对于python所依赖的图片,config.yaml等静态文件,pyinstall不会自动打包,需要手动在main.py(所需要打包的入口文件)的相同目录中寻找main.spec,修改datas依赖,才可以自动打包到exe的相同目录下,然后执行即可
datas是一个数组,每个子项是一个tuple,其中tuple的第一个参数是你要打包的源路径,第二个参数是打包后的名字

12345678910111213141516

# -*- mode: python -*- block_cipher = None a = Analysis(['ui.py'],pathex=['C:\\Users\\user\\Desktop\\resilio\\toyou\\code\\zeus_board_test'],binaries=[],datas=[('C:\\Users\\user\\Desktop\\resilio\\toyou\\code\\zeus_board_test\\images','images'),('C:\\Users\\user\\Desktop\\resilio\\toyou\\code\\zeus_board_test\\question.yaml','question.yaml')],hiddenimports=[],hookspath=[],runtime_hooks=[],excludes=[],win_no_prefer_redirects=False,win_private_assemblies=False,cipher=block_cipher,noarchive=False)

然后执行:
pyinstaller -F main.spec
4|0示例
如下图所示,我们编写一个输出helow pyinstaller的Python程序,并利用input()使程序可以暂时停在输出画面。

12

print('helow pyinstaller')input('please wait:')

编译python为exe,编译过程中会自动安装相关依赖
pyinstaller -F hello.py
编译过程中会产生如下输出:

1234567891011121314

…6942 INFO: checking PY6944 INFO: Building because toc changed6944 INFO: Building PYZ(ZlibArchive)C:\Users\user\Desktop\test\build\test\PYZ-00.pyz7559 INFO: Building PYZ(ZlibArchive)C:\Users\user\Desktop\test\build\test\PYZ-00.pyz completed successfully.7568 INFO: checking PKG7569 INFO: Building because toc changed7569 INFO: Building PKG(CArchive)PKG-00.pkg9407 INFO: Building PKG(CArchive)PKG-00.pkg completed successfully.9409 INFO: Bootloader c:\users\user\appdata\local\programs\python\python36\lib\site-packages\PyInstaller\bootloader\Windows-64bit\run.exe9409 INFO: checking EXE9411 INFO: Building because toc changed9411 INFO: Building EXE from EXE-00.toc9412 INFO: Appending archive to EXE C:\Users\user\Desktop\test\dist\test.exe9455 INFO: Building EXE from EXE-00.toc completed successfully.

通过输出可以看出pyinstaller进行了如下操作:
会先建立一个hello.spec
建立“build”文件夹
建立log纪录档与工作档案于文件夹build中
建立“dist”文件夹
建立执行档(.exe)在“dist”文件夹
4|1注意事项
执行档案可在win8/win10,64位的电脑运行,但win7 x64和其余所有32位失败,会提示不兼容,若要能32位与64位皆可运行,就要在Python 32位的环境下编译PyInstaller打包exe,才能在32位与64位成功。

‘伍’ 怎样反编加过密的Py脚本吖

你希望得到什么结果?

如果你想反编译后得到delphi源码,不用考虑了,不可能。 Delphi 反编译工具

反向工程一直被认为是技术奇才的专有艺术,需要熟悉汇编语言和调试器。下面几个Delphi反编译器允许任何人反编译大多数Delphi可执行文件,即使只有有限的技术知识。

如果你对Delphi程序反向工程感兴趣,我建议你看一看以下几个“反编译器”:

DeDe

DeDe是一个非常快的程序,用于分析Delphi编译的可执行文件。反编译之后,DeDe会提供以下信息:

所有的目标dfm文件。你可以用Delphi打开并编辑它们;
带有良好的注释的ASM代码的所有发布的方法,它涉及字符串、输入函数调用、类方法调用、单元的组件、Try-Except和Try-Finally块。默认情况下,DeDe仅仅只获得已发布方法的源代码,但如果你通过使用Tools | Disassemble Proc菜单知道RVA偏移量的话,你也可以处理可执行文件中的其他过程。
大量的附加信息。
你可以创建一个带有所有的dfm、pas、dpr文件的Delphi工程的文件夹。注:pas文件包含上面提及的被良好注释过的ASM代码。他们不能被再编译!
Revendepro

Revendepro可以找到程序中几乎所有的结构(类、类型、过程等),并生成pascal表达式、过程则以汇编程序的形式写出来。由于汇编程序的某些限制,生成的结果不能被在编译。这个反编译器的源代码可以免费获得。不幸的是,这是唯一一个我不能使用的反编译器—当试图用它反编译某些Delphi可执行文件时,总提示异常。

MRIP

这个对用途文件分割器可以从其它文件中寻找和摘取文件。MRIP分割100多种文件格式。对我们而言,最重要的是MRipper可以反编译任何Delphi可执行文件。该工具可以从Delphi应用程序中摘取所有的资源:cursors(光标)、icons(图标)、dfm文件、pas文件和其他资源。pas文件不包含事件过程执行。MRIP是一个DOS工具。

DfmExplorer

以下是DfmExplorer的说明(包括原始资料):

通过调用Win32 API的“LoadLibrary”或“LoadLibraryEx”函数在内存中载入可执行模块(EXE\DLL\BPL\DPL)。
通过Win32 API的“EnumResourceName”函数找寻RCDATA资源。
载入每个发现的DFM块,解码它并以表的形式(包括它们的名称)存储在内存中。
在程序的主窗口我们可以以文本方式可视化所有载入可执行文件的所有的DFM。
最后,程序可以保存到DFM选择的磁盘,作为ASCII文件(.RC)或作为二进制块(DAT)连接到可执行文件中。
Exe2Dpr

如果你试图放松你的工程源代码,这个Delphi工程源代码救助器可以挽救丢失的源码部分。救助器生成所有的带已分配属性和事件的工程表单和数据模块。生成的事件过程没有主程序(它不是反编译器),但又在可执行文件中的代码地址。这个工具没有GUI—它使用命令行的形式: 'exe2dpr [-o] exeFile '。工程源代码在当前目录创建。如果你想覆盖当前目录的任何已存在的文件,就可以使用选项 '-o '。

目前 ,Borland没有提供任何产品用于反编译可执行(.exe)文件或“Delphi 编译文件”(.dcu)为原始的程序代码(.pas)。

Delphi编译单元:DCU(Delphi compiled unit: DCU)

当一个Delphi工程被编译或运行时,一个编译单元(.dcu)文件便产生了。默认情况下,每个单元的编译版本都存放在独立的二进制文件中,该文件的文件名与单元文件同名,同时它的扩展名为.DCU。例如:unit1.dcu文件包含有在unit1.pas文件中声明的代码和数据。

这意味着如果你有某些资源,如编译过的组件,你所必须做的是反编译它并获得源代码。错了,DCU文件格式是非文档的(所有者格式)并且它可以随版本的改变而改变。

编译器之后:Delphi反向工程(After the compiler: Delphi Reverse Engineering)

如果你试图反编译一个Delphi可执行文件,有几件事你应该知道:

Delphi源程序文件通常以两种文件类型存储:ASCII代码文件(.pas、.dpr)和资源文件(.res、.rc、.dfm、.dcr)。Dfm文件包含表单中所容纳的对象的详细资料(属性)。当创建一个可执行文件时,Delphi拷贝.dfm文件中的信息到已完成的.exe代码文件。表单文件描述了表单中的每个组件,包括所有稳定的属性值。每当我们改变表单的位置、按钮的标题或为组件指派一个事件过程时,Delphi就会在DFM文件中记下这些改变(不是事件过程的代码—它是存放在pas/dcu文件中)。为了从可执行文件中得到 'dfm ',我们需要理解什么类型的资源被存放在Win32可执行文件中。

所有被Delphi编译过的程序都有以下几个部分:CODE、DATA、BSS、.idata、tls、.rdata、.rsrc。从反编译的角度来看,最重要的部分是:CODE、.rsrc。在“Adding functionality to a Delphi program "(“在Delphi程序中增加功能”)(译者加:陆续译出)文章中讨论了关于Delphi可执行格式、类信息和DFM资源的一些有趣的内容:怎样分配事件给同一个表单中定义的其他事件句柄(handler)处理、怎样增加你自己的事件句柄(handler)从而在可执行文件中增加代码改变按钮的标题。

存放在.exe文件中的各种类型的资源里,RT_RCDATA或Application-defined(程序定义)资源(原始数据)拥有编译前DFM文件所包含的信息。为了从.exe文件中选出DFM数据,我们可以调用EnumResourceNames API函数...关于从.exe文件中选出DFM数据的更多的信息,可以参考:“Coding a Delphi DFM explorer”(“编写一个Delphi DFM探测器”)。(译者加:陆续译出)

‘陆’ python写的程序,转成了exe文件,怎么进行反编译为python源码

你运行的时候他好像会自动解开包(可能会解到temp文件夹),能找到py文件,当然人家可能只用pyo,pyc之类,那就回到反编译这些文件的问题上。

‘柒’ python exe如何防止反编译

Python 编译生成 pyc 仅仅为了提升加载速度,并不是为了防止破解,反编译后和原来一模一样。pyinstaller,py2exe,只是把 pyc 打个包,同样很弱。代码混淆也只能增加看懂代码的难度,但并不能防止破解。所以最为稳妥的办法只有修改Python解释器,对源代码进行加密,解释器加载源代码时再解密,这种方法虽然可以防止破解,但给自己带来麻烦不说,发布程序是需要打包自己修改后的解释器,相当麻烦。

‘捌’ 如何把python编译成exe文件

我的是这个文件 py2exe-0.6.9.win32-py2.6.exe 你自己找,找到对应你python的版本安装。安装之后打开解释器输入>>> import py2exe
>>> import distutils如果没有问题就可以了。现在说步骤:1、准备你要编译的python脚本,比如:a.py,放在C:\compile\a.py2、编写另一个python脚本setup.py,内容如下:import distutils
import py2exe
distutils.core.setup(windows=[‘C:\\compile\\a.py’])3、把你的setup.py放在某个位置,比如C:\compile\setup.py打开命令行输入 C:\compile\setup.py py2exe 编译生成4、然后会在C:\Users\你的用户名\ 下生成一个dist的文件, 里面有个a.exe,双击就会执行你的脚本。

‘玖’ pyinstall 和 py2EXE生成的EXE哪个反编译性能好点

都能用7-zip解压出pyc吧

‘拾’ cxfreeze生成的exe能反编译回py吗,请实际操作过的回答一下。

1、制作U盘启动盘。

2、从主板的官网上下载最新bios,解压到U盘的根目录下:

提示“Program ended
normally”或者光标不在动时(注意观察等待)表示刷新bios成功。最后重启,看是否正常进入操作系统。

热点内容
memcachephp类 发布:2025-03-17 11:40:04 浏览:827
哈夫曼编码算法实现 发布:2025-03-17 11:23:31 浏览:384
录音机可以存储信息吗 发布:2025-03-17 11:13:32 浏览:173
邮件服务器php 发布:2025-03-17 11:09:42 浏览:478
心跳包源码 发布:2025-03-17 11:03:29 浏览:798
安卓苹果通讯录怎么同步 发布:2025-03-17 09:58:12 浏览:175
ai缓存 发布:2025-03-17 09:48:27 浏览:923
翘嘴水滴轮什么配置 发布:2025-03-17 09:47:34 浏览:584
小蚁摄像机如何云存储 发布:2025-03-17 09:42:42 浏览:819
如何修改自己的名字和密码 发布:2025-03-17 09:32:20 浏览:790