Open tijme opened 4 years ago
Hey @tijme Sadly i have no experience with Xamarin. Maybe you can catch the error and retry until it works?
Thanks for the response.
Unfortunately a try catch loop doesn't work. I don't have a lot of time to spend on debugging at the moment. When I have, I'll take a look at it again. Lets park the issue for now.
This does not work?
let attached = false;
const attachInterval = setInterval(() => {
const domain = MonoApi.mono_get_root_domain()
if (domain.equals(0)) return
clearInterval(attachInterval)
MonoApi.mono_thread_attach(domain)
}, 1000)
Im currently reworking "frida-mono" and it will contain everything needed to work with mono. This repo will become obsolete when thats done. You can follow the current state in this branch: https://github.com/freehuntx/frida-mono/tree/feature/v1
I wont concentrate on fixing things here since im not happy with the codebase. Keep an eye on frida-mono :)
I had the same issue recently, any progress or any suggestions? The target application on windows is https://www.cl.cam.ac.uk/research/rainbow/projects/unityeyes/
Hi @freehuntx,
I created a program using frida-inject that spawns a certain Xamarin application and then injects a frida-mono-api based script. Everything works correctly if I use the
frida-mono-api
based script on a target application that is already running.However, if the application is not yet running, I start it using Frida's
await device.spawn(identifier)
, but thefrida-mono-api
based script throws an error.I found out that when I start the application using Frida's
device.spawn
function theMonoApi.mono_get_root_domain()
returns0x0
. I think this is due to the fact that the Xamarin application is not fully initialised yet, but I can't find out how to fix it.Have you experienced this problem before?