将 .py 文件编译为 .c 文件,然后转换为 .so 文件
compile .py file to .c file then convert to .so file
我正在尝试用 Cython 编译 python 文件,它被编译为 .c 文件
然后我使用 gcc 来加密最好的方法是什么
我是这样做的:
cython -a test.py
然后 :
gcc -shared -pthread -fPIC -fwrapv -O2 -Wall -fno-strict-aliasing -I/usr/include/python2.7 -o test.so test.c
但有人告诉我他解密了我的文件并看到了代码
使用 GCC
加密的最佳方式是什么
谢谢。
什么加密?没有。您生成的是一个共享库 - 一个 .so
文件。
这可以检查符号并反汇编,但您不能轻易恢复原始 Python 或 C 代码。
编译和加密不是一回事。编译代码旨在使其可由机器或虚拟机/语言运行时执行。虽然通常不可能 反编译 编译后的程序为原始源代码(或什至接近它的东西),但通常可以恢复类似于原始源代码的东西。
这可能的程度取决于许多因素,包括:
- 原始语言
- 使用的编译器
- 编译过程中涉及的中间表示的数量
- 编译器优化代码的积极程度(通常是编译器选项)
- 调试符号是否已从生成的可执行文件中删除
我正在尝试用 Cython 编译 python 文件,它被编译为 .c 文件 然后我使用 gcc 来加密最好的方法是什么
我是这样做的:
cython -a test.py
然后 :
gcc -shared -pthread -fPIC -fwrapv -O2 -Wall -fno-strict-aliasing -I/usr/include/python2.7 -o test.so test.c
但有人告诉我他解密了我的文件并看到了代码 使用 GCC
加密的最佳方式是什么谢谢。
什么加密?没有。您生成的是一个共享库 - 一个 .so
文件。
这可以检查符号并反汇编,但您不能轻易恢复原始 Python 或 C 代码。
编译和加密不是一回事。编译代码旨在使其可由机器或虚拟机/语言运行时执行。虽然通常不可能 反编译 编译后的程序为原始源代码(或什至接近它的东西),但通常可以恢复类似于原始源代码的东西。
这可能的程度取决于许多因素,包括:
- 原始语言
- 使用的编译器
- 编译过程中涉及的中间表示的数量
- 编译器优化代码的积极程度(通常是编译器选项)
- 调试符号是否已从生成的可执行文件中删除