一、简介
1、版本:
12.8.0
2、加密方法
主要有两个地方:
- authorization
来自getAccessToken接口的返回值 - sign
加密使用 阿里聚安全安全组件,
输入值举例:
XICJZ6mC1DoDAAH2f4YYC11d,1582812007091,3b09g2ae9c34bb5af5d37d7c13ed033f645f50a4d
格式是:
{{deviceId}},{{时间戳}},{{固定字符串}}
3、注意点:
- deviceId有一个算法,实际随便写一个就行 (现在必须写真实的才行了)
- deviceId、时间戳、authorization三个必须得对应起来
4、使用
爬虫可以使用deviceId获取authorization,然后使用deviceId、时间戳生成sign。
之后可以把deviceId、时间戳、authorization、sign存在一个池子里给爬虫使用。
有效期两个小时。
二、接口
1、getAccessToken 获取authorization
curl -H 'content-type: application/x-www-form-urlencoded' -H 'user-agent: okhttp/3.11.0' --data-binary "appId=80c9ef0fb86369cd25f90af27ef53a9e&deviceId=XICJZ6mC1DoDAAH2f4YYC11d&version=12.8.0&deviceType=android&os=×tamp=1583052756435&sign=14f011a0368ca713ccaa41f1b95441ee6d3a98ad%7C%7Cj&platform=other&app_channel=gdt_ad_dmp1" 'https://appv4.qichacha.net/app/v1/admin/getAccessToken'
2、搜索接口
curl -H 'authorization: Bearer MjQxZmUyMWItMmU5NS00OTI4LThhZGItNTVhZmVkOGNkYzYz' -H 'user-agent: okhttp/3.11.0' 'https://appv4.qichacha.net/app/v3/base/advancedSearch?searchKey=%E5%BD%93%E5%BD%93%E7%BD%91&searchIndex=default&pageIndex=1&isSortAsc=false&industryV3=&industryCode=&subIndustryCode=&searchType=&hasC=¤cyCode=&hasCI=&hasTE=&hasMP=&hasLQ=&hasGW=×tamp=1583052994517&sign=20f469cbabdf6e6c0f6e9cd2ffd68a6272c137ea%7C%7Cj&needGroup=yes&platform=other&app_channel=gdt_ad_dmp1'
3、详情接口
curl -H 'authorization: Bearer MjQxZmUyMWItMmU5NS00OTI4LThhZGItNTVhZmVkOGNkYzYz' -H 'user-agent: okhttp/3.11.0' 'https://appv4.qichacha.net/app/v6/base/getEntDetail?unique=fdc2083cedcdb585a664d2b7813cc1aa×tamp=1583052994517&sign=20f469cbabdf6e6c0f6e9cd2ffd68a6272c137ea%7C%7Cj&platform=other&app_channel=gdt_ad_dmp1'
三、使用
通过xposed hook + sekiro的方式破解这个加密。
url举例:http://127.0.0.1:5601/asyncInvoke?group=qcc&action=qcc&deviceId=XICJZ6mC1DoDAAH2f4YYC11d
1、启动sekiro server
参考https://github.com/virjar/sekiro