dashingsoft / pyarmor

A tool used to obfuscate python scripts, bind obfuscated scripts to fixed machine or expire obfuscated scripts.
http://pyarmor.dashingsoft.com
Other
3.37k stars 284 forks source link

[BUG] Cant build onefile executable via pyarmor-webui #1853

Closed crasyjoel closed 3 months ago

crasyjoel commented 4 months ago

Trying to pack file to one executable via pyarmor-webui: INFO Python 3.12.0 INFO Pyarmor 8.5.9 (pro), xx, xx INFO Platform windows.x86_64 DEBUG native platform windows.amd64 DEBUG home path: C:\Users\xx.pyarmor DEBUG implicitly set restrict_module = 2 INFO implicitly save obfuscated scripts to ".pyarmor\pack\dist" DEBUG command options: {'recursive': True, 'output': '.pyarmor\pack\dist', 'no_runtime': False, 'enable_bcc': True, 'assert_import': True, 'assert_call': True, 'mix_str': True, 'inputs': ['C:\Users\xx\PycharmProjects\Project_Management\Controller', 'C:\Users\xx\PycharmProjects \Project_Management\Model', 'C:\Users\xx\PycharmProjects\Project_Management\output', 'C:\Users\xx\PycharmProjects\Project_Management\resource', 'C:\Users\xx\PycharmProjects\Project_Management\Result', 'C:\Users\xx\PycharmProjects\Project_Management\S ource', 'C:\Users\xx\PycharmProjects\Project_Management\test', 'C:\Users\xx\PycharmProjects\Project_Management\test0424', 'C:\Users\xx\PycharmProjects\Project_Management\test0505', 'C:\Users\xx\PycharmProjects\Project_Management\test0516', 'C:\Users\ xx\PycharmProjects\Project_Management\test0517', 'C:\Users\xx\PycharmProjects\Project_Management\test0526', 'C:\Users\xx\PycharmProjects\Project_Management\test0601', 'C:\Users\xx\PycharmProjects\Project_Management\test0602', 'C:\Users\xx\Pyc harmProjects\Project_Management\test0604', 'C:\Users\xx\PycharmProjects\Project_Management\View', 'C:\Users\xx\PycharmProjects\Project_Management\app.py', 'C:\Users\xx\PycharmProjects\Project_Management\demo.py', 'C:\Users\xx\PycharmProjects\Project_Management\xxxx.py'], 'restrict_module': 2, 'excludes': '\dist \output *\Result'} DEBUG install plugin: CodesignPlugin DEBUG install plugin: DarwinUniversalPlugin INFO search inputs ... INFO find package at C:\Users\xx\PycharmProjects\Project_Management\Controller INFO find package at C:\Users\xx\PycharmProjects\Project_Management\Model INFO find package at C:\Users\xx\PycharmProjects\Project_Management\output INFO find package at C:\Users\xx\PycharmProjects\Project_Management\resource INFO find package at C:\Users\xx\PycharmProjects\Project_Management\Result INFO find package at C:\Users\xx\PycharmProjects\Project_Management\Source INFO find package at C:\Users\xx\PycharmProjects\Project_Management\test INFO find package at C:\Users\xx\PycharmProjects\Project_Management\test0424 INFO find package at C:\Users\xx\PycharmProjects\Project_Management\test0505 INFO find package at C:\Users\xx\PycharmProjects\Project_Management\test0516 INFO find package at C:\Users\xx\PycharmProjects\Project_Management\test0517 INFO find package at C:\Users\xx\PycharmProjects\Project_Management\test0526 INFO find package at C:\Users\xx\PycharmProjects\Project_Management\test0601 INFO find package at C:\Users\xx\PycharmProjects\Project_Management\test0602 INFO find package at C:\Users\xx\PycharmProjects\Project_Management\test0604 INFO find package at C:\Users\xx\PycharmProjects\Project_Management\View INFO find script C:\Users\xx\PycharmProjects\Project_Management\app.py INFO find script C:\Users\xx\PycharmProjects\Project_Management\demo.py INFO find script C:\Users\xx\PycharmProjects\Project_Management\xxx.py INFO find 19 top resources DEBUG C:\Users\xx\PycharmProjects\project compare.venv\Scripts\python.exe -m PyInstaller.utils.cliutils.makespec C:\Users\xx\PycharmProjects\Project_Management\Controller INFO call PyInstaller to generate specfile DEBUG C:\Users\xx\PycharmProjects\project compare.venv\Scripts\python.exe -m PyInstaller --clean --workpath .pyarmor\pack\build Controller.spec INFO call PyInstaller to analysis, it may take several minutes ... ERROR Failed to handle request Traceback (most recent call last): File "C:\Users\xx\PycharmProjects\project compare.venv\Lib\site-packages\pyarmor\webui\server.py", line 81, in do_POST result['data'] = self.roothandler.dispatch(self.path[1:], args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\xx\PycharmProjects\project compare.venv\Lib\site-packages\pyarmor\webui\handler.py", line 49, in dispatch return handler.dispatch(path[i+1:], args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\xx\PycharmProjects\project compare.venv\Lib\site-packages\pyarmor\webui\handler.py", line 43, in dispatch return getattr(self, 'do' + path)(args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\xx\PycharmProjects\project compare.venv\Lib\site-packages\pyarmor\webui\handler8.py", line 448, in do_diagnose return self.do_build(args, debug=True) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\xx\PycharmProjects\project compare.venv\Lib\site-packages\pyarmor\webui\handler8.py", line 445, in do_build return self._build_target(path, args, debug=debug) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\xx\PycharmProjects\project compare.venv\Lib\site-packages\pyarmor\webui\handler8.py", line 351, in _build_target call_pyarmor(cmd_args, homepath=homepath, debug=debug) File "C:\Users\xx\PycharmProjects\project compare.venv\Lib\site-packages\pyarmor\webui\handler8.py", line 56, in call_pyarmor pyarmor_main(extra_opts + args) File "C:\Users\xx\PycharmProjects\project compare.venv\Lib\site-packages\pyarmor\cli__main__.py", line 752, in main_entry return args.func(ctx, args) ^^^^^^^^^^^^^^^^^^^^ File "C:\Users\xx\PycharmProjects\project compare.venv\Lib\site-packages\pyarmor\cli__main__.py", line 240, in cmd_gen builder.process(options, packer=packer) File "C:\Users\xx\PycharmProjects\project compare.venv\Lib\site-packages\pyarmor\cli\generate.py", line 178, in process auto_resources = packer.analysis() ^^^^^^^^^^^^^^^^^ File "C:\Users\xx\PycharmProjects\project compare.venv\Lib\site-packages\pyarmor\cli\repack.py", line 174, in analysis check_call(cmdlist, stdout=DEVNULL, stderr=DEVNULL) File "C:\Users\xx\AppData\Local\Programs\Python\Python312\Lib\subprocess.py", line 413, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['C:\Users\xx\PycharmProjects\project compare\.venv\Scripts\python.exe', '-m', 'PyInstaller', '--clean', '--workpath', '.pyarmor\pack\build', 'Controller.spec']' returned non-zero exit status 1. 127.0.0.1 - - [27/Jun/2024 13:54:45] "POST /project/diagnose HTTP/1.1" 200 -

jondy commented 4 months ago

Does it work to pack the obfuscated script by pyarmor directly?

If it works, try to run this command to check the output

['C:\\Users\\xx\\PycharmProjects\\project                             
  compare\\.venv\\Scripts\\python.exe', '-m', 'PyInstaller', '--clean', '--
  workpath', '.pyarmor\\pack\\build', 'Controller.spec']