运营商查浏览网站,帮公司制作一个网站是如何收费,温州网站定制公司哪家好,佛山专业做网站公司哪家好文章目录 1. 写在前面2. 抓包配置3. 抓包分析4. 接口测试5. sign加密算法6. 数据效果展示 【作者主页】#xff1a;吴秋霖 【作者介绍】#xff1a;Python领域优质创作者、阿里云博客专家、华为云享专家。长期致力于Python与爬虫领域研究与开发工作#xff01; 【作者推荐】… 文章目录 1. 写在前面2. 抓包配置3. 抓包分析4. 接口测试5. sign加密算法6. 数据效果展示 【作者主页】吴秋霖 【作者介绍】Python领域优质创作者、阿里云博客专家、华为云享专家。长期致力于Python与爬虫领域研究与开发工作 【作者推荐】对JS逆向感兴趣的朋友可以关注《爬虫JS逆向实战》对分布式爬虫平台感兴趣的朋友可以关注《分布式爬虫平台搭建与开发实战》 还有未来会持续更新的验证码突防、APP逆向、Python领域等一系列文章 1. 写在前面 APP逆向分析的第一步就是抓包分析抓包这个层面能够碰到的坑那也是数不胜数现在大一点的APP基本都是自己的协议然后就是各种防抓包wifi代理检测转发检测证书校验…
做为一名多年爬虫过来人告诉你爬虫的过往与未来
基础 语法爬虫库框架解析库(五花八门)抓包工具(应有尽有)多线程多进程分布式爬虫自动化与存储方案 六七年之前会上面部分加少量的反爬虫对抗能力去任何一家爬虫业务的企业爬虫团队长老位必有一席之位
Web逆向 浏览器构造基础语法Bom、Dom属性与方法调试技巧与工具加密定位代码混淆补环境AST扣代码算法还原指纹与风控对抗能力(里面有超过一半需要长期实践加经验积累) 以上两项掌握如果是在三年前基本在另何一家企业都是爬虫团队的中坚核心力量首席长老就是你
APP逆向 逆向原理Java 、Smali语法反编译工具各种Hook手法与工具调式与定位技巧砸壳加固 还有你见或没见过的各种验证码: 滑块点选运算图文逻辑
爬虫的尽头无疑就是逆向根本学不完 分析目标 T1BQTi9rS7tuWVhuW6l8jOiHquW3seS4ii9vQ 2. 抓包配置 这个APP有一个证书校验如果直接去抓包的话就是下面这个情况 这里的话咱们也是可以使用Frida去Hook掉证书验证当然你需要反编译APP并且定位到验证部分
这里我使用的是Charles Drony的方案去抓这个APP的包用什么方案不是唯一的也可以使用Postren
Android7.0之后默认不信任用户添加到系统的CA证书。所以再这里我们需要把Charles的证书放到手机的系统证书路径下不然https协议数据包是失败的保证手机已经root
/etc/security/cacerts #系统证书路径
/data/misc/user/0/cacerts-added #用户证书路径把Charles证书保存到本地使用如下命令进行计算
openssl x509 -subject_hash_old -in wql.pem文件名把上面计算出来的d27ccb05文件拷到手机系统证书下后缀名的数字是为了防止文件名冲突的推送到手机命令如下
adb push d27ccb05.0 /sdcardadb shell进入到命令行模式将我们刚刚推送到/sdcard下面的d27ccb05.0证书移动系统中证书路径下去如下所示
su #切换权限
cd /sdcard # 切换目录
mv d27ccb05.0 /etc/security/cacerts # 移动证书然后我们再到手机上看系统证书就可以看到我们刚刚移动进去的证书文件了 如下所示 接下來Drony配置如下主要一个就是局域网IP地址加端口这个端口就是Charles的端口如下所示 最后下拉点击规则配置这里的话选择我们抓包的APP应用即可如下所示 3. 抓包分析
在完成上面配置准备之后就可以开始抓包了打开APP跟Charles还有DronyAPP内点击搜索一下关键词抓一下搜索接口的请求搜索接口抓包信息如下所示 可以看到headers的请求参数很多但是大部分都是固定值。动态的有sign、id
下面再抓一下请求信息接口可以看到参数基本都是一样的两个接口不一样的地方就是sign加密参数内容有变化
4. 接口测试
我们先把抓包请求拿出来放到Postman工具内测试验证一下搜索接口测试如下所示
详情接口测试如下所示 证明接口都是没有问题的
5. sign加密算法
sign加密生成主要通过多个参数id、ocs、oak、salt做md5计算实现的
然后就是URL也参与了加密md5之前的加密明文如下 salt是一串盐字符串固定的几个参数将APK反编译后全局搜索能够找到由于我这里7版本的app删掉了就不再验证展示
直接上算法核心加密生成算法如下所示
const crypto require(crypto);function getMd5(body) {return crypto.createHash(md5).update(body, utf8).digest(hex);
}function getSign(url, t) {const oak cdb09c43063ea6db;const oakRear 08f4fe8a43775179bdc58acb383220bc;const idd 867686020 Math.floor(Math.random() * (999999 - 100000 1) 100000) ///;const ocs google%2FNexus6P%2F23%2F6.0.1%2FUNKNOWN%2F2%2FMHC19Q%2F7902;const salt STORENEWMIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBANYFY/UJGSzhIhpx6YM5KJ9yRHc7YeURxzb9tDvJvMfENHlnP3DtVkOIjERbpsSd76fjtZnMWY60TpGLGyrNkvuV40L15JQhHAo9yURpPQoI0eg3SLFmTEI/MUiPRCwfwYf2deqKKlsmMSysYYHX9JiGzQuWiYZaawxprSuiqDGvAgMBAAECgYEAtQ0QV00gGABISljNMy5aeDBBTSBWG2OjxJhxLRbndZM81OsMFysgC7dqbUS6ke1YrDWgsoFhRxxTtx/2gDYciGp/c/h0Td5pGw7T9W6zo2xWI5oh1WyTnn0Xj17O9CmOk4fFDpJ6bapLfyDy7gkEUChJ9p66WSAlsfUhJ2TECQQD5sFWMGE2IiEuz4fIPaDrNSTHeFQQr/ZpZ7VzB2tcG7GyZRx5YORbZmX1jR7l3H4F98MgqCGs88w6FKnCpxDK3AkEA225CphAcfyiH0ShlZxEXBgIYt3V8nQuc/g2KJtiV6eeFkxmOMHbVTPGkARvt5VoPYEjwPTg43oqTDJVtlWagyQJBAOvEeJLno9aHNExvznyD4/pR4hec6qqLNgMyIYMfHCl6d3UodVvC1HO1/nMPl4GvuRnxuoBtxj/PTe7AlUbYPMCQQDOkf4sVv58tqslOI6JNyHy3F5RCELtuMUR6rG5x46FLqqwGQbO8ORqm5IZHTV/Uhr4h6GXNwDQRh1EpVW0gBAkAp/v3tPI1riz6UuG0I6uf5er26yl5evPyPrjrD299L4Qy/1EIunayC7JYcSGlR01EDYYgwUkecQgrRC/NstV;const middleBody ocs t idd url.split(.com).slice(-1)[0].replace(?, );const length (middleBody.length 48).toString();const body oak oakRear middleBody length salt;return getMd5(body);
}const url https://api-cn.store.heytapmobi.com/search/v1/search?start0tabIdsearchType10size10keyword快手
const timestamp Math.floor(Date.now() / 1000); // 当前时间戳
console.log(getSign(url, timestamp));6. 数据效果展示
搜索接口与详情接口请求headers: 详情页面数据内容: 好了到这里又到了跟大家说再见的时候了。创作不易帮忙点个赞再走吧。你的支持是我创作的动力希望能带给大家更多优质的文章