首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

关于Python病毒样本的分析方法

分析方法 PyInstaller打包的文件分析起来也十分简单,有现成的工具脚本——pyinstxtractor.py可以使用。...通过python的反编译脚本uncompyle6.py对保存的pyc文件进行反编译,就可以生成一个pupy的py脚本。通过对脚本的简单分析就可以十分确定这个样本是pupy家族的。...脚本运行方式 我们准备一个简单的py脚本,将其编译为pyc文件。 ? 我们准备一个简单的C代码来调用此pyc文件。 ? (1) 加载对应版本的python.dll。...通过这一系列的函数,我们可以获取到打包进可执行文件内的明文Python脚本或pyc的字节码。 5. 总结 处理python打包这一系列样本的过程主要如下: (1) 判断是否是已知工具打包。...(3) 在PyRun系列的函数的参数中可以获取到对应的样本代码。 (4) 使用uncompile.py脚本进行反编译就可得到原始的py文件。

1.6K10

pyinstaller打包exe免杀和逆向浅析

pyinstaller进行打包,pyinstaller安装只需要使用pip3 install pyinstaller就可以安装。...打包的时候只需要使用 pyinstaller -F 文件名.py 即可。 360本地扫描(机器联网,但未使用360云查杀, 测试时间:2021/05/02) 可正常运行。...3.4 pyc到源码 pyinstaller在打包的时候,会将pyc文件的前8个字节清除,所以后期需要自己添加上去,前四个字节为python编译的版本,后四个字节为时间戳。...(四个字节的magic number、四个字节的timestamp) 所以在这里可以通过struct文件来获取其中的信息,再添加到01_easy文件里面去 因此这里将两个文件单独复制出来,通过16进制查看工具来查看下文件...04 -F --key参数反编译使用pyinstaller的时候,可以使用--key参数对生成的exe进行加密,在使用这个参数的时候需要pycrypto库,可以通过pip的方式进行安装,但是保不齐安装的时候会出现一些问题

4.3K30
您找到你想要的搜索结果了吗?
是的
没有找到

整理python教程

它具有高效的高层次数据结构,简单但有效的方式支持面向对象编程,语法优雅,动态类型,解释执行。使之成为多数平台上很多领域的脚本和快速应用开发的理想语言。...使用一些诸如py2exe、PyPy、PyInstaller之类的工具可以将Python源代码转换成可以脱离Python解释器运行的程序。...使用它们开发的桌面软件运行速度快,与用户的桌面环境相契合。通过PyInstaller还能将程序发布为独立的安装程序包。与C++相比较,使用Python开发桌面软件通常更快更容易。...3,如在Windowds命令行使用python那么你需要进行环境变量,点击控制面板->系统->高级->环境变量。...1、 2 、 3 是一个整数int 范围在(-2147483648 <= X <= 2147483647) 长整数就是比较大的数字long一般在后面加上L(1000000000000L) 2.65、3.6

1.1K11

『Python』Python编译成计算机可执行文件(Windows计算机可执行文件exe,Linux 计算机可执行文件elf,Mac计算机可执行文件mach-O)

文章目录 背景: 我们的主角 :PyInstaller 使用 1.安装pyinstaller 2.进入安装工作环境 3....生成不自定义图标的exe文件 4.生成带自定义图标的exe文件 PyInstaller 会对脚本进行解析,并做出如下动作: 内部流程 背景: Python 程序都是脚本的方式,一般是在解析器里运行,如果要想要给别的计算机使用...,需要提前安装Python解析器和相关包才可以运行,为了在 Windows(或其它系统里) 里方便发布,我们将.py文件,编译一个可执行文件,并且打包所需要库文件,只需要点击一个可执行文件运行,而无需安装...您将不需要在Wiki中寻找技巧,也可以对文件或设置脚本进行自定义修改。例如,完全支持PyQt,Django或matplotlib之类的库,而无需手动处理插件或外部数据文件。...如果省略该选项,那么第一个脚本的主文件名将作为 spec 的名字 PyInstaller 会对脚本进行解析,并做出如下动作: 在工作目录生成 helloworld.spec 文件; 创建一个

