gpt4 book ai didi

Android LD_PRELOAD 等效

转载 作者:行者123 更新时间:2023-11-30 02:52:57 31 4
gpt4 key购买 nike

我有一个用 C 编写的客户端和一个服务器。为了保护我实现的连接:

  • 我自己连接并接受 Diffie-Hellman key 。
  • 我自己发送和接收,以便使用 AES 加密流量。基本上,我用数据加密缓冲区并调用原始发送在加密缓冲区上。解密也一样。

当我运行我使用的程序时:

  • LD_PRELOAD:my_socket.so ./client
  • LD_PRELOAD:my_socket.so ./server
  • 客户端和服务器可以是任何使用套接字的程序。

稍后编辑:LD_PRELOAD 强制加载程序使用我自己的接受、连接、发送和接收版本加载我的库:http://www.catonmat.net/blog/simple-ld-preload-tutorial/

现在,我想在 Android 上移动我的图书馆。我如何模拟 LD_PRELOAD 的行为,以便我的库对 Android 客户端尽可能透明?

谢谢,多鲁

最佳答案

Android 中没有 LD_PRELOAD 的精确等价物。但是 Xposed framework 提供了一个 API 来改变应用程序的行为而无需修改它们。它专门用于填补缺少 LD_PRELOAD 功能的空白。

Xposed installer用修改后的版本替换 /system/bin/app_process,这将加载 JAR“插件”,这些插件可以覆盖任何类中的任何方法,即使在 Android Zygote 级别也是如此。交互式应用程序有助于管理插件。更多详细信息,请参阅 Xposed Development Tutorial .

(请注意,替换 /system 中的文件需要 root 权限。如果您的应用程序依赖于 Xposed 框架,您的所有用户都需要 root 设备。)

备选方案:以上应该有望回答您有关 LD_PRELOAD 功能的问题。但是我认为你的情况有一个替代方案,它不需要 root 权限。 Android 提供了 VpnService 类允许开发人员实现他们自己的 VPN 解决方案。这使您可以开发 Android 应用程序,这些应用程序可以请求用户授予拦截和处理所有网络流量的权限。

关于Android LD_PRELOAD 等效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23823035/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com