se-import: Modules import in a safe source protection, support for python module code and custom des encryption, ase decryption operation or custom decryption callback module loading
'''
模块的安全导入,对python模块代码支持des和自定义加密,运行des解密或者自定义解密回调
'''
se_import demo:
import sys
import se_import
print(dir(se_import))
def test_load_mem():
s = "a = 100\nb=1000"
name = 'test_load_mem_test'
ret = se_import.load_module(name,s,name + '.py')
print(ret)
print(dir(ret))
print(ret.a)
print(ret.b)
def test_load_custom():
s = "a = 100\nb=1000"
name = 'load_module_custom_test'
ret= se_import.load_module_custom(name,s,name + '.py',lambda x:x + '\nadasdadada=1000')
print(ret)
print(dir(ret))
print(ret.a)
print(ret.b)
def test_save_load_asefile():
infile = "./ase.py"
outfile = './ase.pys'
key = bytes([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])
iv = bytes([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])
ret = se_import.dump_module_to_asefile(infile, key, iv)
with open(outfile,mode='wb') as f:
f.write(ret)
infile = './ase.pys'
name = 'test_save_load_asefile_test'
ret2 = se_import.load_module_from_asefile(name,infile,name + '.py')
print(ret2)
print(dir(ret2))
if __name__ == '__main__':
test_save_load_asefile()