将.py文件编译为.c文件,然后转换为.so文件

时间:2015-03-26 07:59:36

标签: python gcc cython

我正在尝试使用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加密的最佳方法是什么

感谢。

2 个答案:

答案 0 :(得分:0)

什么加密?没有。您生成的是共享库 - .so文件。

这可以检查符号和反汇编,但你不能轻易恢复原始的Python或C代码。

答案 1 :(得分:0)

编译与加密不同。编译代码旨在使其可由机器或虚拟机/语言运行时执行。虽然通常不可能将已编译的程序反编译到原始源代码(甚至是接近它的东西),但通常可以恢复类似于原始源代码的东西。

可能的范围取决于许多因素,包括:

  • 原始语言
  • 编译器使用
  • 编译过程中涉及的中间表示的数量
  • 编译器如何积极地优化代码(通常是编译器选项)
  • 是否已从生成的可执行文件中删除调试符号