- 主题:python代码编译成pyd文件是不就很难破解了?
对有心人来说,和给代码没区别
【 在 fishingriver (fishingriver) 的大作中提到: 】
: 发信人: fishingriver (fishingriver), 信区: Python
: 标 题: python代码编译成pyd文件是不就很难破解了?
: 发信站: 水木社区 (Sat Apr 16 21:59:46 2022), 转信
:
--
FROM 117.136.38.*
要指定no folllow选项,然后follow imports只指向自己写的模块,这样我的项目一般五到十分钟以内搞定,需要收到把引用的库copy到exe文件夹就行了,比如numpy,matplotlib之类的
【 在 mggsco 的大作中提到: 】
:
: nuitka用过一次,--follow-imports包含所有需要的模块生成的代码很大编译非常很慢,不用这个选项运行的时候又各种提示没找到模块,还得手动去拷贝。不知道是不是用的方式不对
: --
:
发自「今日水木 on NOH-AL10」
--
FROM 117.136.0.*
怎么把调试信息注释掉呢?
【 在 RunningOn 的大作中提到: 】
: pyd还可以,因为流程实际是py->c->pyd,因此破解难度和破解C编译出的dll难度相当。
: 但默认的配置里会保留调试信息,所以建议手动配置一下把调试信息删除。
: 但要注意的是,doc string是会保留的,即使用'''或"""写的注释会保留,所以要注意非公开信息不要写在里面。
: ...................
--
FROM 218.247.253.*
【 在 laserwin355 的大作中提到: 】
: 要指定no folllow选项,然后follow imports只指向自己写的模块,这样我的项目一般五到十分钟以内搞定,需要收到把引用的库copy到exe文件夹就行了,比如numpy,matplotlib之类的
: 发自「今日水木 on NOH-AL10」
关键是这个copy就挺麻烦的啊,程序调用的其它库有点多,手动copy了半天还出了很多问题。最后还是用pyinstaller打包了
--
修改:mggsco FROM 43.224.44.*
FROM 43.224.44.*
为啥不封装成so文件呢?
【 在 fishingriver 的大作中提到: 】
: 通过pyc似乎比较容易得到源代码,编译成pyd就安全了吧?
: --
:
发自「今日水木 on iPhone 8」
--
FROM 1.204.129.*
取决于你想加密或加速的迫切程度,nuitka的确第是一次特别麻烦,一次成功后就很简单了,每次替换exe即可。
【 在 mggsco 的大作中提到: 】
: 关键是这个copy就挺麻烦的啊,程序调用的其它库有点多,手动copy了半天还出了很多问题。最后还是用pyinstaller打包了
: --
发自「今日水木 on NOH-AL10」
--
FROM 117.136.0.*
so是linux下的dl,本质上pyd一回事
【 在 lokta 的大作中提到: 】
: 为啥不封装成so文件呢?
:
: 发自「今日水木 on iPhone 8」
: --
: 自制博客:www.raspberry.ren
: 开源地址:
https://github.com/howardyan93/fab 发自「今日水木 on NOH-AL10」
--
FROM 117.136.0.*
我的例子是在Linux下的,即py->c->so, 用gcc编译C语言。
用的Cython.Build.cythonize, 代码片段如下:
Extension('build.*', ['*.py'], extra_compile_args=['-O3', '-s'])
里面的-s能删除大多调试信息, -O3是优化速度的. Windows下,编译器的参数和gcc不同,你得自己去查了。
【 在 fishingriver 的大作中提到: 】
: 怎么把调试信息注释掉呢?
:
--
修改:RunningOn FROM 183.192.16.*
FROM 183.192.16.*
好的,多谢多谢!还有一个问题再请教一下:
请问打包成pyd时依赖的包文件是怎么处理的?是静态编译到pyd文件里面了吗?调用pyd时电脑上还需要这些包文件吗?
【 在 RunningOn 的大作中提到: 】
: 我的例子是在Linux下的,即py->c->so, 用gcc编译C语言。
: 用的Cython.Build.cythonize, 代码片段如下:
: Extension('build.*', ['*.py'], extra_compile_args=['-O3', '-s'])
: ...................
--
FROM 114.254.2.*
pyd只是将py转了格式,没有打包依赖,所以电脑上仍然需要安装依赖包。
【 在 fishingriver 的大作中提到: 】
: 好的,多谢多谢!还有一个问题再请教一下:
: 请问打包成pyd时依赖的包文件是怎么处理的?是静态编译到pyd文件里面了吗?调用pyd时电脑上还需要这些包文件吗?
:
--
FROM 183.192.16.*