sensepost / objection

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

Adding gadget config and script fails #362

Closed alexardra closed 4 years ago

alexardra commented 4 years ago

Not sure how to add gadget config and script to apk. I tried to run it as described here: https://github.com/sensepost/objection/pull/329#issuecomment-609438408 but I am getting FileNotFoundError: libfrida-gadget.script.so. Running on windows 10.

  File "python37\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "\python37\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File ".env\Scripts\objection.exe\__main__.py", line 7, in <module>
  File ".env\lib\site-packages\click\core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File ".env\lib\site-packages\click\core.py", line 782, in main
    rv = self.invoke(ctx)
  File ".env\lib\site-packages\click\core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File ".env\lib\site-packages\click\core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File ".env\lib\site-packages\click\core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File ".env\lib\site-packages\objection\console\cli.py", line 366, in patchapk
    patch_android_apk(**locals())
  File ".env\lib\site-packages\objection\commands\mobile_packages.py", line 207, in patch_android_apk
    'libfrida-gadget.script.so'))
  File "python37\lib\shutil.py", line 121, in copyfile
    with open(dst, 'wb') as fdst:
FileNotFoundError: [Errno 2] No such file or directory: 'AppData\\Local\\Temp\\tmp0_105wyl.apktemp\\Frameworks\\x86\\libfrida-gadget.script.so'
leonjza commented 4 years ago

Unfortunately, Windows support is not great for objection. PR's welcome though!

alexardra commented 4 years ago

same problem on ubuntu 18.04

leonjza commented 4 years ago

Please add the full stack trace (incl. the command) for the Ubuntu machine?

alexardra commented 4 years ago
objection patchapk -s app.apk -a armeabi-v7a -c gadget -l script.js
  File ".local/bin/objection", line 11, in <module>
    sys.exit(cli())
  File ".local/lib/python3.6/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File ".local/lib/python3.6/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File ".local/lib/python3.6/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File ".local/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File ".local/lib/python3.6/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File ".local/lib/python3.6/site-packages/objection/console/cli.py", line 366, in patchapk
    patch_android_apk(**locals())
  File ".local/lib/python3.6/site-packages/objection/commands/mobile_packages.py", line 207, in patch_android_apk
    'libfrida-gadget.script.so'))
  File "/usr/lib/python3.6/shutil.py", line 121, in copyfile
    with open(dst, 'wb') as fdst:
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/tmpvo9j_e6x.apktemp/Frameworks/armeabi-v7a/libfrida-gadget.script.so'
Techbrunch commented 4 years ago

I suspect #349 broke it, I believe the change leading to this issue is this one:

https://github.com/sensepost/objection/pull/349/commits/6585b06d49831e965d03750ddcf439f3c9420c33#diff-e3a8140eedd6125ae91e490ee11d5c21R202

It should probably be reverted to 'lib'

Techbrunch commented 4 years ago

@leonjza Looks like you might have missed my last comment, I don't think this is a Windows issue and it appears to be easy to fix.

leonjza commented 4 years ago

Thanks for the reminder. Just pushed a fix for it.