From 7e7833b0b3e0c3ce3073d72a79f03e46abe10323 Mon Sep 17 00:00:00 2001 From: darkal Date: Fri, 28 Feb 2020 17:01:51 +0800 Subject: [PATCH 1/8] Update README.md --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index 8460f7f..d0d41c5 100644 --- a/README.md +++ b/README.md @@ -62,8 +62,6 @@ schema的协议格式为:jdhttpmonitor://webview?param={'url'='http://www.dark #### 如果觉得工具好用的话请多多star以及Pull requests
支持我喝杯咖啡请扫描下面的二维码,谢谢(ง •̀_•́)ง
![image](http://h5.darkal.cn/har/guide/img/code.jpg)

-#### 相关技术交流可以加入QQ群:816839175
-![image](http://h5.darkal.cn/har/guide/img/qq.jpg)

### 致谢
AndroidHttpCapture基于Netty、browsermob-proxy来实现核心抓包的功能
From bb4608b193c751dc1fdcd643cdcd95d6e219a7c5 Mon Sep 17 00:00:00 2001 From: darkal Date: Mon, 19 Oct 2020 01:01:22 +0800 Subject: [PATCH 2/8] Update README.md update cdn url --- README.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index d0d41c5..6971bbe 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,9 @@ 是一款针对于移动流量劫持而开发的手机抓包软件,可以当作是Android版的‘Fiddler’
主要功能包括:手机端抓包、PING/DNS/TraceRoute诊断、抓包HAR数据上传分享
使用前请确保手机HTTP代理的关闭

-### [Demo APK下载](http://h5.darkal.cn/har/demo.apk)
+### [Demo APK下载](http://static.hk.darkal.cn/har/demo.apk)
-### [点击查看操作手册](http://h5.darkal.cn/har/guide/widget.guide.html)

+### [点击查看操作手册](http://static.hk.darkal.cn/har/guide/widget.guide.html)

### 功能简介 @@ -14,18 +14,18 @@ 预览页面可以查看从APP启动起所有网络请求数据,实现了按分页过滤、URL搜索功能,并可清空所有数据包
预览的内容包括Request Header、Request Cookie、Request Content、Response Header、Response Cookie、Response Content
Content内容如果为JSON将会自动格式化显示
-![image](https://www.darkal.cn/imgd.php?src=/2016/09/WechatIMG77.jpeg&width=350) -![image](https://www.darkal.cn/imgd.php?src=/2016/09/230686663947787928.jpg&width=350)
+![image](http://static.hk.darkal.cn/imgd.php?src=/2016/09/WechatIMG77.jpeg&width=350) +![image](http://static.hk.darkal.cn/imgd.php?src=/2016/09/230686663947787928.jpg&width=350)
分享功能将抓包生成的所有数据包打包为har文件并压缩为zip,支持分享到微信、QQ等

2. 返回包注入
支持修改流量返回包(该版本暂时只支持http的修改)
-![image](https://www.darkal.cn/imgd.php?src=/2016/09/WechatIMG180.jpeg&width=350) -![image](https://www.darkal.cn/imgd.php?src=/2016/09/WechatIMG181.jpeg&width=350)

+![image](http://static.hk.darkal.cn/imgd.php?src=/2016/09/WechatIMG180.jpeg&width=350) +![image](http://static.hk.darkal.cn/imgd.php?src=/2016/09/WechatIMG181.jpeg&width=350)

3. 环境切换
支持切换模拟为微信、手Q,默认为普通浏览器。
-![image](https://www.darkal.cn/imgd.php?src=/2016/09/WechatIMG81.jpeg&width=350)

+![image](http://static.hk.darkal.cn/imgd.php?src=/2016/09/WechatIMG81.jpeg&width=350)

4. 多样性输入:导航、地址栏、扫一扫、schema呼起
支持地址栏直接输入地址,扫扫描二维码,以及schema呼起app并打开目标页面。
@@ -33,34 +33,34 @@ schema的协议格式为:jdhttpmonitor://webview?param={'url'='http://www.dark 5. Host配置
可以配置各域名的host
-![image](https://www.darkal.cn/imgd.php?src=/2016/09/WechatIMG79.jpeg&width=350&t=1)

+![image](http://static.hk.darkal.cn/imgd.php?src=/2016/09/WechatIMG79.jpeg&width=350&t=1)

6. 查看console.log日志
-![image](https://www.darkal.cn/imgd.php?src=/2016/09/WechatIMG82.jpeg&width=350)

+![image](http://static.hk.darkal.cn/imgd.php?src=/2016/09/WechatIMG82.jpeg&width=350)

7. 网络工具
目前AndroidHttpCapture集成了常见的网络工具,如dns,ping,以及设备信息
-![image](https://www.darkal.cn/imgd.php?src=/2016/09/621495078826.jpg&width=350)

+![image](http://static.hk.darkal.cn/imgd.php?src=/2016/09/621495078826.jpg&width=350)

8. 设置系统代理,监听其他app请求包
当将用户手机的代理服务器设置为127.0.0.1:8888时,可以对其他app(例如微信)的HTTP数据进行抓包
(此时AndroidHttpCapture就是一个手机上的fiddler)
-![image](https://www.darkal.cn/imgd.php?src=/2016/09/WechatIMG80.jpeg&width=350)

+![image](http://static.hk.darkal.cn/imgd.php?src=/2016/09/WechatIMG80.jpeg&width=350)

### Q & A
1. 分享的http包如何查看和分析?
   分享的文件解压后为.har文件,可以通过fiddler方式或者在线工具进行分析。
Fiddler方式需要先将包导到电脑上,然后使用fiddler导入该包:Import Sessions->Select Import Format ->HTTPArchive ->选择包,即可
- 在线工具外网:http://h5.darkal.cn/har/ 只需要将包拖入此工具即可分析

+ 在线工具外网:http://static.hk.darkal.cn/har/ 只需要将包拖入此工具即可分析

### 已知BUG
1. 信任所有的服务器证书不做校验
~~2. 开启返回包注入功能后,https返回的部分页面存在 err_CONTENT_LENGTH_MISMATCH 错误
~~(看起来似乎是解决了,待用户反馈) #### 如果觉得工具好用的话请多多star以及Pull requests
支持我喝杯咖啡请扫描下面的二维码,谢谢(ง •̀_•́)ง
-![image](http://h5.darkal.cn/har/guide/img/code.jpg)

+![image](http://static.hk.darkal.cn/har/guide/img/code.jpg)

### 致谢
From 38d70da79dd18a2b7ef389f1d2a192aef51542cf Mon Sep 17 00:00:00 2001 From: xuzhou Date: Thu, 10 Dec 2020 20:48:35 +0800 Subject: [PATCH 3/8] upgrade gradle version --- app/build.gradle | 23 +++++++++++-------- app/proguard-rules.pro | 2 +- .../Activity/ChangeFilterActivity.java | 4 +--- .../Activity/MainActivity.java | 2 +- .../Adapter/ContentFilterAdapter.java | 7 +----- .../Adapter/PageFilterAdapter.java | 2 +- .../networkdiagnosis/SysApplication.java | 2 +- .../networkdiagnosis/Utils/DeviceUtils.java | 10 +------- .../{Bean => bean}/PageBean.java | 2 +- .../{Bean => bean}/ResponseFilterRule.java | 4 ++-- app/src/main/res/layout/item_filter.xml | 2 +- app/src/main/res/layout/item_pages.xml | 2 +- app/src/main/res/values/zxing_ids.xml | 4 ++-- build.gradle | 2 +- gradle/wrapper/gradle-wrapper.properties | 4 ++-- 15 files changed, 31 insertions(+), 41 deletions(-) rename app/src/main/java/cn/darkal/networkdiagnosis/{Bean => bean}/PageBean.java (95%) rename app/src/main/java/cn/darkal/networkdiagnosis/{Bean => bean}/ResponseFilterRule.java (92%) diff --git a/app/build.gradle b/app/build.gradle index 73adbe9..1ddeda7 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -8,21 +8,25 @@ android { storeFile file('./darkal.jks') storePassword '333333' v1SigningEnabled true - v2SigningEnabled false + v2SigningEnabled true } } dexOptions { javaMaxHeapSize "4g" } - compileSdkVersion 27 - buildToolsVersion '27.0.3' + compileSdkVersion 30 + buildToolsVersion '30.0.3' dataBinding { enabled = true } + buildFeatures { + dataBinding true + viewBinding true + } defaultConfig { applicationId "cn.darkal.networkdiagnosis" minSdkVersion 14 - targetSdkVersion 22 + targetSdkVersion 30 versionCode 31 versionName "3.2.31" // Enabling multidex support. @@ -70,16 +74,17 @@ dependencies { testImplementation 'junit:junit:4.12' implementation 'com.jakewharton:butterknife:8.8.1' +// annotationProcessor 'com.android.databinding:compiler:3.1.3' annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1' implementation 'com.android.databinding:library:3.1.3' implementation 'com.android.databinding:adapters:3.1.3' implementation 'com.squareup.okhttp3:okhttp:3.4.1' - implementation 'com.android.support:appcompat-v7:27.1.1' - implementation 'com.android.support:design:27.1.1' - implementation 'com.android.support:support-v4:27.1.1' - implementation 'com.android.support:gridlayout-v7:27.1.1' + implementation 'com.android.support:appcompat-v7:28.0.0' + implementation 'com.android.support:design:28.0.0' + implementation 'com.android.support:support-v4:28.0.0' + implementation 'com.android.support:gridlayout-v7:28.0.0' // compile 'com.android.support:cardview-v7:24.0.0' - implementation 'com.android.support:support-annotations:27.1.1' + implementation 'com.android.support:support-annotations:28.0.0' implementation 'com.android.support:multidex:1.0.3' // littleproxy及其依赖 implementation('net.lightbody.bmp:littleproxy:1.1.0-beta-bmp-17') { diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 4a4e5fa..97ec900 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -21,7 +21,7 @@ -dontpreverify # 混淆时是否做预校验 -verbose # 混淆时是否记录日志 -keepattributes *Annotation* # 保持注解 --ignorewarning # 忽略警告 +#-ignorewarning # 忽略警告 -dontoptimize # 优化不优化输入的类文件 -optimizations !code/simplification/arithmetic,!field/*,!class/merging/* # 混淆时所采用的算法 diff --git a/app/src/main/java/cn/darkal/networkdiagnosis/Activity/ChangeFilterActivity.java b/app/src/main/java/cn/darkal/networkdiagnosis/Activity/ChangeFilterActivity.java index 5c75f26..b149581 100644 --- a/app/src/main/java/cn/darkal/networkdiagnosis/Activity/ChangeFilterActivity.java +++ b/app/src/main/java/cn/darkal/networkdiagnosis/Activity/ChangeFilterActivity.java @@ -14,15 +14,13 @@ import android.widget.RelativeLayout; import java.util.ArrayList; -import java.util.List; import butterknife.BindView; import butterknife.ButterKnife; import cn.darkal.networkdiagnosis.Adapter.ContentFilterAdapter; -import cn.darkal.networkdiagnosis.Bean.ResponseFilterRule; +import cn.darkal.networkdiagnosis.bean.ResponseFilterRule; import cn.darkal.networkdiagnosis.R; import cn.darkal.networkdiagnosis.SysApplication; -import cn.darkal.networkdiagnosis.Utils.DeviceUtils; import cn.darkal.networkdiagnosis.Utils.SharedPreferenceUtils; public class ChangeFilterActivity extends AppCompatActivity { diff --git a/app/src/main/java/cn/darkal/networkdiagnosis/Activity/MainActivity.java b/app/src/main/java/cn/darkal/networkdiagnosis/Activity/MainActivity.java index b6ff32c..bdc9419 100644 --- a/app/src/main/java/cn/darkal/networkdiagnosis/Activity/MainActivity.java +++ b/app/src/main/java/cn/darkal/networkdiagnosis/Activity/MainActivity.java @@ -74,7 +74,7 @@ import butterknife.BindView; import butterknife.ButterKnife; import cn.darkal.networkdiagnosis.Adapter.PageFilterAdapter; -import cn.darkal.networkdiagnosis.Bean.PageBean; +import cn.darkal.networkdiagnosis.bean.PageBean; import cn.darkal.networkdiagnosis.Fragment.BaseFragment; import cn.darkal.networkdiagnosis.Fragment.BackHandledInterface; import cn.darkal.networkdiagnosis.Fragment.NetworkFragment; diff --git a/app/src/main/java/cn/darkal/networkdiagnosis/Adapter/ContentFilterAdapter.java b/app/src/main/java/cn/darkal/networkdiagnosis/Adapter/ContentFilterAdapter.java index 2ca0355..1d2a7ac 100644 --- a/app/src/main/java/cn/darkal/networkdiagnosis/Adapter/ContentFilterAdapter.java +++ b/app/src/main/java/cn/darkal/networkdiagnosis/Adapter/ContentFilterAdapter.java @@ -12,14 +12,9 @@ import java.util.List; import cn.darkal.networkdiagnosis.Activity.ChangeFilterActivity; -import cn.darkal.networkdiagnosis.Activity.MainActivity; import cn.darkal.networkdiagnosis.BR; -import cn.darkal.networkdiagnosis.Bean.PageBean; -import cn.darkal.networkdiagnosis.Bean.ResponseFilterRule; -import cn.darkal.networkdiagnosis.Fragment.PreviewFragment; +import cn.darkal.networkdiagnosis.bean.ResponseFilterRule; import cn.darkal.networkdiagnosis.R; -import cn.darkal.networkdiagnosis.SysApplication; -import cn.darkal.networkdiagnosis.Utils.DeviceUtils; /** * Created by Darkal on 2016/9/5. diff --git a/app/src/main/java/cn/darkal/networkdiagnosis/Adapter/PageFilterAdapter.java b/app/src/main/java/cn/darkal/networkdiagnosis/Adapter/PageFilterAdapter.java index 275a3e9..9fe647e 100644 --- a/app/src/main/java/cn/darkal/networkdiagnosis/Adapter/PageFilterAdapter.java +++ b/app/src/main/java/cn/darkal/networkdiagnosis/Adapter/PageFilterAdapter.java @@ -9,7 +9,7 @@ import java.util.List; -import cn.darkal.networkdiagnosis.Bean.PageBean; +import cn.darkal.networkdiagnosis.bean.PageBean; import cn.darkal.networkdiagnosis.BR; import cn.darkal.networkdiagnosis.R; diff --git a/app/src/main/java/cn/darkal/networkdiagnosis/SysApplication.java b/app/src/main/java/cn/darkal/networkdiagnosis/SysApplication.java index 88eff04..b085ca3 100644 --- a/app/src/main/java/cn/darkal/networkdiagnosis/SysApplication.java +++ b/app/src/main/java/cn/darkal/networkdiagnosis/SysApplication.java @@ -24,7 +24,7 @@ import java.util.Locale; import java.util.Random; -import cn.darkal.networkdiagnosis.Bean.ResponseFilterRule; +import cn.darkal.networkdiagnosis.bean.ResponseFilterRule; import cn.darkal.networkdiagnosis.Utils.DeviceUtils; import cn.darkal.networkdiagnosis.Utils.SharedPreferenceUtils; diff --git a/app/src/main/java/cn/darkal/networkdiagnosis/Utils/DeviceUtils.java b/app/src/main/java/cn/darkal/networkdiagnosis/Utils/DeviceUtils.java index 199c9df..ce931d1 100644 --- a/app/src/main/java/cn/darkal/networkdiagnosis/Utils/DeviceUtils.java +++ b/app/src/main/java/cn/darkal/networkdiagnosis/Utils/DeviceUtils.java @@ -6,23 +6,15 @@ import android.util.Log; import net.lightbody.bmp.BrowserMobProxy; -import net.lightbody.bmp.filters.RequestFilter; import net.lightbody.bmp.filters.ResponseFilter; import net.lightbody.bmp.proxy.dns.AdvancedHostResolver; import net.lightbody.bmp.util.HttpMessageContents; import net.lightbody.bmp.util.HttpMessageInfo; -import org.littleshoot.proxy.HttpFilters; -import org.littleshoot.proxy.HttpFiltersSource; - -import java.net.InetSocketAddress; import java.util.List; -import cn.darkal.networkdiagnosis.Bean.ResponseFilterRule; +import cn.darkal.networkdiagnosis.bean.ResponseFilterRule; import cn.darkal.networkdiagnosis.SysApplication; -import io.netty.channel.ChannelHandlerContext; -import io.netty.handler.codec.http.HttpObject; -import io.netty.handler.codec.http.HttpRequest; import io.netty.handler.codec.http.HttpResponse; /** diff --git a/app/src/main/java/cn/darkal/networkdiagnosis/Bean/PageBean.java b/app/src/main/java/cn/darkal/networkdiagnosis/bean/PageBean.java similarity index 95% rename from app/src/main/java/cn/darkal/networkdiagnosis/Bean/PageBean.java rename to app/src/main/java/cn/darkal/networkdiagnosis/bean/PageBean.java index 1a01f51..f836f12 100644 --- a/app/src/main/java/cn/darkal/networkdiagnosis/Bean/PageBean.java +++ b/app/src/main/java/cn/darkal/networkdiagnosis/bean/PageBean.java @@ -1,4 +1,4 @@ -package cn.darkal.networkdiagnosis.Bean; +package cn.darkal.networkdiagnosis.bean; /** * Created by xuzhou on 2016/9/5. diff --git a/app/src/main/java/cn/darkal/networkdiagnosis/Bean/ResponseFilterRule.java b/app/src/main/java/cn/darkal/networkdiagnosis/bean/ResponseFilterRule.java similarity index 92% rename from app/src/main/java/cn/darkal/networkdiagnosis/Bean/ResponseFilterRule.java rename to app/src/main/java/cn/darkal/networkdiagnosis/bean/ResponseFilterRule.java index 7605dc0..f77a87c 100644 --- a/app/src/main/java/cn/darkal/networkdiagnosis/Bean/ResponseFilterRule.java +++ b/app/src/main/java/cn/darkal/networkdiagnosis/bean/ResponseFilterRule.java @@ -1,8 +1,8 @@ -package cn.darkal.networkdiagnosis.Bean; +package cn.darkal.networkdiagnosis.bean; import java.io.Serializable; -import static cn.darkal.networkdiagnosis.Bean.ResponseFilterRule.RULE_TYPE.STRING_REPLACE; +import static cn.darkal.networkdiagnosis.bean.ResponseFilterRule.RULE_TYPE.STRING_REPLACE; /** * Created by darkal on 2017/5/31. diff --git a/app/src/main/res/layout/item_filter.xml b/app/src/main/res/layout/item_filter.xml index 3185354..072f69f 100644 --- a/app/src/main/res/layout/item_filter.xml +++ b/app/src/main/res/layout/item_filter.xml @@ -4,7 +4,7 @@ + type="cn.darkal.networkdiagnosis.bean.ResponseFilterRule" /> + type="cn.darkal.networkdiagnosis.bean.PageBean" /> - false - false + + diff --git a/build.gradle b/build.gradle index bb818af..a9fc7a4 100644 --- a/build.gradle +++ b/build.gradle @@ -6,7 +6,7 @@ buildscript { google() } dependencies { - classpath 'com.android.tools.build:gradle:3.1.3' + classpath 'com.android.tools.build:gradle:4.0.0' classpath 'com.tencent.bugly:symtabfileuploader:latest.release' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 44b68b4..7decb3c 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Thu Jul 05 14:53:57 CST 2018 +#Wed Dec 09 15:54:43 CST 2020 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip From e6ec29c4d414ffcdfd92a20f29531a06ab00762e Mon Sep 17 00:00:00 2001 From: darkal Date: Tue, 5 Jan 2021 17:54:42 +0800 Subject: [PATCH 4/8] Update build.gradle --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 1ddeda7..46b68f6 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -26,7 +26,7 @@ android { defaultConfig { applicationId "cn.darkal.networkdiagnosis" minSdkVersion 14 - targetSdkVersion 30 + targetSdkVersion 27 versionCode 31 versionName "3.2.31" // Enabling multidex support. From 75ecd611371512b0de1cc93a6552426e606622a9 Mon Sep 17 00:00:00 2001 From: darkal Date: Tue, 23 Mar 2021 16:56:45 +0800 Subject: [PATCH 5/8] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6971bbe..5d82b7d 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,7 @@ 1. HTTP/HTTPS抓包
当用户通过AndroidHttpCapture访问页面的时候,所有的http请求都会被记录下来,然后这些请求包可以预览、分享、上传(上传接口的网址需自行在MainActivity修改)。
#### 第一次进入程序需要安装CA证书以便进行HTTPS抓包(原理同fiddler,MITM中间人)不安装证书的话无法抓取HTTPS的请求
+#### 高版本的Android不允许跳转设置安装证书,需要自行在设置->安全和锁屏->加密与凭据->安装证书(证书位置:/har/littleproxy-mitm.pem)
预览页面可以查看从APP启动起所有网络请求数据,实现了按分页过滤、URL搜索功能,并可清空所有数据包
预览的内容包括Request Header、Request Cookie、Request Content、Response Header、Response Cookie、Response Content
Content内容如果为JSON将会自动格式化显示
From 9afc8805e8210df5d72e9718a745d802c59126f0 Mon Sep 17 00:00:00 2001 From: xuzhou Date: Thu, 27 Jan 2022 17:16:59 +0800 Subject: [PATCH 6/8] =?UTF-8?q?=E5=8E=BB=E9=99=A4=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E7=9A=84BC=E5=8A=A0=E5=AF=86=E7=AE=97=E6=B3=95=EF=BC=8C?= =?UTF-8?q?=E5=85=BC=E5=AE=B9Android=20P+?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/littleshoot/proxy/mitm/CertificateHelper.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/org/littleshoot/proxy/mitm/CertificateHelper.java b/app/src/main/java/org/littleshoot/proxy/mitm/CertificateHelper.java index a4358e2..bad11b1 100755 --- a/app/src/main/java/org/littleshoot/proxy/mitm/CertificateHelper.java +++ b/app/src/main/java/org/littleshoot/proxy/mitm/CertificateHelper.java @@ -255,10 +255,8 @@ private static X509Certificate signCertificate( X509v3CertificateBuilder certificateBuilder, PrivateKey signedWithPrivateKey) throws OperatorCreationException, CertificateException { - ContentSigner signer = new JcaContentSignerBuilder(SIGNATURE_ALGORITHM) - .setProvider(PROVIDER_NAME).build(signedWithPrivateKey); - return new JcaX509CertificateConverter().setProvider( - PROVIDER_NAME).getCertificate(certificateBuilder.build(signer)); + ContentSigner signer = new JcaContentSignerBuilder(SIGNATURE_ALGORITHM).build(signedWithPrivateKey); + return new JcaX509CertificateConverter().getCertificate(certificateBuilder.build(signer)); } public static TrustManager[] getTrustManagers(KeyStore keyStore) From e0aa4f6fcda60adf4f1c77d2ecadc6c383ba1a86 Mon Sep 17 00:00:00 2001 From: darkal Date: Fri, 22 Mar 2024 11:07:01 +0800 Subject: [PATCH 7/8] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5d82b7d..2a81620 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -## AndroidHttpCapture网络诊断工具 [![Travis](https://img.shields.io/travis/rust-lang/rust.svg)](https://travis-ci.org/JZ-Darkal/AndroidHttpCapture)
+## AndroidHttpCapture网络诊断工具
是一款针对于移动流量劫持而开发的手机抓包软件,可以当作是Android版的‘Fiddler’
主要功能包括:手机端抓包、PING/DNS/TraceRoute诊断、抓包HAR数据上传分享
使用前请确保手机HTTP代理的关闭

From d52d6956d68257aab369862bf5c72802450e34fd Mon Sep 17 00:00:00 2001 From: darkal Date: Thu, 31 Jul 2025 16:25:44 +0800 Subject: [PATCH 8/8] Update ApplicationTest.java --- .../networkdiagnosis/ApplicationTest.java | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/app/src/androidTest/java/cn/darkal/networkdiagnosis/ApplicationTest.java b/app/src/androidTest/java/cn/darkal/networkdiagnosis/ApplicationTest.java index 6873d0e..4d3d1a6 100644 --- a/app/src/androidTest/java/cn/darkal/networkdiagnosis/ApplicationTest.java +++ b/app/src/androidTest/java/cn/darkal/networkdiagnosis/ApplicationTest.java @@ -1,13 +1,13 @@ -package cn.darkal.networkdiagnosis; +// package cn.darkal.networkdiagnosis; -import android.app.Application; -import android.test.ApplicationTestCase; +// import android.app.Application; +// import android.test.ApplicationTestCase; -/** - * Testing Fundamentals - */ -public class ApplicationTest extends ApplicationTestCase { - public ApplicationTest() { - super(Application.class); - } -} \ No newline at end of file +// /** +// * Testing Fundamentals +// */ +// public class ApplicationTest extends ApplicationTestCase { +// public ApplicationTest() { +// super(Application.class); +// } +// }