导航:首页 > 编程语言 > python给执行文件加壳

python给执行文件加壳

发布时间:2022-12-08 12:08:40

A. 怎样对 python 源码加密

代码加密
大概整理了以下几种方法:
编译成pyc文件
使用py2exe将python代码转成window下执行的exe文件
关键代码部分使用c或者c++写,然后在python中调用
用C写一个license,进行license验证
作为一门解释型的语言,加密的难度超级大。下面来简单分析上面的解决方案:
编译成pyc文件几乎跟pyc没有区别,保护力度太低
要是在linux机器上就没法使用,而且这种exe文件也可以被破解的
核心代码部分是计算密集型,用的是pandas,numpy等库,用c重写,简直不可能,工作量太大。
没搞过,不知道………
看来上面的解决方案都是不行的,在stackoverflow上对这个问题也进行了详细的讨论,用我蹩脚的英文来翻译(意译)一下得票率最高的:
“有什么方法来解决这个问题吗?(加密的问题)”没有。任何保护都可以被逆向工程破解。就连DVD机的固件都可以被破解,尽管法律判定其为非法,但是AACS加密密钥还是泄露出来。
因为没有技术的方法可以阻止你的客户看你的代码,你必须用传统的商业方法。
1. 许可证,合约,条款,条件。只要用户签订了这些东西,及时用户可以看见代码,也会有法律约束(不过此建议在中国目前貌似不顶用)
2. 提供巨大的价值。如果你的东西非常好,而且价格很合理,那么用户很难拒绝——没必要浪费时间和金钱去搞逆向工程啥的,因为逆向工程是很费银子的。让你的产品有足够的性价比。
3. 经常性的升级和增加新的功能,使得逆向工程不那么好使。当下一个版本破坏了逆向工程,那么以前的破解就没有意义了。
4. 定制化生产,为不同的客户提供不同的产品。(貌似代价有点高啊)
5. 使用有时间限制的许可证,这会给你带来不好的名声,但是会保证你的软件会停止工作
6. 设计为web service.
代码混淆
既然加密不是一个好方法,那要还是不死心,那就做一个简单的混淆算了,虽然只能”防君子,不防小人“。但是不能就这样把代码暴露出来。
这里推荐一个找了好久的东西: pyobfuscate这个东西在window7中的cmd中貌似总是混淆失败,无奈用了MINGW32,居然搞定了。官方的资料有这样的介绍:
pyobfuscate有几种转化代码的方式,有些可逆,有些不可逆。
移除注释和文档 ( 不可逆)
改变缩进(可逆)
在tokens之间加入空格(一定程度上可逆)
重命名函数,类,和变量(不可逆)
在空白行中加入无效的代码
我没有选择混淆函数名和类名,因为其他地方还要调用呢。下面是我混淆的结果,还挺好看的:
def my_fuction_to_test ( self , start_date , end_date ) :
iiiii11iII1 = self . get_something ( start_date , end_date )
O0o = [ ]
for oO0 in iiiii11iII1 :
if oO0 [ "isOpen" ] == 1 :
IIIi1i1I = { }
OOoOoo00oo = dt . strptime ( oO0 [ 'calendarDate' ] , '%Y-%m-%d' )
IIIi1i1I [ 'day' ] = OOoOoo00oo . strftime ( '%Y%m%d' )
IIIi1i1I [ 'week' ] = oO0 [ 'isWeekEnd' ]
IIIi1i1I [ 'month' ] = oO0 [ 'isMonthEnd' ]
IIIi1i1I [ 'weekday' ] = OOoOoo00oo . weekday ( )
O0o . append ( IIIi1i1I )
iiI11 = pd . DataFrame ( O0o )
return iiI11

B. 怎么把 python 打包成 exe 可执行文件

python生成windows下exe格式的可执行程序有三种可选方案: py2exe是大家所熟知的,今天要介绍pyinstaller, 这个工具全平台可用。我曾使用python制作一个工具程序供公司同事使用后,由于公司使用mac linux windows都有很多,就使用过它来将程序做成可执行文件,兼容性好,只是会使得程序在linux平台和mac平台启动较慢(windows还是比较快的),但基本够用。

安装完pyinstaller之后就可以开始了。

1.使用pyinstaller生成可执行文件的方法
1.1 将依赖文件集中到一个文件夹
pyinstaller -D -w main.py #把main.py替换成你的主入口python文件即可。
-w参数代表main.py是一个窗体程序。
1.2 将所有依赖文件都打包到同一个可执行文件中:
pyinstaller -F -w main.py

2.调查pyinstaller生成程序的加载过程
使用如下命令,可以得到运行时的跟踪,tracing ,loader 的加载过程。
pyinstaller -Fwd aui.py #把aui.py 换成你需要侦测的文件即可。

C. 怎么将python代码封装成一个程序

如何将python程序封装成exe可执行文件

