|
|
本帖最后由 李易壮 于 2021-3-24 10:46 编辑
身为逆向玩家,有时会遇到要修改的应用禁止被抓包的情况
像Arm或对话框取消,提供了反(即“屏蔽”)抓包检测的功能:
无论是否使用网络代理,检测结果均为未使用。
在可修改Dex文件的前提下,大家可以尝试手撕抓包检测。当然了,做开发的小伙伴,也可适当使用该机制来提高安全性
这是我封装好的一段代码:
- //检测抓包->网络代理
- public static boolean isProxyUsed() {
- try {
- final Enumeration<NetworkInterface> networkInterfaces = NetworkInterface.getNetworkInterfaces();
- if (networkInterfaces != null) {
- for (NetworkInterface t : Collections.list(networkInterfaces)) {
- if (t.isUp() && t.getInterfaceAddresses().size() != 0) {
- if ("tun0".equals(t.getName()) || "ppp0".equals(t.getName())) {
- return true;
- }
- }
- }
- }
- } catch (Throwable ignored) {
- }
- return false;
- }
复制代码
逆向分析的话,搜索字符串tun0或ppp0即可。
话外篇:
如果没有检测抓包工具,而仅仅是联网框架(如OkHttp)代码里设置了不使用代理,代码大概长这样:
- public static final OkHttpClient client_global = new OkHttpClient().newBuilder().connectTimeout(10, TimeUnit.SECONDS).readTimeout(1800, TimeUnit.SECONDS).proxy(Proxy.NO_PROXY).build();
复制代码 逆向分析的话,可尝试搜索 Proxy 。
好久没来发帖子了,那我继续潜水啦。
|
-
查看全部评分
总评分:好评 +1
|