HarmonyOS鸿蒙Next中如何防止release包被charles工具抓包

HarmonyOS鸿蒙Next中如何防止release包被charles工具抓包 鸿蒙如何防止release包被charles工具抓包

4 回复

在鸿蒙APP发送HTTPS网络请求时,可以通过设置strict_ssltrue来校验服务端下发的证书。如果配置为false,则不校验服务端证书,这有助于防止中间人抓包替换。此外,还需要提供ca_files参数,该参数是用于指定校验服务端证书所需的CA证书路径。如果严格执行SSL校验,并使用了可信的CA证书进行验证,就能够有效地避免中间人攻击风险。

您可以使用getRemoteCertificate接口来获取当前请求SSL会话中的服务端证书。如果您是在TLSSocketServer上使用这个接口,那么需要绑定IP地址和端口,并监听客户端的连接。该接口会异步返回服务端的数字证书,可以通过callback方式或Promise方式进行调用。

参考文档:

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-socket-V5#ZH-CN_TOPIC_0000001893370813__getremotecertificate9

如果请求不想被抓包可以在发送http请求的时候,设置usingProxy: false,这样该请求就不会被抓包

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-http-V5

axios 有自定义ca证书和客户端证书的方法,都可以防止抓包。

https://gitee.com/openharmony-sig/ohos_axios#%E8%87%AA%E5%AE%9A%E4%B9%89ca%E8%AF%81%E4%B9%A6

更多关于HarmonyOS鸿蒙Next中如何防止release包被charles工具抓包的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


鸿蒙网络编程系列28-服务端证书锁定防范中间人攻击示例
链接

在HarmonyOS鸿蒙Next中,防止release包被Charles工具抓包可以通过以下几种方式实现:

  1. 证书锁定(Certificate Pinning):在应用中绑定特定的SSL证书,确保应用只与指定的服务器通信,防止中间人攻击。可以通过在应用中嵌入服务器的公钥或证书来实现。

  2. 禁用代理:在应用中禁用代理设置,防止应用通过代理服务器进行网络请求。可以通过在代码中设置NetworkCapabilities来禁用代理。

  3. 混淆和加密:对应用代码进行混淆,增加逆向工程的难度。同时,对敏感数据进行加密处理,防止被抓包工具解析。

  4. 使用HTTPS:确保所有网络请求都通过HTTPS进行,防止明文传输的数据被截获。HTTPS通过TLS/SSL协议对数据进行加密,提高安全性。

  5. 自定义HTTP库:使用自定义的HTTP库进行网络请求,避免使用系统默认的HTTP库,增加抓包工具的识别难度。

  6. 检测抓包工具:在应用中集成检测机制,检测是否运行在抓包工具环境中。如果检测到抓包工具,可以采取相应的防护措施,如终止应用或提示用户。

通过这些方式,可以有效防止release包被Charles等抓包工具截获和分析。

在HarmonyOS鸿蒙Next中,防止release包被Charles工具抓包,可以采取以下措施:

  1. 证书锁定(Certificate Pinning):在应用中绑定特定的SSL证书,确保只与可信的服务器通信,防止中间人攻击。

  2. 禁用代理:在代码中禁用HTTP/HTTPS代理,防止流量被重定向到抓包工具。

  3. 加密通信:使用AES等加密算法对敏感数据进行加密,确保即使被抓包,数据也无法被解读。

  4. 混淆代码:使用代码混淆工具,增加反编译和分析的难度。

  5. 网络库配置:使用安全网络库(如OkHttp)并配置不信任用户证书,防止自签名证书被信任。

通过这些措施,可以有效防止release包被Charles等抓包工具拦截和分析。

回到顶部