3.3K10

python功能笔记——杂七杂八

接下来就可以通过selenium获取网页的截图了,参考代码如下(来自于互联网): from selenium import webdriver from PIL import Image import...二、对获取到的截图进行处理     上面获取到的这个图片并不能直接用来做桌面,所以需要进行裁剪,将中间显示日历的部分裁剪出来,使用到的包是上边已经导过的PIL(通过安装Pillow),代码如下: im...四、Python脚本转为EXE可执行文件     这一步很简单,需要用到的包为PyInstaller,直接使用pip进行安装即可(pip install pyinstaller)         这一步需要在...这样就快速的切换到脚本保存目录中,通过“dir”命令就可以看到其中的Python脚本了,接下来通过命令来进行编译pyinstaller -F getSchoolCalenderAndSetBackground.py...然后回到文件夹中,就可以看到编译后的文件了,不过会同时生成很多没用的东西,真正的好东西在“dist”目录下,将这个目录中的".exe"文件取出,就可以运行了(需要注意的是,要在此exe运行的目录下放上之前使用到的

33910

别再问我exe反编译成Python脚本了!

: 要提取其他被导入的pyc文件,则需要先打开PYZ-00.pyz: 很显然,使用PyInstaller的pyi-archive_viewer 工具操作起来比较麻烦,一次只能提取一个文件,遇到子模块还需执行一次打开操作...所以我们需要先对提取出的内容人工修改后缀: 运行入口pyc文件反编译 对于从pyinstaller提取出来的pyc文件并不能直接反编译,入口运行类共16字节的 magic 和 时间戳被去掉了。...,这里我使用UltraEdit32: 分别打开正常情况下编译出的pyc和从pyinstaller提取出来的pyc文件进行对比: 可以看到前16个字节都被去掉了,其中前四个字节是magic,这四个字节会随着系统和...> auto_organize.py 然后成功的反编译出依赖的文件: 代码与原文件几乎完全一致: 批量反编译 如果一个exe需要被反编译的Python脚本只有3个以内的文件,我们都完全可以人工来操作...但是假如一个exe涉及几十个甚至上百个Python脚本需要编译的时候,人工操作未免工作量过于巨大,我们考虑将以上过程用Python实现,从而达到批量反编译的效果。

13.5K43

Python3快速入门(十八)——PyI

最简单使用需要指定作为程序入口的脚本文件。...如果 PyInstaller 运行有问题,需要检查warnxxxx.txt文件来获取错误的详细内容。xref-xxxx.html文件输出 PyInstaller 分析脚本得到的模块依赖关系图。...如果使用单文件模式将只有单个执行文件;如果使用目录模式的话,会有一个脚本同名的子目录,其内才是真正的可执行文件以及附属文件。...如果使用单文件模式,PyInstaller打包生成的是自动解压程序,需要先把所有文件解压到一个临时目录(通常名为_MEIxxxx,xxxx是随机数字),再从临时目录加载解释器和附属文件。...四、PyInstaller Hook机制 1、PyInstaller Hook简介 PyInstaller 使用递归方法,从入口的脚本文件逐个分析,获取依赖模块。

3.6K10

Python 源码混淆与加密

但是在运行一个单独的脚本时,该脚本是不会被编译为 pyc 文件的,这是由于 Python 的解释器认为只有导入的包才会被不断复用,才有编译的价值。..../ 编译字节码文件后,确实没办法直接读取源码了,但是 Python 有 uncompyle6 这么一个跨版本反编译器,可以将 Python 字节码转换回等效的 Python 源代码。...使用 PyArmor 加密代码 PyArmor 是一个用于加密和保护 Python 脚本的工具。...加密为 pye 文件 pyconcrete 是另一个 python 的文件加密库,安装它需要提供一个密钥,用于之后对源码文件进行加密,同时由于过程中涉及 .c 文件的编译,因此 Windows 下需要安装...Python 源码,下面为编译方法: pyd 的文件为库文件,所以也需要一个 py 文件进行调用,这里还是使用 malicious_enter.py 和 malicious_func.py 作为示例。

4.8K20

Python exe 文件反编译为 Python 脚本

在 Python 中,由于其解释性质,通常没有像编译语言那样生成的二进制文件,但是我们可以将 Python 脚本转换为字节码文件(.pyc),而 .exe 文件通常是由 pyinstaller、cx_Freeze...q在上面的操作中,我们使用 pyi-archive_viewer 提取了 main.pyc、和 student.pyc 文件,当时大家可以很清楚的看到弊端,即需要一个一个手动提取,对于大项目这是十分麻烦的...pyinstaller 提取出来的 pyc 文件并不能直接反编译,入口运行类共16字节的 magic 和 时间戳被去掉了。...16进制编辑的文本编辑器进行处理,比如:UltraEdit32可以看到前16个字节都被去掉了,其中前四个字节是magic,这四个字节会随着系统和Python版本发生变化,需要保持一致。...这里我写了一个 python 脚本实现这个过程:// 读取从pyz目录抽取的pyc文件的前4个字节作基准pyz_dir = ".

25720

10个对Web开发者最有用的Python包

使用这些程序包可以让你做一些简单的任务,例如编写CGI脚本,或者你也可以轻松创建高端web应用程序。我们收集了一些最好的Python包,可用来提高应用程序的性能和质量。一起来看一看吧!...无论你是需要为个人博客做一个后端还是为企业做一个内容管理系统,Django都可以帮助你从几乎为零的状态建设出一个全功能的web应用程序。 ?...使用Selenium,开发人员可以通过编程的方式自动打开网页,输入域,点击按钮,并提交表单。通常情况下,这些类型脚本用于输入抽奖。要小心!创建这样一个程序之前,请务必检查条款和条件。 ?...Pillow可以用来创建复合图像,应用过滤器,修改透明度,覆盖文本,转换图像文件类型,等等等等。如果需要编辑图像,Pillow便是解决的方法。 ?...幸运的是,PyInstaller一个解决方案。使用PyInstaller,将一个应用程序作为一个独立可执行文件移植,就和在命令提示符或终端中运行一条语句一样简单。 ?

1.2K70

Python 进阶指南(编程轻松进阶):七、编程术语

表 7-2:Python 的一些可变和不可变数据类型 可变数据类型 不可变数据类型 列表 整数 字典 浮点数 集合 布尔值 字节数组 字符串 数组 固定集合 字节 元组 当您修改一个变量时,可能看起来像是在更改对象的值...要访问这些值,您需要使用一个索引操作符,它由一对方括号([ ])和一个称为索引的整数组成,以指定您想要访问的值。...列表和字典是 Python 中常用的容器类型。 序列是任何容器数据类型的对象,其有序值可通过整数索引访问。字符串、元组、列表和字节对象是序列数据类型。...但是脚本语言有时被认为是更简单或“不真实”的编程语言。 区分脚本和程序的一种方法是根据代码的执行方式。用脚本语言编写的脚本直接从源代码中解释,而用编译语言编写的程序被编译成二进制。...但是 Python 通常被认为是一种脚本语言,尽管在 Python 程序运行时有一个编译字节码的步骤。

1.6K20

Python开发必备的6个库,有了它事半功倍!

如果你需要更快的 Python 应用程序,最简单的实现的方法就是通过 PyPy ,Python 运行时与实时(JIT)编译器。...请注意,为了兼容 Python 2.7 和 Python 3.5 ,存在不同的二进制文件,因此请确保你正在获取与你将要运行的脚本所匹配的版本。 BitBucket 上有源代码和错误跟踪记录。...03 Python 必备之 PyInstaller PyInstaller 主要用于何处?关于 Python 的最常见的问题之一是“如何从 Python 脚本中生成独立的可执行文件?”...对于那些需要自己编译引导加载程序的人,源码可以在 GitHub 上找到,但对多数人而言是不需要这么做的。...Mypy 在编译时向 Python 添加静态类型检查,使 Python 程序更加一致和可维护,并且不会增加运行时开销。

1.8K80

Pyinstaller打包exe附带图片的方法

---- 2019.10.27更新 在最近的wordpress项目中学到了图片字节码可在文件中存在,于是我做了试验并成功了(就是代码里带一堆字节码……) 参考: https://blog.csdn.net...不管用;后是不知如何打多个文件的项目(最后写在一个.py里了……还有import的包尽量减少了);最后是图片文件不会打包在一起,让我有种擦屎擦不干净的不爽的感觉——一个小exe还必须和几个固定命名的图片在一个文件夹内不然打不开...python程序里的所有的图片引用换成完整的路径: 代码里就这么用图片喽…… 此方法有参照http://tieba.baidu.com/p/3060401749的第6楼(看他jia加的函数,就是获取完整路径而已...),再加再一篇帖子里看到“pyinstaller不是将代码编译,而是将脚本弄成可以执行的文件,所以别想能打包后程序变快”,由此猜想到“图片需要完整路径,spec文件里也要写上完整路径,这样就能让这个exe...,格式是 ((‘名字1′,’1的完整路径’,’类型’),(‘名字2′,’2的完整路径’,’类型’)) 左边的橙色箭头是是否显示控制台的cmd黑框 右边的橙色箭头是加上去的,可以给自己的exe换图标【但是离开文件夹就不是这个图标了

2.1K20

python程序打包新姿势(nuitka)

python程序打包新姿势(nuitka) 换个方式针对python脚本进行打包, 有些时候我们写的一些脚本里面可能会包含SECRET或PASSWORD相关的信息,但是这些脚本有的时候是需要给到其他部门的小伙伴使用...,这个时候如何能保障账号密码的安全性呢(当然了,反编译还是防不住的), 获取之前你使用pyinstaller解决过类似问题,今天我们要说的并不是pyinstaller, 而是nuitka。...Nuitka是用Python编写的Python编译器。支持Python 2.6、2.7、3.3、3.4、3.5、3.6、3.7和3.8等版本。将你的python程序打包成一个可执行文件。...,所以要特别注意~ 执行时间 复杂的程序进行打包的时候耗时是比较久的,打包速度这点比不上pyinstaller 产物大小 生成的二进制文件大小比较大,这也算是一个不好的点吧~ 实战 配套脚本 # 这是官方文档提供的代码片段...总结 刚开始看到nuitka的介绍并没有觉得这个工具会比pyinstaller更好,或者更牛逼,因为个人在使用pyinstaller的时候并不如预期,也有可能我使用姿势不太对,真正的是尝试使用了下,发现还是先入为主的思维害了自己

6.3K30

Python开发者必备6个基本库

请注意,对于Python 2.7和Python 3.5兼容性,存在不同的二进制文件,因此需确保正在获取与将要运行的脚本匹配的版本。 BitBucket上提供源代码和错误跟踪。...项目三:PyInstaller 什么是PyInstaller? 关于Python的最常见的问题之一是“如何从Python脚本生成独立的可执行文件”?PyInstaller一直是最好的答案之一。...PyInstaller 3.3特点 PyInstaller将Python应用程序打包为单个目录或单个文件可执行文件中,将需要的第三方库与其一起打包,并与绝大多数公共库和框架配合使用。...PyInstaller不久之后不太可能添加的一个功能是交叉打包,例如,在Windows上创建Mac兼容的应用程序。...Mypy在编译时向Python添加静态类型检查,使Python程序更加一致和可维护,但不会增加运行时开销。

1.4K10

Python源文件打包成可执行的exe应用,给你的代码变个身!

我们平常所写的程序一般都是在编译环境下运行的,然而这对于那些没有开发环境或者对程序一无所知的小白就很不友好了, 所以在进行Python项目开发的后期,对于能够最大化的满足各类型用户的需求,十分有必要的一项工程就是软件打包成...要将Python脚本文件打包成可以使用的Python软件,可以借助的工具有py2exe、bbFreeze、pyInstaller、cx_Freeze、py2app,但对于目前使用性能最好的工具还是pyinstaller...命令进行打包, (3) 对于不需要调用其他外部库的py文件, ① 单独使用命令pyinstaller 命令 文件.py (4) 对于需要调用外部库的py文件 ① 使用pyi-makespec -F 文件...如上的spec脚本,将所有项目中的py文件路径以列表形式写入Analysis,这里为了说明混合使用了绝对路径和相对路径。...因此需要在spec文件上添加递归深度的设置,设置一个足够大的值来保证打包的进行, (6)pyinstaller库的参数 (7)Exe的图标文件格式为ico格式,可以直接在这个网站进行ico格式图标的转换

1.7K20

Python | 开发者必备的 6 个库

如果你需要更快的 Python 应用程序,最简单的实现的方法就是通过 PyPy ,Python 运行时与实时(JIT)编译器。...请注意,为了兼容 Python 2.7 和 Python 3.5 ,存在不同的二进制文件,因此请确保你正在获取与你将要运行的脚本所匹配的版本。...Python 必备之 PyInstaller PyInstaller 主要用于何处? 关于 Python 的最常见的问题之一是“如何从 Python 脚本中生成独立的可执行文件?”...对于那些需要自己编译引导加载程序的人,源码可以在 GitHub (https://github.com/pyinstaller/pyinstaller)上找到,但对多数人而言是不需要这么做的。...Mypy(http://www.infoworld.com/cms/article/mypy-lang.blogspot.com) 在编译时向 Python 添加静态类型检查,使 Python 程序更加一致和可维护

1.7K30

Python | 开发者必备的 6 个库

如果你需要更快的 Python 应用程序,最简单的实现的方法就是通过 PyPy ,Python 运行时与实时(JIT)编译器。...请注意,为了兼容 Python 2.7 和 Python 3.5 ,存在不同的二进制文件,因此请确保你正在获取与你将要运行的脚本所匹配的版本。...Python 必备之 PyInstaller PyInstaller 主要用于何处? 关于 Python 的最常见的问题之一是“如何从 Python 脚本中生成独立的可执行文件?”...对于那些需要自己编译引导加载程序的人,源码可以在 GitHub (https://github.com/pyinstaller/pyinstaller)上找到,但对多数人而言是不需要这么做的。...Mypy(http://www.infoworld.com/cms/article/mypy-lang.blogspot.com) 在编译时向 Python 添加静态类型检查,使 Python 程序更加一致和可维护

2.1K30

Python 开发者的 6 个必备库

如果你需要更快的 Python 应用程序,最简单的实现的方法就是通过 PyPy ,Python 运行时与实时(JIT)编译器。...请注意,为了兼容 Python 2.7 和 Python 3.5 ,存在不同的二进制文件,因此请确保你正在获取与你将要运行的脚本所匹配的版本。...Python 必备之 PyInstaller PyInstaller 主要用于何处? 关于 Python 的最常见的问题之一是“如何从 Python 脚本中生成独立的可执行文件?”...对于那些需要自己编译引导加载程序的人,源码可以在 GitHub (https://github.com/pyinstaller/pyinstaller)上找到,但对多数人而言是不需要这么做的。...Mypy(http://www.infoworld.com/cms/article/mypy-lang.blogspot.com) 在编译时向 Python 添加静态类型检查,使 Python 程序更加一致和可维护

2K70
领券