android/iphone——后台进程或服务可以在前台应用程序中注入代码或读取变量吗?

android/iphone——后台进程或服务可以在前台应用程序中注入代码或读取变量吗?,android,ios,service,code-injection,trojan,Android,Ios,Service,Code Injection,Trojan,我正在开始安卓和iOS的开发,因此,我也将感谢相关资源的链接,只是我找不到任何相关的东西 案例详细信息:我必须构建一个应用程序,在一个变量中保存一些关键信息,该变量是通过ssl加密连接创建、发送和销毁的。此变量不应由设备上的任何其他进程读取。到目前为止,我知道有两种情况可能发生: [1] 服务或程序监视前台应用程序(这里是我的应用程序),然后它是否可以注入一些代码(例如让前台绑定到恶意服务)来读取相关的变量内容。我知道存在操作系统安全保护,但是否有任何证据证明这种注入代码的能力 [2] 服务或程

我正在开始安卓和iOS的开发,因此,我也将感谢相关资源的链接,只是我找不到任何相关的东西

案例详细信息:我必须构建一个应用程序,在一个变量中保存一些关键信息,该变量是通过ssl加密连接创建、发送和销毁的。此变量不应由设备上的任何其他进程读取。到目前为止,我知道有两种情况可能发生:

[1] 服务或程序监视前台应用程序(这里是我的应用程序),然后它是否可以注入一些代码(例如让前台绑定到恶意服务)来读取相关的变量内容。我知道存在操作系统安全保护,但是否有任何证据证明这种注入代码的能力

[2] 服务或程序监视网络连接并记录通过导线发送的数据。应用程序是否有可能读取这样的网络数据?我知道存在可以记录每个应用程序交换的数据量的应用程序,但我不知道它们是否读取系统日志文件或实际监视连接。
如果能提供这两个平台的详细信息,我们将不胜感激。

我只使用android,因此这仅适用于android:

否,服务无法在前台向上插入代码,原因(至少)有2个:

  • 每个已安装的应用程序都有自己的用户id和每个进程,它们的数据受用户id保护。因此一个进程无法访问另一个进程的内存。因此,也没有进程可以修改内存(通过插入代码)
  • java字节码被转换成dalvik代码,并存储在只有系统进程才能写入的地方。因此,没有其他进程可以通过更改已编译的dex文件来注入代码

这就是系统提供的保护。当然,黑客可能会在某个库中发现漏洞,使用缓冲区溢出可能会运行一些代码片段,但情况不同。还请注意,进程的数据文件在默认情况下是私有的(没有其他进程可以看到),但进程可以对代码具有读取权限。这意味着在代码中存储私钥可能不安全。

感谢您解开这一谜团。我不会因为你提到的原因在代码中存储任何键,而是在需要的时候计算它们。再次非常感谢。现在我需要等待iOS部分的视图。