This interceptor gives for certain that dlopen is defined and exists, which is not always true, at least on my device, this is missing and make crash the process.
Interceptor.attach(Module.findGlobalExportByName("dlopen"), ...
I suggest to make it a safe call and if null, skip it, which ensure dlopen is defined before trying to intercept "null". The other interceptor android_dlopen_ext works good.
I understand that one is free to edit the template, this is more a nice improvement / suggestion.
UPDATE: It appears that dlopen is not null, but Interceptor.attach of Frida 17.3 on Android 16, when attached to "dlopen", make the process crash shortly after. It is possible that is be a bug of Frida, but is worth to mention if we could do something to prevent happening or workaround, since we have android_dlopen_ext that is stable
This interceptor gives for certain that dlopen is defined and exists, which is not always true, at least on my device, this is missing andmake crash the process.I suggest to make it a safe call and if null, skip it, which ensure dlopen is defined before trying to intercept "null". The other interceptor android_dlopen_ext works good.
I understand that one is free to edit the template, this is more a nice improvement / suggestion.
UPDATE: It appears that dlopen is not null, but Interceptor.attach of Frida 17.3 on Android 16, when attached to "dlopen", make the process crash shortly after. It is possible that is be a bug of Frida, but is worth to mention if we could do something to prevent happening or workaround, since we have android_dlopen_ext that is stable