Obfuscating Java Programs by Translating Selected Portions of Bytecode to Native Libraries