sensepost / objection

📱 objection - runtime mobile exploration
GNU General Public License v3.0
7.17k stars 825 forks source link

[Bug] Cannot --skip-resources when trying to manually parse the AndroidManifest.xml #599

Open Drjacky opened 1 year ago

Drjacky commented 1 year ago

Describe the bug

Cannot --skip-resources when trying to manually parse the AndroidManifest.xml

To Reproduce Steps to reproduce the behavior:

  1. Clone https://github.com/NickstaDB/patch-apk
  2. Run python3 patch-apk.py {package-name}

Similar issues Please link the issues in this repository that is similar to yours.

N/A

Expected behavior No crash

Evidence / Logs / Screenshots

Patching base.apk with objection.
Traceback (most recent call last):
  File "/usr/local/bin/objection", line 8, in <module>
    sys.exit(cli())
  File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.10/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/objection/console/cli.py", line 373, in patchapk
    patch_android_apk(**locals())
  File "/usr/local/lib/python3.10/site-packages/objection/commands/mobile_packages.py", line 203, in patch_android_apk
    patcher.inject_load_library(target_class=target_class)
  File "/usr/local/lib/python3.10/site-packages/objection/utils/patchers/android.py", line 788, in inject_load_library
    target_class if target_class else self._get_launchable_activity())
  File "/usr/local/lib/python3.10/site-packages/objection/utils/patchers/android.py", line 346, in _get_launchable_activity
    manifest = self._get_android_manifest()
  File "/usr/local/lib/python3.10/site-packages/objection/utils/patchers/android.py", line 289, in _get_android_manifest
    raise Exception('Cannot --skip-resources when trying to manually parse the AndroidManifest.xml')
Exception: Cannot --skip-resources when trying to manually parse the AndroidManifest.xml
Error: Failed to run 'objection patchapk --skip-resources -s /var/folders/4c/13yp500000gn/T/base.apk'.
Run with --debug-output for more information.

Environment (please complete the following information):

Drjacky commented 1 year ago

In other word, when I run this command: objection patchapk --skip-resources --ignore-nativelibs -s apkfile.apk, it displays the error:

File "/usr/local/bin/objection", line 8, in <module>
    sys.exit(cli())
  File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.10/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/objection/console/cli.py", line 373, in patchapk
    patch_android_apk(**locals())
  File "/usr/local/lib/python3.10/site-packages/objection/commands/mobile_packages.py", line 203, in patch_android_apk
    patcher.inject_load_library(target_class=target_class)
  File "/usr/local/lib/python3.10/site-packages/objection/utils/patchers/android.py", line 788, in inject_load_library
    target_class if target_class else self._get_launchable_activity())
  File "/usr/local/lib/python3.10/site-packages/objection/utils/patchers/android.py", line 346, in _get_launchable_activity
    manifest = self._get_android_manifest()
  File "/usr/local/lib/python3.10/site-packages/objection/utils/patchers/android.py", line 289, in _get_android_manifest
    raise Exception('Cannot --skip-resources when trying to manually parse the AndroidManifest.xml')
Exception: Cannot --skip-resources when trying to manually parse the AndroidManifest.xml