cython混淆加密
python代码是一种解释型的语言,有了代码和环境就可以执行,它无需编译。如果需要对代码进行混淆,可以借助cython这个库。它的安装很简单,直接运行pip install cython就可以安装。
进行代码混淆之前,还需要一个环境,就是msvc,其实就是visual studio 2017环境安装。
使用cython其实最麻烦的在于vc环境的安装,有了这一步,后面才可以把py文件生成pyd文件,达到加密的目的。
可以准备一个简单的py文件:
hallo.py
def hello(name):return "hello,%s" % namedef add(a, b):return a + b
在hallo.py同目录下新建一个setup.py文件
from distutils.core import setup
from Cython.Build import cythonize
setup(ext_modules=cythonize("hallo.py"))
接着就可以执行如下命令:
python setup.py build_ext
不出意外,运行如下:
C:\Users\buejee\PycharmProjects\pythonProject>python setup.py build_ext
Compiling hallo.py because it changed.
[1/1] Cythonizing hallo.py
C:\Users\buejee\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\Cython\Compiler\Main.py:369: FutureWarning: Cython directive 'language_level' not set, using 2 for now (Py2). This will change in a later release! File: C:\Users\buejee\PycharmProjects\pythonProject\hallo.pytree = Parsing.p_module(s, pxd, full_module_name)
running build_ext
building 'hallo' extension
"D:\tools\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD "-IC:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.2544.0_x64__qbz5n2kfra8p0\include" "-IC:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.2544.0_x64__qbz5n2kfra8p0\Include" "-ID:\tools\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" "-ID:\Windows Kits\10\include\10.0.14393.0\ucrt" "-ID:\Windows Kits\10\include\10.0.14393.0\shared" "-ID:\Windows Kits\10\include\10.0.14393.0\um" "-ID:\Windows Kits\10\include\10.0.14393.0\winrt" "-ID:\Windows Kits\10\include\10.0.14393.0\cppwinrt" /Tchallo.c /Fobuild\temp.win-amd64-cpython-310\Release\hallo.obj
hallo.c
"D:\tools\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\link.exe" /nologo /INCREMENTAL:NO /LTCG /DLL /MANIFEST:EMBED,ID=2 /MANIFESTUAC:NO "/LIBPATH:C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.2544.0_x64__qbz5n2kfra8p0\libs" "/LIBPATH:C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.2544.0_x64__qbz5n2kfra8p0" "/LIBPATH:C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.2544.0_x64__qbz5n2kfra8p0\PCbuild\amd64" "/LIBPATH:D:\tools\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\lib\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\lib\um\x64" "/LIBPATH:D:\Windows Kits\10\lib\10.0.14393.0\ucrt\x64" "/LIBPATH:D:\Windows Kits\10\lib\10.0.14393.0\um\x64" /EXPORT:PyInit_hallo build\temp.win-amd64-cpython-310\Release\hallo.obj /OUT:build\lib.win-amd64-cpython-310\hallo.cp310-win_amd64.pyd /IMPLIB:build\temp.win-amd64-cpython-310\Release\hallo.cp310-win_amd64.lib正在创建库 build\temp.win-amd64-cpython-310\Release\hallo.cp310-win_amd64.lib 和对象 build\temp.win-amd64-cpython-310\Release\hallo.cp310-win_amd64.exp
正在生成代码
已完成代码的生成
构成成功,生成的pyd文件在build目录下:
这个文件虽然名字叫hallo.cp310-win_amd64.pyd,但是你可以像hallo.py文件一样调用。
而这个pyd文件就是经过加密之后的文件,类似dll,可以反汇编,但是不能反编译。
cython混淆加密相关推荐
- ZFJPyMix-Python代码混淆加密
更新说明 https://gitee.com/zfj1128/ZFJPyMix ----------------------------------------分割线----------------- ...
- 解析php混淆加密解密的手段,如 phpjm,phpdp神盾,php威盾
解析php混淆加密解密的手段,如 phpjm,phpdp神盾,php威盾 原文 解析php混淆加密解密的手段,如 phpjm,phpdp神盾,php威盾 php做为一门当下非常流行的web语言,常常看 ...
- 【JS 逆向百例】网洛者反爬练习平台第一题:JS 混淆加密,反 Hook 操作
关注微信公众号:K哥爬虫,持续分享爬虫进阶.JS/安卓逆向等技术干货! 文章目录 声明 写在前面 逆向目标 绕过无限 debugger Hook 参数 逆向参数 PyCharm 本地联调 完整代码 J ...
- android js 代码混淆工具,好用的JS(Javascript)混淆加密工具-HDS JSObfuscator 2.14版
好用的JS(Javascript)混淆加密工具-HDS JSObfuscator 2.14版 书法字体2017.06.23css压缩 分享一款好用的JS混淆加密工具:HDS JSObfuscator ...
- PowerShield (软件加壳工具) PB混淆加密大师
PB如何防反编译? 用PBKiller.exe 能看到pb编译出来pbd和dll里面完整的代码. 试试PB防反编译powershield V1.0, 对exe所在的pbd混淆,其他的pbd中的代码. ...
- js脚本混淆加密(转载)
"混淆"也好,"加密"也好,都是为了加强代码的安全性,防范被人任意查看,在一定程度上保护资源. 请大家注意,在本主题的标题上,我把"混淆". ...
- 前端JavaScript代码混淆加密原理介绍
因为JavaScript大都是运行在浏览器端,这就导致任何人都可以直接对网站的代码进行查看,如果代码没有进行任何处理就会导致直接暴露源码,他人便可轻而易举的复制你的劳动成果,但是由于没有纯粹的加密方案 ...
- 研究下php加密混淆,解析php混淆加密解密的手段,如 phpjm,phpdp神盾
php做为一门当下非常流行的web语言,常常看到有人求解密php文件,想当年的asp也是一样.一些人不理解为什么要混淆(加密),甚至鄙视混淆(加密),在我看来混淆加密代码可以用来防一般的小人,会起到一 ...
- php怎么魔方加密,深度解析php混淆加密解密的手段,希望对大家解读魔方加密有所帮助 [tihuan]...
深度解析php混淆加密解密的手段,希望对大家解读魔方加密有所帮助 [tihuan] 2018-12-31 php做为一门当下非常流行的web语言,常常看到有人求解密php文件,想当年的asp也是一样. ...
- 一个对C#程序混淆加密,小巧但够用的小工具
对于我们程序员来说,平常开发的桌面应用程序,如果不进行一定程度的加密.混淆,是很容易通过反编译手段进行破解的,特别是一些商业用途的C#软件,更是容易被破解. 所以今天给大家推荐一个对C#程序加密混淆项 ...
最新文章
- java tooltips_一款使用纯javacript编写的轻量级tooltips工具
- do{}while(0) 作用
- 切片分析报告格式_疫情舆情分析研判报告怎么撰写?2020舆情报告格式
- python数据分析实战:数据可视化的一些基本操作
- java,list遍历赋值
- DOS特殊字符转义方法
- asp.net运行机制
- 图像处理基本算法-直方图均衡
- Python 将时间戳转换为本地时间并进行格式化
- 主进程退出后子进程还会存在吗?_进程和线程面试常见的19个问题
- springboot项目控制层的接口注入报错
- 3dmax如何删除重叠部分
- 大数据基础概念(三)
- Linux编译simplest_ffmpeg_player
- 数据不满足正态分布,方差齐性怎么办?
- button的setClickable 和 setEnabled 区别
- 重新认识 Java 中的内存映射(mmap)
- 国内公认超级美景,有时间和你心爱的人开始一段旅程
- No7. 字符串匹配
- ubuntu 装在ssd_如何在Ubuntu中调整SSD以提高性能