m0bilesecurity / RMS-Runtime-Mobile-Security

Runtime Mobile Security (RMS) πŸ“±πŸ”₯ - is a powerful web interface that helps you to manipulate Android and iOS Apps at Runtime
https://twitter.com/mobilesecurity_
GNU General Public License v3.0
2.64k stars 378 forks source link

SpringBoard is NOT available on your device | incompatible Mach-O image #31

Closed sushi2k closed 4 years ago

sushi2k commented 4 years ago

Describe the bug [Required] Installed RMS and can access via localhost:5000. iOS device is detected, but when trying to attach or spawn an app I am getting the following error.

To Reproduce [Required] Steps to reproduce the behavior:

  1. Open RMS, select iOS and any package name, spawn|attach and Start RMS.
  2. See error
Package Name: com.apple.podcasts
Mode: Spawn
Device: Device(id="00008020-000118563411802E", name="iPad 4", type='usb')
BETA: False
Frida Startup Script: None
APIs Monitors: None

incompatible Mach-O image
SpringBoard is NOT available on your device or a wrong OS has been selected. For a better RE experience, change it via the Config TAB!
[2020-08-23 13:48:25,614] ERROR in app: Exception on / [POST]
Traceback (most recent call last):
  File "/Users/sven/opt/anaconda3/lib/python3.7/site-packages/flask/app.py", line 2446, in wsgi_app
    response = self.full_dispatch_request()
  File "/Users/sven/opt/anaconda3/lib/python3.7/site-packages/flask/app.py", line 1951, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/Users/sven/opt/anaconda3/lib/python3.7/site-packages/flask/app.py", line 1820, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/Users/sven/opt/anaconda3/lib/python3.7/site-packages/flask/_compat.py", line 39, in reraise
    raise value
  File "/Users/sven/opt/anaconda3/lib/python3.7/site-packages/flask/app.py", line 1949, in full_dispatch_request
    rv = self.dispatch_request()
  File "/Users/sven/opt/anaconda3/lib/python3.7/site-packages/flask/app.py", line 1935, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "mobilesecurity.py", line 424, in device_management
    pid = device.spawn([target_package])
  File "/Users/sven/opt/anaconda3/lib/python3.7/site-packages/frida/core.py", line 26, in wrapper
    return f(*args, **kwargs)
  File "/Users/sven/opt/anaconda3/lib/python3.7/site-packages/frida/core.py", line 140, in spawn
    return self._impl.spawn(program, argv, envp, env, cwd, stdio, aux_options)
frida.NotSupportedError: incompatible Mach-O image

Desktop (please complete the following information): [Required]

Smartphone (please complete the following information): [Required]

Console Logs [Required] See above

image

image

image

m0bilesecurity commented 4 years ago

Hey @sushi2k many thanks for you interested in RMS.

Is the FRIDA cli working fine on your devices?

It seems a generic FRIDA error rather than an issue with RMS. https://github.com/frida/frida-gum/blob/5dc34ad321f3c52c0/gum/gumdarwinmodule.c#L2164

Please let me know πŸ˜‰

sushi2k commented 4 years ago

That's interesting. So I was attaching now one time via Frida CLI to one of my test apps and it was working fine.

image

And now it also works with RMS.

image

sushi2k commented 4 years ago

Will close it for now. Thanks for the swift reply!

m0bilesecurity commented 4 years ago

Hey @sushi2k Great πŸŽ‰ please let me know what you think about RMS if you have the chance to play with it for a while πŸ˜‰

P.S. from your last screenshot it seems that you still have an issue with the Springboard... That is really strange.

Before spawning/attaching the target app, RMS always tries to attach the Springboard in order to get the list of all the classes that are already loaded in memory before the launch of the target app.

sushi2k commented 4 years ago

P.S. from your last screenshot it seems that you still have an issue with the Springboard... That is really strange.

Before spawning/attaching the target app, RMS always tries to attach the Springboard in order to get the list of all the classes that are already loaded in memory before the launch of the target app.

I saw that. For now it works :-) I try to have a look at this week. Thanks