Skip to content

honysyang/pysectool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python 源文件打包工具

项目初衷

为保护python源文件程序的知识产权,避免被不法分子直接剽窃

项目简介

这是一个 Python 源文件打包工具,支持将 Python 文件打包为动态库(pyd/so)、可执行文件(exe)以及 ZIP 包。工具能够分析依赖并在打包时包含依赖文件。

项目结构

    pysectool/ 
      Readme.md 
      Readme.txt      
      example.so 
      example1.py 
      example1.so 
      main.py
      banner.txt            #banner文件
      packager_v1.py        #打包工具 v1版   提供给python文件打包为so文件功能
      packager_v2.py        #打包工具 v2版   提供给python文件夹打包为so文件功能
      setup.py           

打包格式支持

  • pyd/so : 使用 Cython 打包为动态库。
  • exe : 使用 PyInstaller 打包为可执行文件。
  • ZIP : 包含依赖时会自动创建包含主模块和依赖的 ZIP 包。

支持二开

支持添加混淆、反调试、反分析、加密等安全功能。

使用说明

python packager.py <source_file> -o <output_dir> -f <format> [--no-deps] [--no-optimize] -b <banner>

参数说明

<source_file>: 要打包的 Python 源文件路径。 -o, --output: 输出目录。 -f, --format: 打包格式,支持 pyd, so, exe,默认为 pyd。 --no-deps: 不包含依赖。 --no-optimize: 不优化代码。 -b 制定banner文件

用例1:将python源文件打包为so文件,并在其他地方调用

python setup.py install

example1.py 内容如下:

import subprocess
def check_ping(): 
    """要求用户输入 IP 地址,并检测该 IP 是否可以 ping 通"""
    ip = input("请输入要检测的 IP 地址: ")
    try:
        # 在 Linux 系统上使用 ping 命令,发送 4 个数据包
        result = subprocess.run(['ping', '-c', '4', ip], stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
        if result.returncode == 0:
            print(f"IP {ip} 可以 ping 通。")
        else:
            print(f"IP {ip} 无法 ping 通。")
    except Exception as e:
        print(f"检测过程中出现错误: {e}")

if __name__ == "__main__":
    check_ping()
python-packager example1.py -o . -f so   #生成example1.so

main程序调用example1.so

import example1

if __name__ == "__main__":
    example1.check_ping()
(venv) (base) root@uweic:/home/workspace/pysectool# python main.py 
请输入要检测的 IP 地址: 10.1.2.100
IP 10.1.2.100 可以 ping 通。

用例2:自定义banner,确保打包工具打包后的文件,在使用时,均会输出该banner

python setup.py install
python-packager example1.py -o . -f so -b banner.txt  #生成example1.so
python main.py

image

IDA调试

用例example1.so 解析后内容如下: image

About

python源文件保护程序

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages