Pyarmor does not recursively generate obfuscated files

342 Views Asked by At

I have been unable to get pyarmor to recursively obfuscate files with even the simplest case. Here, I have two files, main.py and foo.py. The contents of main.py are:

import foo

foo.test()

and the contents of foo.py are:

def test():
    print('test')

When I try and recursively generate the obfuscated files from main.py I get the following

C:\Code\amatbb.amat.com\ssd_workbench\PyarmorTest>pyarmor gen -r main.py
INFO     Python 3.8.10
INFO     Pyarmor 8.0.19 (basic), 004046, TBD
INFO     search inputs ...
INFO     find script main.py
INFO     find 1 top resources
INFO     start to generate runtime files
INFO     target platforms {'windows.amd64'}
INFO     write dist\pyarmor_runtime_004046\pyarmor_runtime.pyd
INFO     patch runtime file
INFO     generate runtime files OK
INFO     start to obfuscate scripts
INFO     process resource "main"
INFO     obfuscating file main.py
INFO     write dist\main.py
INFO     obfuscate scripts OK

Here this doesnt obfuscate foo, even though it is imported in main.py. When trying to run the obfuscated main.py, I get the expected following error:

Traceback (most recent call last):
  File "<dist/main.py>", line 3, in <module>
  File "<main>", line 1, in <module>
ModuleNotFoundError: No module named 'foo'

This seems like the most trivial example, so I suspect I am missing something obvious, however Im at a loss. Any help would be greatly appreciated. text

I have tried recursive generating the simplest case, but it only seems to obfuscate the top level file

0

There are 0 best solutions below