android {
ndkVersion "25.0.8775105"
compileSdk 34
defaultConfig {
minSdk 27
targetSdk 34
ndk {
abiFilters 'arm64-v8a'
}
externalNativeBuild {
cmake {
cppFlags '-fpass-plugin=/home/ubuntu/Android/Sdk/ndk/25.2.9519653/toolchains/llvm/prebuilt/linux-x86_64/lib64/omvll_ndk_r25c.so'
cFlags '-fpass-plugin=/home/ubuntu/Android/Sdk/ndk/25.2.9519653/toolchains/llvm/prebuilt/linux-x86_64/lib64/omvll_ndk_r25c.so'
}
}
}
}
The output was:
1
No available targets are compatible with triple "aarch64-none-linux-android27"
Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed.
Compiler: /home/ubuntu/Android/Sdk/ndk/25.0.8775105/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++
Build flags: -g;-DANDROID;-fdata-sections;-ffunction-sections;-funwind-tables;-fstack-protector-strong;-no-canonical-prefixes;-D_FORTIFY_SOURCE=2;-Wformat;-Werror=format-security;;-fpass-plugin=/home/ubuntu/Android/Sdk/ndk/25.2.9519653/toolchains/llvm/prebuilt/linux-x86_64/lib64/omvll_ndk_r25c.so
Id flags:
The output was:
1
error: <inline asm>:3:11: unknown token in expression
adr x1, #0x10;
^
Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed.
import omvll
from functools import lru_cache
class MyConfig(omvll.ObfuscationConfig):
def __init__(self):
super().__init__()
def obfuscate_string(self, module: omvll.Module, func: omvll.Function,
string: bytes):
return True
# def anti_hooking(self, mod: omvll.Module, func: omvll.Function) -> omvll.AntiHookOpt:
# if "nativeobfuscatetest" in func.name:
# return True
# return False
# def anti_hooking(self, mod: omvll.Module, func: omvll.Function) -> omvll.AntiHookOpt:
# return True
# def anti_hooking(self, mod: omvll.Module, func: omvll.Function) -> omvll.AntiHookOpt:
# return True
def obfuscate_arithmetic(self, mod: omvll.Module,
fun: omvll.Function) -> omvll.ArithmeticOpt:
return True
def break_control_flow(self, mod: omvll.Module, func: omvll.Function):
return True
def flatten_cfg(self, mod: omvll.Module, func: omvll.Function):
return True
def obfuscate_constants(_, __, func: omvll.Function):
return True
def obfuscate_struct_access(self, _: omvll.Module, __: omvll.Function,
struct: omvll.Struct):
return True
def obfuscate_string(self, _, __, string: bytes):
return omvll.StringEncOptStack()
@lru_cache(maxsize=1)
def omvll_get_config() -> omvll.ObfuscationConfig:
"""
Return an instance of `ObfuscationConfig` which
aims at describing the obfuscation scheme
"""
return MyConfig()