《安卓逆向这档事》第二十一课、抓包学得好,牢饭吃得饱(中)

查看 89|回复 10
作者:风子09   


一、课程目标
1.了解代理以及VPN检测与对抗
2.了解SSL Pinning
3.了解双向认证
二、工具
1.教程Demo(更新)
2.Charles
3.Reqable
三、课程内容
1.代理检测
定义
代理检测是用于检测设备是否设置了网络代理。这种检测的目的是识别出设备是否尝试通过代理服务器(如抓包工具)来转发网络流量,从而可能截获和分析App的网络通信。
原理
App会检查系统设置或网络配置,以确定是否有代理服务器被设置为转发流量。例如,它可能会检查系统属性或调用特定的网络信息API来获取当前的网络代理状态。
return System.getProperty("http.proxyHost") == null && System.getProperty("http.proxyPort")  == null
Port跟设置有关,例如Charles默认是8888
强制不走代理
connection = (HttpURLConnection) url.openConnection(Proxy.NO_PROXY);
OkHttpClient.Builder()  
    .proxy(Proxy.NO_PROXY)  
    .build()
Charles安装与配置
下载地址:https://www.charlesproxy.com/download/


放一组key:
Registered Name:        52pojie
License Key:        d43c11e6697bbe07a8
详细安装与配置
anti脚本:
function anti_proxy() {
    var GetProperty = Java.use("java.lang.System");
    GetProperty.getProperty.overload("java.lang.String").implementation = function(getprop) {
        if (getprop.indexOf("http.proxyHost") >= 0 || getprop.indexOf("http.proxyPort") >= 0) {
            return null;
        }
        return this.getProperty(getprop);
    }
}
透明代理
透明代理(Transparent Proxy)是一种特殊的代理服务类型,它可以在客户端(如浏览器或应用程序)不知道的情况下拦截、转发和处理网络请求。与传统的代理服务不同,透明代理不需要客户端进行任何配置就能工作。
[Clash版]安卓上基于透明代理实现热点抓包
安卓上基于透明代理对特定APP抓包
2.VPN检测
定义
VPN检测是指应用程序或系统检查用户是否正在使用虚拟专用网络(Virtual Private Network, VPN)的一种技术。当用户使用VPN时,他们的网络流量会被加密并通过一个远程服务器路由,这可以隐藏用户的实际IP地址和位置信息,同时保护数据的安全性和隐私。
原理
当客户端运行VPN虚拟隧道协议时,会在当前节点创建基于eth之上的tun0接口或ppp0接口。这些接口是用于建立虚拟网络连接的特殊网络接口。
根据OSI七层模型,二者分别支持的协议:
[table]
[tr]
[td]VPN[/td]
[td]OpvenVPN、IPsec、IKEv2、PPTP、L2TP、WireGuard等[/td]
[/tr]
[tr]
[td]代理

网络, 接口

zeusho   

有抓包能抓到,找不到app对应位置,开始学习到现在,跟着一个app,学了很多,发现自己不会的更多,已经放弃。
app作者不断改进,之前是可以抓到包,现在包都抓不到了!
bigqyng   

视频晚点上传
沉默的小嘉   

表哥带带我 手撕瑞数 脚踢akamai
uuwatch   

收下膝盖666
st0rm   

想学一下小程序 / app 的 sign 分析
iwxiao   

四是认真的吗?,五也是被吃掉了
快乐的小跳蛙   

相当详细,确实有用
涛少   

66666请加大尺度
涛少   

前排膜拜大佬
您需要登录后才可以回帖 登录 | 立即注册

返回顶部