如何使用python2exe通过modualfinder加载并运行scripts及其依赖的模块?

作者&投稿:由君 (若有异议请与网页底部的电邮联系)
~

在分析Worm.Win32.RavMon的代码时,我们看到python2exe利用modulefinder模块来加载要执行的scripts,并确保所有依赖的Python模块和扩展模块都被正确识别。纯Python模块被编译成临时目录下的.pyc(debug)和.pyo(optimized)文件,而pyd格式的扩展模块也能被找到。


生成的程序会创建一个zip兼容的包,包含一个dependency目录和script文件。这个包通过自带的python解释器执行,确保在运行时能正确import所需的模块。由于扩展模块的限制,它们单独提供,位于dist\myscript目录下。


程序运行过程如下:



  • start函数调用:

    • (1) 获取目录和文件名

    • (2) 加载执行文件数据

    • (3) 获取script信息

    • (4) 设置用户环境变量(如PYTHONHOME, PYTHONPATH等)

    • (5) 设置Python内部变量

    • (6) 初始化Python环境

    • (7) 设置命令行参数

    • (8) 构建toc(dict)结构

    • (9) 导入sys模块并设置路径

    • (10) 加载imputil模块并执行

    • (11) 初始化主模块 "__main__"

    • (12) 执行Scripts\\主脚本

    • (13) 执行Scripts\\__main__.py(打包的Python文件)




在source\start.c文件中,关键部分包括:



  • MapExistingFile: 通过文件映射处理文件内容

  • GetScriptInfo: 从archive数据结构中提取script信息

  • BuildToc: 构建一个dict,存储所有模块名称(修正路径问题)

  • extract_data: 从archive获取指定长度的数据

  • Load_Module: 根据optimize状态,加载.pyc或.pyo文件

  • get_code: 从数据中获取指定模块的代码


这些步骤确保了程序的执行环境设置正确,模块加载顺利,从而实现了对Worm.Win32.RavMon代码的有效分析。
扩展资料

该病毒属蠕虫类,病毒作者通过python2exe来编译的病毒,python2exe使用python的modualfinder来调入要运行的scripts寻找并运行它所需要的所有python模块和扩展模块。病毒运行后会复制原病毒体到%windir%\RavMon.exe,而后调用注册表相关函数,将该病毒副本添加到启动项,达到随系统启动的目的。




python3.11这个版本怎么使用?
你可以直接在python官网中根据你自己使用的电脑系统差别,下载python3.11版本安装在自己的电脑上使用,python3的版本其实差别不大,可以通过阅读官方文档辨析各个版本的差别,在使用上不太需要关注小版本。

新手怎么学习python?
我们将学习的过程划分为4个阶段,每个阶段学习对应的内容,具体的学习顺序如下:Python学习顺序:①Python软件开发基础 掌握计算机的构成和工作原理 会使用Linux常用工具 熟练使用Docker的基本命令 建立Python开发环境,并使用print输出 使用Python完成字符串的各种操作 使用Python re模块进行程序设计 使用Python创建...

电脑上安装python后怎么使用
windows系统打开命令提示符,Linux系统打开终端,输入Python即可进入Python交互环境。如果提示错误,就输入Python3,这是版本的问题。

在python中如何使用注释
python中的注释有多种,有单行注释,多行注释,批量注释,中文注释也是常用的。一、python单行注释符号(#):井号(#)常被用作单行注释符号,在代码中使用#时,它右边的任何数据都会被忽略,当做是注释。print 1 #输出1,#号右边的内容在执行的时候是不会被输出的。二、批量、多行注释符号:在python中...

如何在电脑中安装python
有的朋友需要在电脑中使用python,今天小编就跟大家分享一下如何在电脑中安装python。具体如下:1. 首先我们在电脑中找到安装包,安装包的后缀需要是“.exe”的。2. 然后我们勾选这个安装包,并点击下载选项。3. 当下载完成之后我们在本地中找到这个安装包。4. 对安装包进行双击,5. 双击之后会打开...

使用python需要安装哪些软件
《Python 3.9.7软件》百度网盘资源免费下载:链接: https:\/\/pan.baidu.com\/s\/1BY60FGfwL3exK7xOooF_nw ?pwd=nhfc 提取码: nhfc Python 3.9.7最新正式版是一种面向对象、直译式计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定。python具有非常简捷...

如何使用Python问题,怎么解决
为了正确处理多语言文本,Python在2.0版后引入了Unicode字符串。从那时起,Python语言中的字符串就分为两种:一种是2.0版之前就已经使用很久的传统Python字符串,一种则是新的Unicode字符串。在Python语言中,一般的解决办法是使用unicode()内建函数对一个传统Python字符串进行“解码”,得到一个Unicode...

结合实际谈谈python在财务基础工作中的应用
2、以及使用NumPy库进行数值计算和统计分析。自动化报表生成:Python可以结合Excel或其他表格处理软件,实现财务报表的自动生成。通过编写Python脚本,可以定期从数据库中提取数据,然后根据预设的模板和格式生成报表,大大提高了工作效率。3、此外,还可以使用Python的图表库(如Matplotlib、Seaborn等)对数据进行...

python如何自学
学习python主要有自学和报班学习两种方式。具体学的顺序如下:①Python软件开发基础 掌握计算机的构成和工作原理 会使用Linux常用工具 熟练使用Docker的基本命令 建立Python开发环境,并使用print输出 使用Python完成字符串的各种操作 使用Python re模块进行程序设计 使用Python创建文件、访问、删除文件 掌握import ...

在Python3.6里装了tensorflow,怎么在Python10中使用?
为了在 Python 3.10 中使用 Python 3.6 中安装的 TensorFlow,需要将 TensorFlow 从 Python 3.6 中导出,并在 Python 3.10 中导入。具体步骤如下:1. 在 Python 3.6 中安装 TensorFlow。2. 打开命令提示符或终端窗口,进入 Python 3.6 的安装路径(通常为 `C:\\Program Files\\Python36\\` 或...

宜黄县17772312624: 如何在eclipse中运行python -
赧阳马栗: 下载python 下载eclipse 假设有上面两个,下载一个Python的Eclipse插件pydev 下载完后将其解压到Eclipse的目录下.然后打开Eclipse.现在现在要配置在Eclipse里配置Python插件: 1.点击Window ---> preferences ,在左边的标题栏里找到...

宜黄县17772312624: 如何运行Python程序的方法 -
赧阳马栗: 安装完python之后,我们可以做两件事情,1.将安装目录中的Doc目录下的python331.chm使用手册复制到桌面上,方便学习和查阅2.将Python安装路径我的是C:\Python33\加入到系统变量中按win+R打开启动窗口输入python回车 说明配置成功了.就可以正式开始python的编程之旅了,或者点开始按钮找到python菜单 点击Python(command line)命令行工具.防止双击py文件一闪而过的问题程序末尾加一行input()低版本raw.input()

宜黄县17772312624: 有python代码怎么编成可执行的exe程序? -
赧阳马栗: py2exe啊,一点也不老,稳定而且好用. 操作步骤如下: 如果你有一个名为helloworld.py的python脚本,你想把它转换为运行在windows上的可执行程序,并运行在没有安装python的windows系统上,那么首先你应写一个用于发布程序的设置脚...

宜黄县17772312624: python如何编译生成二进制文件? -
赧阳马栗: 用py2exe 打包成可以执行文件

宜黄县17772312624: python 怎样将后缀名为.pyw转换为可执行程序exe -
赧阳马栗: 可以使用py2exe,py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具.安装好py2exe之后,mysetup.py示例如下: # mysetup.py from distutils.core import setup import py2exesetup(console=["helloworld.py"]) 然后按下面的方法运行mysetup.py: python mysetup.py py2exe

宜黄县17772312624: 怎么将python程序转换成exe执行 -
赧阳马栗: py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具,这样,你就可以不用装python而在windows系统上运行这个可执行程序.py2exe已经被用于创建wxPython,Tkinter,Pmw,PyGTK,pygame,win32com client和server,和其它的独立程序.py2exe是发布在开源许可证下的.

宜黄县17772312624: 如何使用py2.exe将python程序打包为exe -
赧阳马栗: 使用py2exe 安装py2exe 进入python程序所在文件夹 在文件夹下写一个setup.py的python文件,内容如下 from distutils.core import setup import py2exe setup(console=["将要转换的文件名称.py"]) 打开CMD窗口,将工作目录切换到python文件所在

宜黄县17772312624: 求助,python3怎么使用pyinstaller.exe进行打包 -
赧阳马栗: 一、下载pyinstaller 我使用的版本为PyInstaller-2.1,支持python版本2.3-2.7,点击这里下载.二、安装pyinstaller 下载完成后,解压即可.我的解压目录为D:\Python27\PyInstaller-2.1\ 三、使用pyinstaller打包.py成.exe应用程序1.注意使用前要安装...

宜黄县17772312624: 怎样将写好的.py文件生成exe可执行文件 -
赧阳马栗: python制作exe可执行文件的方法---使用pyinstallerpython生成windows下exe 格式的可执行程序有三种可选方案:py2exe是大家所熟知的,今天要介绍pyinstaller,这个工具全平台可用.我曾使用python制作一个工 具程序供公司同事使用后,由于...

宜黄县17772312624: 如何将python文件生成exe -
赧阳马栗: 建议使用pyinstaller. pip install pyinstaller 安装好了就这样: pyinstaller xxx.py -F (在后面添加-w,去除控制台; 在后面添加-c,去除所有窗口,只留下控制台)

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网