USB反向网络共享=手机通过USB从PC获得网络连接.
我知道如何进行USB反向网络共享除了一个问题:在做任何有用的工作之前,许多Android应用程序将使用下面的代码检查网络连接:
ConnectivityManager connectivityManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = connectivityManager.getActiveNetworkInfo();
Run Code Online (Sandbox Code Playgroud)
问题是,当使用USB反向网络共享时,上面的代码将报告没有网络连接.但是,有一个网络连接(这是USB反向网络共享本身),ping,wget和所有没有做这个愚蠢检查的程序运行良好.
所以问题是:我如何破解系统让这个网络连接检查返回成功(这样我就可以欺骗这些应用程序)?
BTW.我使用Cyanogenmod 7.也欢迎任何特定于此MOD的解决方案.
如果你进行了这么多的黑客攻击,我假设你可能已经对你的设备进行了root。如果是这样,请编写一个 shell 接口,以使用 JNI 向设备 shell 发送命令并接收 STDOUT。使用此接口运行可解析为数组的 netcfg 命令 - 这将为您提供 API 隐藏的所有详细信息。它还允许您使用 ipconfig 命令覆盖 Android 设备设置。
至于使用它来从您的设备发送和接收 - 根据我的经验 - 您可能必须编译一个可以在运行时加载到内核中的设备特定模块。或者只需从制造商处下载内核并将模块编译到内核中,然后使用新的自定义内核刷新手机。
希望这可以帮助。