pyarmor 8.5.9__zip → 8.5.10__zip
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pyarmor-8.5.9 → pyarmor-8.5.10}/PKG-INFO +1 -1
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/cli/__init__.py +1 -1
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/cli/bug.py +14 -3
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/cli/context.py +30 -6
- pyarmor-8.5.10/pyarmor/cli/core.data.1 +0 -0
- pyarmor-8.5.10/pyarmor/cli/core.data.3 +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/cli/default.cfg +5 -2
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/cli/generate.py +1 -4
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/cli/hdinfo.py +17 -1
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/cli/register.py +3 -1
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/cli/repack.py +1 -1
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/config.py +1 -1
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor.egg-info/PKG-INFO +1 -1
- pyarmor-8.5.10/pyarmor.egg-info/requires.txt +1 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/setup.py +1 -1
- pyarmor-8.5.9/pyarmor/cli/core.data.1 +0 -0
- pyarmor-8.5.9/pyarmor/cli/core.data.3 +0 -0
- pyarmor-8.5.9/pyarmor.egg-info/requires.txt +0 -1
- {pyarmor-8.5.9 → pyarmor-8.5.10}/MANIFEST.in +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/README.md +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/README.rst +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/__init__.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/benchmark.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/build_meta.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/cli/__main__.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/cli/bootstrap.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/cli/config.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/cli/core.data.2 +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/cli/docker.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/cli/merge.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/cli/mixer.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/cli/plugin.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/cli/public_capsule.zip +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/cli/resource.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/cli/shell.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/cobuilder.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/examples/README-ZH.md +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/examples/README.md +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/examples/build-for-exe.bat +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/examples/build-for-freeze.bat +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/examples/build-with-project.bat +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/examples/build-with-project.sh +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/examples/cx_Freeze/hello.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/examples/cx_Freeze/queens.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/examples/cx_Freeze/setup.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/examples/helloworld/foo.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/examples/obfuscate-app.bat +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/examples/obfuscate-app.sh +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/examples/obfuscate-pkg.bat +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/examples/obfuscate-pkg.sh +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/examples/pack-obfuscated-scripts.bat +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/examples/pack-obfuscated-scripts.sh +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/examples/py2exe/hello.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/examples/py2exe/queens.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/examples/py2exe/setup.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/examples/pybench/Arithmetic.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/examples/pybench/Calls.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/examples/pybench/CommandLine.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/examples/pybench/Constructs.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/examples/pybench/Dict.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/examples/pybench/Exceptions.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/examples/pybench/Imports.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/examples/pybench/Instances.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/examples/pybench/Lists.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/examples/pybench/Lookups.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/examples/pybench/NewInstances.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/examples/pybench/Numbers.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/examples/pybench/Setup.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/examples/pybench/Strings.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/examples/pybench/Tuples.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/examples/pybench/With.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/examples/pybench/clockres.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/examples/pybench/package/__init__.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/examples/pybench/package/submodule.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/examples/pybench/pybench.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/examples/pybench/systimes.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/examples/simple/queens.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/examples/testmod/hello.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/examples/testmod/queens.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/examples/testpkg/main.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/examples/testpkg/mypkg/__init__.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/examples/testpkg/mypkg/foo.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/helper/__init__.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/helper/build_data_module.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/helper/buildext.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/helper/get_bind_key.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/helper/get_license_info.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/helper/get_platform_name.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/helper/merge.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/helper/repack.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/helper/superuntime.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/license.tri +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/packer.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/platforms/darwin/x86_64/_pytransform.dylib +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/platforms/linux/x86/_pytransform.so +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/platforms/linux/x86_64/_pytransform.so +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/platforms/windows/x86/_pytransform.dll +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/platforms/windows/x86_64/_pytransform.dll +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/plugins/README.md +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/plugins/check_ntp_time.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/polyfills/__init__.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/polyfills/argparse.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/product.key +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/project.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/protect_code.pt +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/protect_code2.pt +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/public.key +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/public_capsule.zip +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/pyarmor-deprecated.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/pyarmor-webui.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/pyarmor.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/pyimcore.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/pyshield.key +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/pyshield.lic +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/pytransform.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/reform.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/register.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/sppmode.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor/utils.py +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor.egg-info/SOURCES.txt +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor.egg-info/dependency_links.txt +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor.egg-info/entry_points.txt +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/pyarmor.egg-info/top_level.txt +0 -0
- {pyarmor-8.5.9 → pyarmor-8.5.10}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 1.1
|
|
2
2
|
Name: pyarmor
|
|
3
|
-
Version: 8.5.
|
|
3
|
+
Version: 8.5.10
|
|
4
4
|
Summary: A tool used to obfuscate python scripts, bind obfuscated scripts to fixed machine or expire obfuscated scripts.
|
|
5
5
|
Home-page: https://github.com/dashingsoft/pyarmor
|
|
6
6
|
Author: Jondy Zhao
|
|
@@ -36,7 +36,7 @@ $tracelog
|
|
|
36
36
|
$tb
|
|
37
37
|
''')
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
UNUSED_ENABLE_DEBUG_HINTS = '''something is wrong
|
|
40
40
|
*=============================================================*
|
|
41
41
|
* Please enable debug option `-d` to run it again *
|
|
42
42
|
* pyarmor -d gen options ... *
|
|
@@ -45,11 +45,10 @@ ENABLE_DEBUG_HINTS = '''something is wrong
|
|
|
45
45
|
* *
|
|
46
46
|
* Please also check *
|
|
47
47
|
* https://pyarmor.readthedocs.io/en/latest/questions.html *
|
|
48
|
-
* or run `pyarmor man` to find solutions quickly *
|
|
49
48
|
*=============================================================*
|
|
50
49
|
'''
|
|
51
50
|
|
|
52
|
-
|
|
51
|
+
UNUSED_SOLUTION_HINTS = Template('''something is wrong
|
|
53
52
|
*=============================================================*
|
|
54
53
|
* Please check *
|
|
55
54
|
* https://pyarmor.readthedocs.io/en/latest/questions.html *
|
|
@@ -61,6 +60,17 @@ SOLUTION_HINTS = Template('''something is wrong
|
|
|
61
60
|
*=============================================================*
|
|
62
61
|
''')
|
|
63
62
|
|
|
63
|
+
ENABLE_DEBUG_HINTS = 'please enable debug option `-d` to run it again'
|
|
64
|
+
|
|
65
|
+
SOLUTION_HINTS = Template('''something is wrong
|
|
66
|
+
*=============================================================*
|
|
67
|
+
* Please check console log to find out what's wrong *
|
|
68
|
+
* *
|
|
69
|
+
* If still not solved, please find solutions by *
|
|
70
|
+
* https://pyarmor.readthedocs.io/en/latest/questions.html *
|
|
71
|
+
*=============================================================*
|
|
72
|
+
''')
|
|
73
|
+
|
|
64
74
|
|
|
65
75
|
def generate_bug_report(e, logfile=LOG_FILE, output=BUG_FILE):
|
|
66
76
|
'Generate file `pyarmor.report.bug` in current path'
|
|
@@ -111,6 +121,7 @@ def find_solutions(e):
|
|
|
111
121
|
logger.error(ENABLE_DEBUG_HINTS)
|
|
112
122
|
return
|
|
113
123
|
|
|
124
|
+
logger.info('generate bug file "%s"', BUG_FILE)
|
|
114
125
|
generate_bug_report(e)
|
|
115
126
|
logger.error(SOLUTION_HINTS.substitute(bugfile=BUG_FILE))
|
|
116
127
|
|
|
@@ -64,7 +64,11 @@ def __pyarmor__():
|
|
|
64
64
|
('armv6', ('armv6l',)),
|
|
65
65
|
('armv7', ('armv7l',)),
|
|
66
66
|
('aarch32', ('aarch32',)),
|
|
67
|
-
('aarch64', ('aarch64', 'arm64'))
|
|
67
|
+
('aarch64', ('aarch64', 'arm64')),
|
|
68
|
+
('ppc64le', ('ppc64le',)),
|
|
69
|
+
('mips32el', ('mipsel', 'mips32el')),
|
|
70
|
+
('mips64el', ('mips64el',)),
|
|
71
|
+
('riscv64', ('riscv64',)),
|
|
68
72
|
)
|
|
69
73
|
for alias, archlist in arch_table:
|
|
70
74
|
if mach in archlist:
|
|
@@ -92,12 +96,21 @@ __pyarmor__ = ExtensionFileLoader(
|
|
|
92
96
|
'''
|
|
93
97
|
|
|
94
98
|
|
|
95
|
-
def format_platform(plat, arch):
|
|
99
|
+
def format_platform(plat=None, arch=None):
|
|
96
100
|
from struct import calcsize
|
|
97
101
|
from fnmatch import fnmatchcase
|
|
98
102
|
|
|
103
|
+
# Fix pyarmor.cli.core 6.5.2 issue, may be removed in 6.5.3
|
|
104
|
+
if plat is None and arch is None:
|
|
105
|
+
if os.getenv('PYARMOR_PLATFORM'):
|
|
106
|
+
plat, arch = os.getenv('PYARMOR_PLATFORM').split('.')
|
|
107
|
+
else:
|
|
108
|
+
from platform import system, machine
|
|
109
|
+
plat, arch = system().lower(), machine().lower()
|
|
110
|
+
|
|
99
111
|
plat_table = (
|
|
100
|
-
('windows', ('windows',
|
|
112
|
+
('windows', ('windows',)),
|
|
113
|
+
('cygwin', ('cygwin*',)),
|
|
101
114
|
('darwin', ('darwin',)),
|
|
102
115
|
('linux', ('linux*',)),
|
|
103
116
|
('freebsd', ('freebsd*', 'openbsd*', 'isilon onefs')),
|
|
@@ -201,9 +214,10 @@ class Context(object):
|
|
|
201
214
|
return self._read_config(flist, encoding=encoding)
|
|
202
215
|
|
|
203
216
|
def read_token(self):
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
217
|
+
for filename in (self.license_token, self.license_group_token):
|
|
218
|
+
if os.path.exists(filename):
|
|
219
|
+
with open(filename, 'rb') as f:
|
|
220
|
+
return f.read()
|
|
207
221
|
|
|
208
222
|
def save_token(self, data):
|
|
209
223
|
with open(self.license_token, 'wb') as f:
|
|
@@ -211,6 +225,12 @@ class Context(object):
|
|
|
211
225
|
raise RuntimeError('got invalid token %r' % data)
|
|
212
226
|
f.write(data)
|
|
213
227
|
|
|
228
|
+
def save_group_token(self, data):
|
|
229
|
+
with open(self.license_group_token, 'wb') as f:
|
|
230
|
+
if not data.endswith(b'=='):
|
|
231
|
+
raise RuntimeError('got invalid token %r' % data)
|
|
232
|
+
f.write(data)
|
|
233
|
+
|
|
214
234
|
def clear_token(self):
|
|
215
235
|
if os.path.exists(self.license_token):
|
|
216
236
|
with open(self.license_token, 'wb') as f:
|
|
@@ -334,6 +354,10 @@ class Context(object):
|
|
|
334
354
|
def license_token(self):
|
|
335
355
|
return os.path.join(self.reg_path, '.license.token')
|
|
336
356
|
|
|
357
|
+
@property
|
|
358
|
+
def license_group_token(self):
|
|
359
|
+
return os.path.join(self.reg_path, '.license.group.token')
|
|
360
|
+
|
|
337
361
|
@property
|
|
338
362
|
def license_info(self):
|
|
339
363
|
from .register import parse_token
|
|
Binary file
|
|
Binary file
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
;; Pyarmor version
|
|
4
4
|
major = 8
|
|
5
5
|
minor = 5
|
|
6
|
-
patch =
|
|
6
|
+
patch = 10
|
|
7
7
|
|
|
8
8
|
;; Compatible core version
|
|
9
|
-
cli.core = 6.5.
|
|
9
|
+
cli.core = 6.5.3
|
|
10
10
|
|
|
11
11
|
;; Deprecated since Pyarmor 8.2.5
|
|
12
12
|
; cli.runtime = 3.2.5
|
|
@@ -193,6 +193,9 @@ clear_frame_locals = 0
|
|
|
193
193
|
;; Whether encrypt name in statement import
|
|
194
194
|
rft_mix_import_name = 0
|
|
195
195
|
|
|
196
|
+
;; Strip leading name package
|
|
197
|
+
strip_package_name = 1
|
|
198
|
+
|
|
196
199
|
;;
|
|
197
200
|
;; Compatiable options
|
|
198
201
|
;;
|
|
@@ -141,10 +141,7 @@ class Builder(object):
|
|
|
141
141
|
continue
|
|
142
142
|
|
|
143
143
|
logger.info('obfuscating %s', r)
|
|
144
|
-
code = self.
|
|
145
|
-
if code is None:
|
|
146
|
-
self._copy_script(path, r)
|
|
147
|
-
continue
|
|
144
|
+
code = Pytransform3.generate_obfuscated_script(self.ctx, r)
|
|
148
145
|
source = r.generate_output(
|
|
149
146
|
template, code, relative=relative, pkgname=pkgname,
|
|
150
147
|
bootpath=bootpath, rev=rev
|
|
@@ -36,6 +36,22 @@ def get_hd_info(hdtype, name=None):
|
|
|
36
36
|
return str(e)
|
|
37
37
|
|
|
38
38
|
|
|
39
|
+
def get_all_ifmac():
|
|
40
|
+
try:
|
|
41
|
+
buf = Pytransform3.get_hd_info(HT_IFMAC, name='*')
|
|
42
|
+
i = 0
|
|
43
|
+
n = len(buf)
|
|
44
|
+
rlist = []
|
|
45
|
+
while i < n and buf[i]:
|
|
46
|
+
j = i + 1 + buf[i]
|
|
47
|
+
rlist.append(':'.join(['%02x' % x for x in buf[i+1:j]]))
|
|
48
|
+
i = j
|
|
49
|
+
except Exception as e:
|
|
50
|
+
return str(e)
|
|
51
|
+
|
|
52
|
+
return '<%s>' % ','.join(set(rlist))
|
|
53
|
+
|
|
54
|
+
|
|
39
55
|
def main(argv):
|
|
40
56
|
parser = argparse.ArgumentParser()
|
|
41
57
|
parser.add_argument('devname', nargs='*', help=(
|
|
@@ -49,7 +65,7 @@ def main(argv):
|
|
|
49
65
|
print('Default Harddisk Serial Number: %s' % get_hd_info(HT_HARDDISK))
|
|
50
66
|
print('Default Mac address: %s' % get_hd_info(HT_IFMAC))
|
|
51
67
|
print('Default IPv4 address: %s' % get_hd_info(HT_IPV4))
|
|
52
|
-
print('Multiple Mac addresses: %s' %
|
|
68
|
+
print('Multiple Mac addresses: %s' % get_all_ifmac())
|
|
53
69
|
print('Domain: %s' % get_hd_info(HT_DOMAIN))
|
|
54
70
|
|
|
55
71
|
for name in args.devname:
|
|
@@ -199,7 +199,7 @@ class Register(object):
|
|
|
199
199
|
raise CliError('this group device license is not for '
|
|
200
200
|
'this docker host')
|
|
201
201
|
logger.debug('extracting %s', name)
|
|
202
|
-
self.ctx.
|
|
202
|
+
self.ctx.save_group_token(f.read(name))
|
|
203
203
|
return
|
|
204
204
|
if 'group.info' in namelist:
|
|
205
205
|
logger.info('refer to http://pyarmor.readthedocs.io/en/stable/how-to/register.html'
|
|
@@ -217,6 +217,8 @@ class Register(object):
|
|
|
217
217
|
rlist = []
|
|
218
218
|
with socket(AF_INET, SOCK_STREAM) as s:
|
|
219
219
|
s.connect((host, port))
|
|
220
|
+
logger.info('socket addr: %s', str(s.getsockname()))
|
|
221
|
+
logger.info('remote addr: %s', str(s.getpeername()))
|
|
220
222
|
s.sendall(b'PADH' + b'x' * 60)
|
|
221
223
|
while True:
|
|
222
224
|
flag = s.recv(1)
|
|
@@ -554,7 +554,7 @@ def repack_pyzarchive(pyzpath, pyztoc, obfpath, rtname, cipher=None):
|
|
|
554
554
|
fullpath = fullpath + 'c'
|
|
555
555
|
if os.path.exists(fullpath):
|
|
556
556
|
logger.info('replace item "%s"', name)
|
|
557
|
-
with open(fullpath, 'r') as f:
|
|
557
|
+
with open(fullpath, 'r', encoding='utf-8') as f:
|
|
558
558
|
co = compile(f.read(), '<frozen %s>' % name, 'exec')
|
|
559
559
|
code_dict[name] = co
|
|
560
560
|
else:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 1.1
|
|
2
2
|
Name: pyarmor
|
|
3
|
-
Version: 8.5.
|
|
3
|
+
Version: 8.5.10
|
|
4
4
|
Summary: A tool used to obfuscate python scripts, bind obfuscated scripts to fixed machine or expire obfuscated scripts.
|
|
5
5
|
Home-page: https://github.com/dashingsoft/pyarmor
|
|
6
6
|
Author: Jondy Zhao
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
pyarmor.cli.core~=6.5.3
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
pyarmor.cli.core~=6.5.2
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|