我有一个客户端和一个用C编写的服务器,为了保护我实现的连接:
当我运行程序时,我使用:
稍后编辑: LD_PRELOAD强制加载程序用我自己版本的接受、连接、发送和接收:http://www.catonmat.net/blog/simple-ld-preload-tutorial/加载我的库
现在,我想把我的图书馆移到Android上。我如何模拟LD_PRELOAD的行为,以便使我的库尽可能成为Android上客户端的父级呢?
谢谢你,多鲁
发布于 2014-08-08 12:38:41
在安卓系统中,没有与LD_PRELOAD
相当的精确版本。然而,X-定框架提供了一个API来改变应用程序的行为而不修改它们。它专门设计来填补缺少LD_PRELOAD
功能的空白。
X型安装程序用修改后的版本取代/system/bin/app_process
,它将加载JAR“插件”,它可以覆盖任何类中的任何方法,即使是在Android级别。一个交互式的应用程序方便了插件的管理。更多细节可以在教程中找到。
(请注意,替换/system
中的文件需要根权限。如果您的应用程序依赖于,那么您的所有用户都需要根设备。)
替代方案:希望上面的内容能够回答您关于LD_PRELOAD
功能的问题。但是,我认为您的情况有一个替代方案,它不需要根特权。Android提供了VpnService类,允许开发人员实现自己的虚拟专用网解决方案。这允许您开发Android应用程序,该应用程序可以向用户请求拦截和处理所有网络流量的权限。
https://stackoverflow.com/questions/23823035
复制