Chrome 的 Captive Portal 处理机制

Google Chrome 在 M63 版本引入了一项修改以解决 Captive Portal 场景下的用户登录问题 —— 当未登录的用户访问 HTTPS 网站时,由于 Captive Portal 的拦截,浏览器会出现网络超时、SSL/TLS 告警等问题。本文详细介绍了 Chrome M63 的这项机制。 继续阅读Chrome 的 Captive Portal 处理机制

微信支付 Android SDK 逆向

简介

按照微信官方开发者网站的描述,微信支付按模式不同有刷卡支付、公众号支付、扫码支付、APP 支付、H5 支付、小程序支付六种。其中,“APP 支付”即商户 APP 调用微信提供的 SDK 调用微信支付模块,商户 APP 会跳转到微信中完成支付,支付完后跳回到商户 APP 内,最后展示支付结果。

本文将介绍 Android 平台上的 APP 支付流程,然后通过逆向工程探究微信在手机端是如何对接口进行认证的。 继续阅读微信支付 Android SDK 逆向

Android DexGuard 混淆指南

简介

DexGuard 是一款付费代码混淆软件,主要功能是对 Java 代码进行混淆,使得反编译后得到的源代码可读性差,从而加大破解的难度。DexGuard 与 Android 上主流的混淆工具 ProGuard 同属一家公司开发,但相比免费的 ProGuard 功能更多,混淆力度也更大。详细异同参考:DexGuard vs. ProGuard

本篇教程将使用 DexGuard 8.1.14 版本,在 Ubuntu 14.04 server 编译环境下对 Android Gradle 工程进行混淆。 继续阅读Android DexGuard 混淆指南

DexGuard 常见问题解决

multidex 错误

Android 对单个工程包含的总方法数有限制,最多是 65535 个。如果工程较大,方法数超过这个数目,就要使用 multidex 技术,否则将会运行错误。multidex 将原来编译出的 dex 文件分割为多个子 dex 文件,APP 运行时再拼接起来。DexGuard 使用自己实现的 multidex 支持,因而使用上需要一些配置。

继续阅读DexGuard 常见问题解决