小编Irf*_*tif的帖子

使用 VpnService 的 Android http 隧道

我正在尝试通过 HTTP 隧道重定向整个 android 网络流量,但没有关于如何执行此操作的教程或 Github 存储库。

只需从用户那里获取主机、端口、用户名和密码,并以编程方式将整个设备隧道连接到该主机。

我已经用鱿鱼配置了一个 HTTP 代理服务器,只需要一个客户端来连接它。

我不想要 Open-VPN 解决方案或 StrongSwan,这个名为 TOOFAN Tunnel 的应用程序正在满足我的需求,但它仅在某些国家/地区可用,并且它不是一个开源项目。

只需要有人向我展示道路或让我朝着正确的方向前进,我提前表示感谢。

我知道 Android 的VpnServise,以及它如何重定向流量,我只是不知道实现一个套接字来通过带有凭据的 HTTP 代理传输数据包。

我已经构建并测试了 20 多个存储库,但没有一个有效。其中有些是: SSLSocksTunProxyVpnProxySmartProxyNetDroidProxyLocalVPNxSocks,机器人PROX

java vpn proxy android http

16
推荐指数
1
解决办法
2169
查看次数

如何使 proguard 混淆枚举名称?

首先,我离我的开发机器很远。

假设我有:

public enum Num {
    ONE,
    TWO
}
Run Code Online (Sandbox Code Playgroud)

我有以下代码:

String name = Num.ONE.name();
Run Code Online (Sandbox Code Playgroud)

混淆后名称值会保持不变吗?从Enum类代码来看,混淆后它应该保持不变,因为它是在编译后生成名称字符串时发生的。

我对吗?

java obfuscation enums proguard

8
推荐指数
0
解决办法
2301
查看次数

如何调查 Android 应用程序的本机堆分配?

在使用 Android Profiler 查找在 Android 11 物理设备上运行的应用程序中的内存泄漏时,我注意到该应用程序即使在后台(即没有运行任何 Activity 或服务(缓存状态)时)也会将内存保留在本机堆中。这是通过应用程序的调试和发布版本进行测试的。这不是由于位图。除了由框架加载的代码之外,应用程序都不使用 JNI 代码。

dumpsys meminfo <PID>显示的是:

...
                   Pss  Private  Private  SwapPss      Rss     Heap     Heap     Heap
                 Total    Dirty    Clean    Dirty    Total     Size    Alloc     Free
                ------   ------   ------   ------   ------   ------   ------   ------
  Native Heap    80769    80708        0       58    81384   207724    22890   180724
  Dalvik Heap     7093     7004        0       41     7684    14178     5986     8192
  ...
        TOTAL   128567   117212     2676      188   128567   221902    28876   188916
...
Run Code Online (Sandbox Code Playgroud)

这就是我发现的/proc/<PID>/smaps

...
730       [anon:dalvik-/system/framework/boot-telephony-common.art]
962       /system/framework/framework-res.apk …
Run Code Online (Sandbox Code Playgroud)

android profiling memory-leaks heap-memory

5
推荐指数
0
解决办法
1541
查看次数