将python程序直接转成exe程序的方法很多,主流的工具有PyInstaller、cx_freeze、py2exe等,论及优缺点,可谓各有千秋。然而,再好的工具在使用的时候也会遇到各种各样的问题。这里无法比较哪个好那个坏,不同工具对不同类型程序的处理能力不同,也许你用这个方法转化出来的程序出问题了,换个方法就行了。本文主要介绍py2exe的安装和使用。

py2exe的安装

D. linux系统下,如何将python文件封装成exe可执行文件

Python程序是标准的文本文件,由Python解释执行,不可能封装成可执行文件,只能以文本方式发布,造成不能版权保护,这是Python的一个弱点。

E. Python可以做系统底层开发吗

可以的,因为pytho可以调用系统的API,C怎么调用,python一样怎么调用就行。
具体如何实现可以参考:python灰帽子一书,这本书的中文版网上到处有下,一下就好
下面是目录:看看吧,没什么不能做的
目录
· · · · · ·

第1章 搭建开发环境 1

1.1 操作系统要求 1

1.2 获取和安装Python 2.5 2

1.2.1 在Windows下安装Python 2

1.2.2 在Linux下安装Python 2

1.3 安装Eclipse和PyDev 4

1.3.1 黑客挚友:ctype库 5

1.3.2 使用动态链接库 6

1.3.3 构建C数据类型 8

1.3.4 按引用传参 9

1.3.5 定义结构体和联合体 9

第2章 调试器原理和设计 12

2.1 通用寄存器 13

2.2 栈 15

2.3 调试事件 17

2.4 断点 18

2.4.1 软断点 18

2.4.2 硬件断点 20

2.4.3 内存断点 22

第3章 构建自己的Windows调试器 24

3.1 Debugee,敢问你在何处 24

3.2 获取寄存器状态信息 33

3.2.1 线程枚举 34

3.2.2 功能整合 35

3.3 实现调试事件处理例程 39

3.4 无所不能的断点 44

3.4.1 软断点 44

3.4.2 硬件断点 49

3.4.3 内存断点 55

3.5 总结 59

第4章 PyDbg——Windows下的纯Python调试器 60

4.1 扩展断点处理例程 60

4.2 非法内存操作处理例程 63

4.3 进程快照 66

4.3.1 获取进程快照 67

4.3.2 汇总与整合 70

第5章 Immunity Debugger——两极世界的最佳选择 74

5.1 安装Immunity Debugger 74

5.2 Immunity Debugger 101 75

5.2.1 PyCommand命令 76

5.2.2 PyHooks 76

5.3 Exploit(漏洞利用程序)开发 78

5.3.1 搜寻exploit友好指令 78

5.3.2 “坏”字符过滤 80

5.3.3 绕过Windows 下的DEP机制 82

5.4 破除恶意软件中的反调试例程 87

5.4.1 IsDebuugerPresent 87

5.4.2 破除进程枚举例程 88

第6章 钩子的艺术 90

6.1 使用PyDbg部署软钩子 90

6.2 使用Immunity Debugger部署硬钩子 95

第7章 DLL注入与代码注入技术 101

7.1 创建远程线程 101

7.1.1 DLL注入 102

7.1.2 代码注入 105

7.2 遁入黑暗 108

7.2.1 文件隐藏 109

7.2.2 构建后门 110

7.2.3 使用py2exe编译Python代码 114

第8章 Fuzzing 117

8.1 几种常见的bug类型 118

8.1.1 缓冲区溢出 118

8.1.2 整数溢出 119

8.1.3 格式化串攻击 121

8.2 文件Fuzzer 122

8.3 后续改进策略 129

8.3.1 代码覆盖率 129

8.3.2 自动化静态分析 130

第9章 Sulley 131

9.1 安装Sulley 132

9.2 Sulley中的基本数据类型 132

9.2.1 字符串 133

9.2.2 分隔符 133

9.2.3 静态和随机数据类型 134

9.2.4 二进制数据 134

9.2.5 整数 134

9.2.6 块与组 135

9.3 行刺WarFTPD 136

9.3.1 FTP 101 137

9.3.2 创建FTP协议描述框架 138

9.3.3 Sulley会话 139

9.3.4 网络和进程监控 140

9.3.5 Fuzzing测试以及Sulley的Web界面 141

第10章 面向Windows驱动的Fuzzing测试技术 145

10.1 驱动通信基础 146

10.2 使用Immunity Debugger进行驱动级的Fuzzing测试 147

10.3 Driverlib——面向驱动的静态分析工具 151

10.3.1 寻找设备名称 152

10.3.2 寻找IOCTL分派例程 153

10.3.3 搜寻有效的IOCTL控制码 155

10.4 构建一个驱动Fuzzer 157

第11章 IDAPython——IDA PRO环境下的Python脚本编程 162

11.1 安装IDAPython 163

11.2 IDAPython函数 164

11.2.1 两个工具函数 164

11.2.2 段(Segment) 164

11.2.3 函数 165

11.2.4 交叉引用 166

