我正在尝试通过 HTTP 隧道重定向整个 android 网络流量,但没有关于如何执行此操作的教程或 Github 存储库。
只需从用户那里获取主机、端口、用户名和密码,并以编程方式将整个设备隧道连接到该主机。
我已经用鱿鱼配置了一个 HTTP 代理服务器,只需要一个客户端来连接它。
我不想要 Open-VPN 解决方案或 StrongSwan,这个名为 TOOFAN Tunnel 的应用程序正在满足我的需求,但它仅在某些国家/地区可用,并且它不是一个开源项目。
只需要有人向我展示道路或让我朝着正确的方向前进,我提前表示感谢。
我知道 Android 的VpnServise,以及它如何重定向流量,我只是不知道实现一个套接字来通过带有凭据的 HTTP 代理传输数据包。
我已经构建并测试了 20 多个存储库,但没有一个有效。其中有些是: SSLSocks,TunProxy,VpnProxy,SmartProxy,NetDroidProxy,LocalVPN,xSocks,机器人,PROX。
首先,我离我的开发机器很远。
假设我有:
public enum Num {
ONE,
TWO
}
Run Code Online (Sandbox Code Playgroud)
我有以下代码:
String name = Num.ONE.name();
Run Code Online (Sandbox Code Playgroud)
混淆后名称值会保持不变吗?从Enum类代码来看,混淆后它应该保持不变,因为它是在编译后生成名称字符串时发生的。
我对吗?
在使用 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 ×2
java ×2
enums ×1
heap-memory ×1
http ×1
memory-leaks ×1
obfuscation ×1
profiling ×1
proguard ×1
proxy ×1
vpn ×1