Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android LD_预加载当量_Android_Ld Preload - Fatal编程技术网

Android LD_预加载当量

Android LD_预加载当量,android,ld-preload,Android,Ld Preload,我有一个用C编写的客户端和服务器。为了确保连接的安全,我实现了: 我自己的连接并接受Diffie Hellman密钥 我自己的发送和接收,以便使用AES加密流量。 基本上,我用数据加密缓冲区并调用原始发送 在加密的缓冲区上。解密也一样 当我运行程序时,我使用: LD_PRELOAD:my_socket.so./client LD_PRELOAD:my_socket.so./server 客户机和服务器可以是任何使用套接字的程序 稍后编辑:LD_PRELOAD强制加载程序使用我自己版本的a

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

  • 我自己的连接并接受Diffie Hellman密钥
  • 我自己的发送和接收,以便使用AES加密流量。 基本上,我用数据加密缓冲区并调用原始发送 在加密的缓冲区上。解密也一样
当我运行程序时,我使用:

  • LD_PRELOAD:my_socket.so./client
  • LD_PRELOAD:my_socket.so./server
  • 客户机和服务器可以是任何使用套接字的程序
稍后编辑:LD_PRELOAD强制加载程序使用我自己版本的accept、connect、send和receive加载我的库:

现在,我想将我的库移动到Android上。我如何模拟LD_预加载的行为,以使我的库对Android上的客户端尽可能地透明

谢谢,,
Doru

在Android中没有精确的等价物
LD\u PRELOAD
。但是,提供了一个API,可以在不修改应用程序的情况下更改应用程序的行为。它专门设计用于填补缺少的
LD_预加载
功能的空白

用修改后的版本替换
/system/bin/app_进程
,该版本将加载JAR“插件”,可以覆盖任何类中的任何方法,甚至在Android zyote级别。交互式应用程序有助于插件的管理。更多详细信息请参见

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

备选方案:以上内容有望回答您关于
LD_PRELOAD
功能的问题。然而,我认为对于您的情况有一个替代方案,它不需要root权限。Android提供了类,允许开发者实现自己的VPN解决方案。这允许您开发Android应用程序,可以向用户请求拦截和处理所有网络流量的权限