【发布时间】:2021-01-12 07:23:56
【问题描述】:
关于在Android中使用OkHttp3中的CertificatePinner类绕过SSL Pinning的文章太多了。
https://medium.com/@hojat.sajadinia/bypass-okhttp-certificatepinner-on-android-9a45ad80a58b
https://joncooperworks.medium.com/disabling-okhttps-ssl-pinning-on-android-bd116aa74e05
所以我的问题是,我应该怎么做才能通过使用 OkHttp.CertificatePinner 来防止绕过 SSLPinning ?
我尝试的是在我的项目中混淆 OkHttp。使用 ApkTools 逆向 APK 文件时找不到 OkHttp3 类,但是当我使用 jadx 逆向 APK 文件时,OkHttp3 不会在 dex 文件中被混淆。
【问题讨论】:
-
我觉得什么都做不了,反编译后还是可以看到
CertificatePinner的代码用在了哪里,先猜OkHttp3类的混淆名称是什么。 -
证书固定可防御中间人攻击。阻止攻击者对他们自己的客户端设备进行反编译和逆向工程是没有用的。
-
我发现了这个讨论github.com/square/okhttp/issues/4967。但是,我仍然不知道我在实施 proguard 规则时错过了什么。为什么在 classes.dex 中仍然可以找到 OkHttp3?有什么方法可以从 dex 文件中删除或混淆 OkHttp3 吗?