简体   繁体   English

如何在没有根设备的情况下在android中跟踪系统调用?

[英]How to trace system calls in android with not rooted device?

My plan is to make a mobile application that traces system calls of other mobile application like strace. 我的计划是制作一个可跟踪其他移动应用程序(例如strace)的系统调用的移动应用程序。 I read some papers but they uses custom kernel or rooted device(emulator). 我读了一些论文,但是它们使用自定义内核或有根设备(仿真器)。 Also I used frida but it requires root privilege. 我也使用frida,但是它需要root特权。

I want to trace system calls using my mobile application with not rooted device. 我想使用没有root设备的移动应用程序来跟踪系统调用。 Is there any way to do this? 有什么办法吗?

There might be a way, but there is no official way. 可能有办法,但没有官方办法。

Each app in Android is run in a Sandbox which it can't escape. Android中的每个应用程序都在无法逃脱的Sandbox中运行。 The System has its own Sandbox (sometimes multiple), which you can't access. 系统具有自己的Sandbox (有时是多个),您无法访问。

This is a security measure. 这是一种安全措施。

The only thing you can track are broadcasts. 您唯一可以跟踪的是广播。 Without root privilegs it is imho impossible to access system calls. 如果没有root特权,就不可能访问系统调用。

it would be a huge security issue for android systems if applications could do that. 如果应用程序能够做到这一点,对于android系统将是一个巨大的安全问题。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM