ClaudiuGeorgiu / Obfuscapk

An automatic obfuscation tool for Android apps that works in a black-box fashion, supports advanced obfuscation features and has a modular architecture easily extensible with new techniques
MIT License
1.09k stars 285 forks source link

Error: Resource is not public!! #144

Closed Osama139 closed 1 year ago

Osama139 commented 1 year ago

obfuscating some of the apks give this error during the -o Rebuild ? what is the reason and how to fix that?

ClaudiuGeorgiu commented 1 year ago

See https://github.com/ClaudiuGeorgiu/Obfuscapk/issues/142#issuecomment-1271347645.

Osama139 commented 1 year ago

See #142 (comment).

Running obfuscators (Rebuild): 25%|████████████████████████ |[02:28<07:26, 148.98s/obfuscator]18/10/2022 10:57:47> [ERROR][obfuscapk.tool.Apktool][build()] Error during build command: I: Using Apktool 2.6.0 I: Smaling smali folder into classes.dex... I: Smaling smali_classes3 folder into classes3.dex... I: Smaling smali_classes2 folder into classes2.dex... I: Smaling smali_classes4 folder into classes4.dex... I: Building resources... W: /workdir/obfuscation_working_dir/WhatsApp/AndroidManifest.xml:60: Tag missing required attribute name. brut.androlib.AndrolibException: brut.common.BrutException: could not exec (exit code = 1): [/tmp/brut_util_Jar_73061639133315143405328836863346103159.tmp, p, --forced-package-id, 127, --min-sdk-version, 16, --target-sdk-version, 31, --version-code, 222303004, --version-name, 2.22.23.3, --no-version-vectors, -F, /tmp/APKTOOL1622912598420912688.tmp, -e, /tmp/APKTOOL13668440757541104451.tmp, -0, arsc, -I, /tmp/1.apk, -S, /workdir/obfuscation_working_dir/WhatsApp/res, -M, /workdir/obfuscation_working_dir/WhatsApp/AndroidManifest.xml]

18/10/2022 10:57:47> [ERROR][obfuscapk.obfuscation][build_obfuscated_apk()] Error during apk building: Command '['/usr/local/bin/apktool', '--frame-path', '/tmp', 'b', '--force-all', 'obfuscation_working_dir/WhatsApp', '-o', 'obfuscation_working_dir/WhatsApp_obfuscated.apk']' returned non-zero exit status 1. 18/10/2022 10:57:47> [ERROR][yapsy_loaded_plugin_Rebuild_1.rebuild.Rebuild][obfuscate()] Error during execution of "Rebuild" obfuscator: Command '['/usr/local/bin/apktool', '--frame-path', '/tmp', 'b', '--force-all', 'obfuscation_working_dir/WhatsApp', '-o', 'obfuscation_working_dir/WhatsApp_obfuscated.apk']' returned non-zero exit status 1. 18/10/2022 10:57:47> [CRITICAL][obfuscapk.main][perform_obfuscation()] Error during obfuscation: Command '['/usr/local/bin/apktool', '--frame-path', '/tmp', 'b', '--force-all', 'obfuscation_working_dir/WhatsApp', '-o', 'obfuscation_working_dir/WhatsApp_obfuscated.apk']' returned non-zero exit status 1. Traceback (most recent call last): File "/workdir/obfuscapk/main.py", line 153, in perform_obfuscation (obfuscator_name_to_function[obfuscator_name])(obfuscation) File "/workdir/obfuscapk/obfuscators/rebuild/rebuild.py", line 20, in obfuscate obfuscation_info.build_obfuscated_apk() File "/workdir/obfuscapk/obfuscation.py", line 555, in build_obfuscated_apk apktool.build( File "/workdir/obfuscapk/tool.py", line 166, in build output = subprocess.check_output( File "/usr/local/lib/python3.10/subprocess.py", line 420, in check_output return run(popenargs, stdout=PIPE, timeout=timeout, check=True, File "/usr/local/lib/python3.10/subprocess.py", line 524, in run raise CalledProcessError(retcode, process.args, subprocess.CalledProcessError: Command '['/usr/local/bin/apktool', '--frame-path', '/tmp', 'b', '--force-all', 'obfuscation_working_dir/WhatsApp', '-o', 'obfuscation_working_dir/WhatsApp_obfuscated.apk']' returned non-zero exit status 1. Running obfuscators (Rebuild): 25%|████████████████████████ |[04:29<13:27, 269.20s/obfuscator] Traceback (most recent call last): File "/usr/local/lib/python3.10/runpy.py", line 196, in _run_module_as_main return _run_code(code, main_globals, None, File "/usr/local/lib/python3.10/runpy.py", line 86, in _run_code exec(code, run_globals) File "/workdir/obfuscapk/cli.py", line 189, in main() File "/workdir/obfuscapk/cli.py", line 171, in main perform_obfuscation( File "/workdir/obfuscapk/main.py", line 153, in perform_obfuscation (obfuscator_name_to_function[obfuscator_name])(obfuscation) File "/workdir/obfuscapk/obfuscators/rebuild/rebuild.py", line 20, in obfuscate obfuscation_info.build_obfuscated_apk() File "/workdir/obfuscapk/obfuscation.py", line 555, in build_obfuscated_apk apktool.build( File "/workdir/obfuscapk/tool.py", line 166, in build output = subprocess.check_output( File "/usr/local/lib/python3.10/subprocess.py", line 420, in check_output return run(popenargs, stdout=PIPE, timeout=timeout, check=True, File "/usr/local/lib/python3.10/subprocess.py", line 524, in run raise CalledProcessError(retcode, process.args, subprocess.CalledProcessError: Command '['/usr/local/bin/apktool', '--frame-path', '/tmp', 'b', '--force-all', 'obfuscation_working_dir/WhatsApp', '-o', 'obfuscation_working_dir/WhatsApp_obfuscated.apk']' returned non-zero exit status 1.

ClaudiuGeorgiu commented 1 year ago

Does it work if you use only -o Rebuild -o NewAlignment -o NewSignature? I'm pretty sure (or at least I hope) that WhatsApp is using some anti-tampering techniques to prevent modifications.