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

Rebuild error - question #115

Closed 44simon closed 2 years ago

44simon commented 2 years ago

Hello!

Thank you for running such a great project!

I would like to ask you for little help or some hint. I have set up everything as described, I'm able to obfuscate some random apps from google store (like calculator etc.), but on my application (Rebuild, NewSignature and NewAlignment), I get such an error:

src>python3 -m obfuscapk.cli -o Rebuild -o NewAlignment -o NewSignature C:\Users\zxczxc\Desktop\AndroidAPKreleases\release\release\app-release.apk
17/10/2021 19:43:26> [DEBUG][obfuscapk.main][check_external_tool_dependencies()] Checking external tool dependencies
17/10/2021 19:43:28> [DEBUG][obfuscapk.main][check_external_tool_dependencies()] Checking external tool dependencies
17/10/2021 19:43:28> [DEBUG][obfuscapk.obfuscation][__init__()] Auto-generated random secret key for encryption: "HFvFaPOqVFUQDb8u8iwrgpXfGWn4YLz5"
17/10/2021 19:43:28> [DEBUG][obfuscapk.obfuscation][__init__()] No working directory provided, the operations will take place in the same directory as the input file, in the directory "C:\Users\zxczxc\Desktop\AndroidAPKreleases\release\release\obfuscation_working_dir"
17/10/2021 19:43:28> [DEBUG][obfuscapk.obfuscation][__init__()] No obfuscated apk path provided, the result will be saved as "C:\Users\zxczxc\Desktop\AndroidAPKreleases\release\release\obfuscation_working_dir\app-release_obfuscated.apk"
17/10/2021 19:43:28> [INFO][yapsy_loaded_plugin_Rebuild_1.rebuild.Rebuild][obfuscate()] Running "Rebuild" obfuscator
17/10/2021 19:43:28> [INFO][obfuscapk.tool.Apktool][decode()] Running decode command "C:\Windows\apktool.BAT --frame-path C:\Users\zxczxc\AppData\Local\Temp d --force C:\Users\zxczxc\Desktop\AndroidAPKreleases\release\release\app-release.apk -o C:\Users\zxczxc\Desktop\AndroidAPKreleases\release\release\obfuscation_working_dir\app-release"
17/10/2021 19:43:44> [INFO][obfuscapk.tool.Apktool][build()] Running build command "C:\Windows\apktool.BAT --frame-path C:\Users\zxczxc\AppData\Local\Temp b --force-all C:\Users\zxczxc\Desktop\AndroidAPKreleases\release\release\obfuscation_working_dir\app-release -o C:\Users\zxczxc\Desktop\AndroidAPKreleases\release\release\obfuscation_working_dir\app-release_obfuscated.apk"
17/10/2021 19:43:55> [ERROR][obfuscapk.tool.Apktool][build()] Error during building: "C:\Users\zxczxc\Desktop\AndroidAPKreleases\release\release\obfuscation_working_dir\app-release_obfuscated.apk" was not built correctly. Apktool output:
I: Using Apktool 2.6.0
I: Smaling smali folder into classes.dex...
I: Building resources...
W: Attributes messed up!
W: brut_util_Jar_121825949857620515584213693108198169646.tmp F 10-17 19:43:55  9896 13296] Attributes messed up!
brut.androlib.AndrolibException: brut.common.BrutException: could not exec (exit code = -1073740791): [C:\Users\zxczxc\AppData\Local\Temp\brut_util_Jar_121825949857620515584213693108198169646.tmp, p, --forced-package-id, 127, --min-sdk-version, 21, --target-sdk-version, 28, --no-version-vectors, -F, C:\Users\zxczxc\AppData\Local\Temp\APKTOOL2590581971613405541.tmp, -e, C:\Users\zxczxc\AppData\Local\Temp\APKTOOL2401476974698024551.tmp, -0, arsc, -I, C:\Users\zxczxc\AppData\Local\Temp\1.apk, -S, C:\Users\zxczxc\Desktop\AndroidAPKreleases\release\release\obfuscation_working_dir\app-release\res, -M, C:\Users\zxczxc\Desktop\AndroidAPKreleases\release\release\obfuscation_working_dir\app-release\AndroidManifest.xml]
Press any key to continue . . .
17/10/2021 19:43:55> [ERROR][obfuscapk.obfuscation][build_obfuscated_apk()] Error during apk building: "C:\Users\zxczxc\Desktop\AndroidAPKreleases\release\release\obfuscation_working_dir\app-release_obfuscated.apk" was not built correctly. Apktool output:
I: Using Apktool 2.6.0
I: Smaling smali folder into classes.dex...
I: Building resources...
W: Attributes messed up!
W: brut_util_Jar_121825949857620515584213693108198169646.tmp F 10-17 19:43:55  9896 13296] Attributes messed up!
brut.androlib.AndrolibException: brut.common.BrutException: could not exec (exit code = -1073740791): [C:\Users\zxczxc\AppData\Local\Temp\brut_util_Jar_121825949857620515584213693108198169646.tmp, p, --forced-package-id, 127, --min-sdk-version, 21, --target-sdk-version, 28, --no-version-vectors, -F, C:\Users\zxczxc\AppData\Local\Temp\APKTOOL2590581971613405541.tmp, -e, C:\Users\zxczxc\AppData\Local\Temp\APKTOOL2401476974698024551.tmp, -0, arsc, -I, C:\Users\zxczxc\AppData\Local\Temp\1.apk, -S, C:\Users\zxczxc\Desktop\AndroidAPKreleases\release\release\obfuscation_working_dir\app-release\res, -M, C:\Users\zxczxc\Desktop\AndroidAPKreleases\release\release\obfuscation_working_dir\app-release\AndroidManifest.xml]
Press any key to continue . . .
17/10/2021 19:43:55> [ERROR][yapsy_loaded_plugin_Rebuild_1.rebuild.Rebuild][obfuscate()] Error during execution of "Rebuild" obfuscator: "C:\Users\zxczxc\Desktop\AndroidAPKreleases\release\release\obfuscation_working_dir\app-release_obfuscated.apk" was not built correctly. Apktool output:
I: Using Apktool 2.6.0
I: Smaling smali folder into classes.dex...
I: Building resources...
W: Attributes messed up!
W: brut_util_Jar_121825949857620515584213693108198169646.tmp F 10-17 19:43:55  9896 13296] Attributes messed up!
brut.androlib.AndrolibException: brut.common.BrutException: could not exec (exit code = -1073740791): [C:\Users\zxczxc\AppData\Local\Temp\brut_util_Jar_121825949857620515584213693108198169646.tmp, p, --forced-package-id, 127, --min-sdk-version, 21, --target-sdk-version, 28, --no-version-vectors, -F, C:\Users\zxczxc\AppData\Local\Temp\APKTOOL2590581971613405541.tmp, -e, C:\Users\zxczxc\AppData\Local\Temp\APKTOOL2401476974698024551.tmp, -0, arsc, -I, C:\Users\zxczxc\AppData\Local\Temp\1.apk, -S, C:\Users\zxczxc\Desktop\AndroidAPKreleases\release\release\obfuscation_working_dir\app-release\res, -M, C:\Users\zxczxc\Desktop\AndroidAPKreleases\release\release\obfuscation_working_dir\app-release\AndroidManifest.xml]
Press any key to continue . . .
17/10/2021 19:43:55> [CRITICAL][obfuscapk.main][perform_obfuscation()] Error during obfuscation: "C:\Users\zxczxc\Desktop\AndroidAPKreleases\release\release\obfuscation_working_dir\app-release_obfuscated.apk" was not built correctly. Apktool output:
I: Using Apktool 2.6.0
I: Smaling smali folder into classes.dex...
I: Building resources...
W: Attributes messed up!
W: brut_util_Jar_121825949857620515584213693108198169646.tmp F 10-17 19:43:55  9896 13296] Attributes messed up!
brut.androlib.AndrolibException: brut.common.BrutException: could not exec (exit code = -1073740791): [C:\Users\zxczxc\AppData\Local\Temp\brut_util_Jar_121825949857620515584213693108198169646.tmp, p, --forced-package-id, 127, --min-sdk-version, 21, --target-sdk-version, 28, --no-version-vectors, -F, C:\Users\zxczxc\AppData\Local\Temp\APKTOOL2590581971613405541.tmp, -e, C:\Users\zxczxc\AppData\Local\Temp\APKTOOL2401476974698024551.tmp, -0, arsc, -I, C:\Users\zxczxc\AppData\Local\Temp\1.apk, -S, C:\Users\zxczxc\Desktop\AndroidAPKreleases\release\release\obfuscation_working_dir\app-release\res, -M, C:\Users\zxczxc\Desktop\AndroidAPKreleases\release\release\obfuscation_working_dir\app-release\AndroidManifest.xml]
Press any key to continue . . .
Traceback (most recent call last):
  File "F:\zxczxc\Obfuscator\Obfuscapk\src\obfuscapk\main.py", line 151, in perform_obfuscation
    (obfuscator_name_to_function[obfuscator_name])(obfuscation)
  File "F:\zxczxc\Obfuscator\Obfuscapk\src\obfuscapk\obfuscators\rebuild\rebuild.py", line 20, in obfuscate
    obfuscation_info.build_obfuscated_apk()
  File "F:\zxczxc\Obfuscator\Obfuscapk\src\obfuscapk\obfuscation.py", line 506, in build_obfuscated_apk
    apktool.build(
  File "F:\zxczxc\Obfuscator\Obfuscapk\src\obfuscapk\tool.py", line 177, in build
    raise FileNotFoundError(
FileNotFoundError: "C:\Users\zxczxc\Desktop\AndroidAPKreleases\release\release\obfuscation_working_dir\app-release_obfuscated.apk" was not built correctly. Apktool output:
I: Using Apktool 2.6.0
I: Smaling smali folder into classes.dex...
I: Building resources...
W: Attributes messed up!
W: brut_util_Jar_121825949857620515584213693108198169646.tmp F 10-17 19:43:55  9896 13296] Attributes messed up!
brut.androlib.AndrolibException: brut.common.BrutException: could not exec (exit code = -1073740791): [C:\Users\zxczxc\AppData\Local\Temp\brut_util_Jar_121825949857620515584213693108198169646.tmp, p, --forced-package-id, 127, --min-sdk-version, 21, --target-sdk-version, 28, --no-version-vectors, -F, C:\Users\zxczxc\AppData\Local\Temp\APKTOOL2590581971613405541.tmp, -e, C:\Users\zxczxc\AppData\Local\Temp\APKTOOL2401476974698024551.tmp, -0, arsc, -I, C:\Users\zxczxc\AppData\Local\Temp\1.apk, -S, C:\Users\zxczxc\Desktop\AndroidAPKreleases\release\release\obfuscation_working_dir\app-release\res, -M, C:\Users\zxczxc\Desktop\AndroidAPKreleases\release\release\obfuscation_working_dir\app-release\AndroidManifest.xml]
Press any key to continue . . .
Traceback (most recent call last):
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.2032.0_x64__qbz5n2kfra8p0\lib\runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.2032.0_x64__qbz5n2kfra8p0\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "F:\zxczxc\Obfuscator\Obfuscapk\src\obfuscapk\cli.py", line 188, in <module>
    main()
  File "F:\zxczxc\Obfuscator\Obfuscapk\src\obfuscapk\cli.py", line 170, in main
    perform_obfuscation(
  File "F:\zxczxc\Obfuscator\Obfuscapk\src\obfuscapk\main.py", line 151, in perform_obfuscation
    (obfuscator_name_to_function[obfuscator_name])(obfuscation)
  File "F:\zxczxc\Obfuscator\Obfuscapk\src\obfuscapk\obfuscators\rebuild\rebuild.py", line 20, in obfuscate
    obfuscation_info.build_obfuscated_apk()
  File "F:\zxczxc\Obfuscator\Obfuscapk\src\obfuscapk\obfuscation.py", line 506, in build_obfuscated_apk
    apktool.build(
  File "F:\zxczxc\Obfuscator\Obfuscapk\src\obfuscapk\tool.py", line 177, in build
    raise FileNotFoundError(
FileNotFoundError: "C:\Users\zxczxc\Desktop\AndroidAPKreleases\release\release\obfuscation_working_dir\app-release_obfuscated.apk" was not built correctly. Apktool output:
I: Using Apktool 2.6.0
I: Smaling smali folder into classes.dex...
I: Building resources...
W: Attributes messed up!
W: brut_util_Jar_121825949857620515584213693108198169646.tmp F 10-17 19:43:55  9896 13296] Attributes messed up!
brut.androlib.AndrolibException: brut.common.BrutException: could not exec (exit code = -1073740791): [C:\Users\zxczxc\AppData\Local\Temp\brut_util_Jar_121825949857620515584213693108198169646.tmp, p, --forced-package-id, 127, --min-sdk-version, 21, --target-sdk-version, 28, --no-version-vectors, -F, C:\Users\zxczxc\AppData\Local\Temp\APKTOOL2590581971613405541.tmp, -e, C:\Users\zxczxc\AppData\Local\Temp\APKTOOL2401476974698024551.tmp, -0, arsc, -I, C:\Users\zxczxc\AppData\Local\Temp\1.apk, -S, C:\Users\zxczxc\Desktop\AndroidAPKreleases\release\release\obfuscation_working_dir\app-release\res, -M, C:\Users\zxczxc\Desktop\AndroidAPKreleases\release\release\obfuscation_working_dir\app-release\AndroidManifest.xml]
Press any key to continue . . .

I'm able to decompile this app using "apktool d" though without any errors.

Any ideas would be very appreciated. Thanks again.

Best regards.

ClaudiuGeorgiu commented 2 years ago

Hi,

I'm able to decompile this app using "apktool d" though without any errors.

Are you able to rebuild the app by using apktool b <decompiled_directory> after decompiling it? If this works then we have a issue with Obfuscapk, otherwise the problem is with Apktool.

44simon commented 2 years ago

Hello Gabriel!

Thank you for very fast response.

You are right, using apktool b <decompiled_directory> I'm also not able to build it, so it's not Obfuscapk fault, I could think of it before, sorry.

apktool b app-release\ I: Using Apktool 2.6.0 I: Checking whether sources has changed... I: Smaling smali folder into classes.dex... I: Checking whether resources has changed... I: Building resources... W: Attributes messed up! W: brut_util_Jar_72834020306110761942195798447614103863.tmp F 10-17 20:07:31 672 5560] Attributes messed up! brut.androlib.AndrolibException: brut.common.BrutException: could not exec (exit code = -1073740791): [C:\Users\zxczxc\AppData\Local\Temp\brut_util_Jar_72834020306110761942195798447614103863.tmp, p, --forced-package-id, 127, --min-sdk-version, 21, --target-sdk-version, 28, --no-version-vectors, -F, C:\Users\zxczxc\AppData\Local\Temp\APKTOOL10728346457697092739.tmp, -e, C:\Users\zxczxc\AppData\Local\Temp\APKTOOL6104089642398290305.tmp, -0, arsc, -I, C:\Users\zxczxc\AppData\Local\apktool\framework\1.apk, -S, C:\Users\zxczxc\Desktop\AndroidAPKreleases\release\release\app-release\res, -M, C:\Users\zxczxc\Desktop\AndroidAPKreleases\release\release\app-release\AndroidManifest.xml]

Should I ask for an advice on apktool forum then? I think the question can be closed (maybe if I find any solution I could share with others later on).

Have a great evening.

ClaudiuGeorgiu commented 2 years ago

Maybe you are using some "strange" features in your app. You can try opening an issue on Apktool repository, but in order to get some help I think you will need to also provide the apk (a minimal version off the app will be ok, as long as it has the same error on rebuild). I'm closing this for now, if you get further updates please feel free to comment/reopen. Thank you.