【发布时间】:2012-06-25 04:36:32
【问题描述】:
在 StackOverflow 上进行大量搜索后,似乎只有在 4.0 之前创建一个 VPN 配置文件的唯一方法是让设备生根
我的问题是以下应用程序如何在没有 root 的情况下执行此操作?
https://play.google.com/store/apps/details?id=com.expressvpn.vpn&hl=en
更新 1
似乎私有 API 是 4.0 之前的方式。不幸的是,没有多少资源可以开始。有谁知道私有 api 是否仍然需要有根设备?
更新 2
看来您可以使用修改后的 Android.jar 或使用反射来做到这一点。 L2TP/IPSEC 仍然需要有根设备。 PPTP似乎没有。
How to use internal APIs on Android
更新 3
请注意,这取自各种来源。似乎需要 root,因为 VpnService 启动 racoon,然后以系统用户身份运行,并从 KeyStore 检索 PSK。所以其他应用程序创建的 KeyStore 条目对 racoon 是不可见的。 (在linux环境下,racoon是一个协助IPSEC相关密钥协商的安全进程——IKE)。
这是有道理的,但是,仍然有应用程序无需 root 即可实现 L2TP/IPSEC。
更新 4
XinkVPN,入门的源代码。仍然不允许用户在无需生成 key_store 并重新编译的情况下创建 L2TP 配置文件。对市场不太友好,但开端很棒。
【问题讨论】: