PyArmor Documentation v5.6.5any more. For example, change instruction JZ to JNZ, so that _pytransform.so can execute even if checking license failed How JIT works? First PyArmor defines an instruction set based on GNU lightning. Then write some core functions by this instruction set in c file, maybe like this: t_instruction protect_set_key_iv = { // function 1 0x80001, 0x50020, ... // function 2 0x80001 0x80001, 0xA0F80, ... } t_instruction protect_decrypt_buffer = { // function 1 0x80021, 0x52029, ... // function 2 0x80001, 0xC0901, ... } Build _pytransform.so, calculate0 码力 | 103 页 | 86.97 KB | 1 年前3
PyArmor Documentation v5.5.7any more. For example, change instruction JZ to JNZ, so that _pytransform.so can execute even if checking license failed How JIT works? First PyArmor defines an instruction set based on GNU lightning. Then write some core functions by this instruction set in c file, maybe like this: t_instruction protect_set_key_iv = { // function 1 0x80001, 0x50020, ... // function 2 0x80001 0x80001, 0xA0F80, ... } t_instruction protect_decrypt_buffer = { // function 1 0x80021, 0x52029, ... // function 2 0x80001, 0xC0901, ... } Build _pytransform.so, calculate0 码力 | 104 页 | 85.70 KB | 1 年前3
PyArmor Documentation v5.6.0any more. For example, change instruction JZ to JNZ, so that _pytransform.so can execute even if checking license failed How JIT works? First PyArmor defines an instruction set based on GNU lightning. Then write some core functions by this instruction set in c file, maybe like this: t_instruction protect_set_key_iv = { // function 1 0x80001, 0x50020, ... // function 2 0x80001 0x80001, 0xA0F80, ... } t_instruction protect_decrypt_buffer = { // function 1 0x80021, 0x52029, ... // function 2 0x80001, 0xC0901, ... } Build _pytransform.so, calculate0 码力 | 103 页 | 85.82 KB | 1 年前3
PyArmor Documentation v5.6.0any more. For example, change instruction JZ to JNZ, so that _pytrans- form.so can execute even if checking license failed How JIT works? First PyArmor defines an instruction set based on GNU lightning lightning. Then write some core functions by this instruction set in c file, maybe like this: 13 PyArmor Documentation, Release 5.6.0 t_instruction protect_set_key_iv = { // function 1 0x80001, 0x50020, . .. // function 2 0x80001, 0xA0F80, ... } t_instruction protect_decrypt_buffer = { // function 1 0x80021, 0x52029, ... // function 2 0x80001, 0xC0901, ... } Build _pytransform.so, calculate the codesum0 码力 | 107 页 | 352.50 KB | 1 年前3
PyArmor Documentation v5.5.4any more. For example, change instruction JZ to JNZ, so that _pytrans- form.so can execute even if checking license failed How JIT works? First PyArmor defines an instruction set based on GNU lightning lightning. Then write some core functions by this instruction set in c file, maybe like this: 13 PyArmor Documentation, Release 5.5.0 t_instruction protect_set_key_iv = { // function 1 0x80001, 0x50020, . .. // function 2 0x80001, 0xA0F80, ... } t_instruction protect_decrypt_buffer = { // function 1 0x80021, 0x52029, ... // function 2 0x80001, 0xC0901, ... } Build _pytransform.so, calculate the codesum0 码力 | 107 页 | 348.47 KB | 1 年前3
PyArmor Documentation v6.2.7original byte code changed original byte code: Increase oparg of each absolute jump instruction by the size of wrap header Obfuscate original byte code ... wrap footer: obfuscated scripts in advanced mode won’t work. Because this feature is highly depended on the machine instruction set, it’s only available for x86/x64 arch now. And pyarmor maybe makes mistake if Python interpreter called first time 1. First op is JUMP_ABSOLUTE, it will jump to offset n 2. At offset n, the instruction is to call PyCFunction __armor__. This function will restore those obfuscated bytecode between0 码力 | 159 页 | 123.91 KB | 1 年前3
PyArmor Documentation v6.3.1original byte code changed original byte code: Increase oparg of each absolute jump instruction by the size of wrap header Obfuscate original byte code ... wrap footer: obfuscated scripts in advanced mode won’t work. Because this feature is highly depended on the machine instruction set, it’s only available for x86/x64 arch now. And pyarmor maybe makes mistake if Python interpreter called first time 1. First op is JUMP_ABSOLUTE, it will jump to offset n 2. At offset n, the instruction is to call PyCFunction __armor__. This function will restore those obfuscated bytecode between0 码力 | 161 页 | 124.89 KB | 1 年前3
PyArmor Documentation v5.9.5size of original byte code changed original byte code: Increase oparg of each absolute jump instruction by the size of wrap ˓→header Obfuscate original byte code ... wrap footer: LOAD_GLOBALS N obfuscated scripts in advanced mode won’t work. Because this feature is highly depended on the machine instruction set, it’s only available for x86/x64 arch now. And pyarmor maybe makes mistake if Python interpreter called first time 1. First op is JUMP_ABSOLUTE, it will jump to offset n 2. At offset n, the instruction is to call PyCFunction __armor__. This function will restore those obfuscated bytecode between0 码力 | 131 页 | 428.65 KB | 1 年前3
PyArmor Documentation v6.2.8size of original byte code changed original byte code: Increase oparg of each absolute jump instruction by the size of wrap ˓→header Obfuscate original byte code ... wrap footer: LOAD_GLOBALS N obfuscated scripts in advanced mode won’t work. Because this feature is highly depended on the machine instruction set, it’s only available for x86/x64 arch now. And pyarmor maybe makes mistake if Python interpreter called first time 1. First op is JUMP_ABSOLUTE, it will jump to offset n 2. At offset n, the instruction is to call PyCFunction __armor__. This function will restore those obfuscated bytecode between0 码力 | 153 页 | 483.38 KB | 1 年前3
PyArmor Documentation v6.4.4size of original byte code changed original byte code: Increase oparg of each absolute jump instruction by the size of wrap ˓→header Obfuscate original byte code ... wrap footer: LOAD_GLOBALS N obfuscated scripts in advanced mode won’t work. Because this feature is highly depended on the machine instruction set, it’s only available for x86/x64 arch now. And pyarmor maybe makes mistake if Python interpreter called first time 1. First op is JUMP_ABSOLUTE, it will jump to offset n 2. At offset n, the instruction is to call PyCFunction __armor__. This function will restore those obfuscated bytecode between0 码力 | 167 页 | 510.99 KB | 1 年前3
共 109 条
- 1
- 2
- 3
- 4
- 5
- 6
- 11