11.2.5 调试器钩子 166

11.3 脚本实例 167

11.3.1 搜寻危险函数的交叉代码 168

11.3.2 函数覆盖检测 169

11.3.3 检测栈变量大小 171

第12章 PYEmu——脚本驱动式仿真器 174

12.1 安装PyEmu 174

12.2 PyEmu概览 175

12.2.1 PyCPU 175

12.2.2 PyMemory 176

12.2.3 PyEmu 176

12.2.4 指令执行 176

12.2.5 内存修改器与寄存器修改器 177

12.2.6 处理例程(Handler) 177

12.3 IDAPyEmu 182

12.3.1 函数仿真 184

12.3.2 PEPyEmu 187

12.3.3 可执行文件加壳器 188

12.3.4 UPX加壳器 188

12.3.5 利用PEPyEmu脱UPX壳 189

F. python写的程序怎样加密

对Python加密时可能会有两种形式,一种是对Python转成的exe进行保护,另一种是直接对.py或者.pyc文件进行保护,下面将列举两种形式的保护流程。

1、对python转exe加壳

下载最新版VirboxProtector加壳工具,使用加壳工具直接对demo.exe进行加壳操作

2、对.py/.pyc加密

第一步,使用加壳工具对python安装目录下的python.exe进行加壳,将python.exe拖入到加壳工具VirboxProtector中,配置后直接点击加壳。

第二步,对.py/.pyc进行加密,使用DSProtector对.py/.pyc进行保护。

安全技术:

l虚拟机外壳:精锐5的外壳保护工具,创新性的引入了预分析和自动优化引擎,有效的解决了虚拟化保护代码时的安全性和性能平衡问题。

l碎片代码执行:利用自身成熟的外壳中的代码提取技术,抽取大量、大段代码,加密混淆后在安全环境中执行,最大程度上减少加密锁底层技术和功能的依赖,同时大量大段地移植又保证了更高的安全性。

lVirbox加密编译引擎:集编译、混淆等安全功能于一身,由于在编译阶段介入,可优化空间是普遍虚拟化技术无法比拟的,对代码、变量的混淆程度也有了根本的提升。

l反黑引擎:内置R0级核心态反黑引擎,基于黑客行为特征 的(反黑数据库)反制手段。精准打击调试、注入、内存修改等黑客行为,由被动挨打到主动防护。

加密效果:

加密之前

以pyinstall 的打包方式为例,使用pyinstxtractor.py文件对log_322.exe进行反编译,执行后会生成log_322.exe_extracted文件夹,文件夹内会生成pyc文件。

成功之后会在同目录下生成一个文件夹

G. 如何把python3程序原文件封装成exe

1.python封装成exe,对于2.3 - 2.7版本的,都可以用PyInstaller:
【记录】用PyInstaller把Python代码打包成单个独立的exe可执行文件

2.你这个是Python 3,没法用PyInstaller
cx_freeze,好像是支持的,你可以去试试。
3.关于cx_freeze,自己google:
cx_freeze
就可以找到详细信息了。

(此处不给贴地址,请自己用google搜标题,即可找到帖子地址)

H. 如何将python程序封装成exe可执行文件

用pyinstaller,很容易就能实现,步骤如下:
下载pyinstaller包,(我可以安装包发给你),把pyinstaller解压到任意路径后
1.开始->运行->cmd->回车
2.把路径改为pyinstaller所在的路径。比如pyinstaller在D盘,则输入“D:”(不包括“下同)回车,再输入”cd pyinstaller”回车
3.把你要打包的.py文件和执行文件所需要的文件复制到你解压的文件夹中(假如你要打包hello.py)
4.输入“Configure.py”回车
5.输入“Makespec.py hello.py”回车,正确的话会产生一个hello文件夹,把这个文件夹你的hello.spec文件复制到跟hello.py一个目录里
6.输入“Build.py hello.spec”回车,正确执行后会在当前目录产生几个文件夹,在dist文件夹里的东西就是我们所需要的,最后记得把所有程序hello.py所需的文件拷到dist文件夹里。

阅读全文

与python给执行文件加壳相关的资料

热点内容
android智能家居蓝牙 浏览:644
pt螺纹编程 浏览:451
手机电音app哪个好 浏览:749
checksum命令 浏览:637
java创建xml文件 浏览:170
算命源码国际版 浏览:283
三菱模块化编程 浏览:718
控件读取文件源码 浏览:445
文件夹侧面目录标签怎么制作 浏览:232
做程序员学什么 浏览:320
pdfeditor教程 浏览:880
fortran把文件放入文件夹 浏览:709
程序员1年经验不敢投简历 浏览:481
如何看电脑的源码 浏览:897
找工作app软件哪个好 浏览:96
信息管理网站源码 浏览:439
小说app哪个好免费 浏览:224
域名在线加密 浏览:146
软件编程西安交大 浏览:453
是不是串货的奶粉查不到溯源码的 浏览:825