更多>>关于我们
西安鲲之鹏网络信息技术有限公司从2010年开始专注于Web(网站)数据抓取领域。致力于为广大中国客户提供准确、快捷的数据采集相关服务。我们采用分布式系统架构,日采集网页数千万。我们拥有海量稳定高匿HTTP代理IP地址池,可以有效获取互联网任何公开可见信息。
您只需告诉我们您想抓取的网站是什么,您感兴趣的字段有哪些,你需要的数据是哪种格式,我们将为您做所有的工作,最后把数据(或程序)交付给你。
数据的格式可以是CSV、JSON、XML、ACCESS、SQLITE、MSSQL、MYSQL等等。
更多>>技术文章
发布时间:2020-06-14 来源:西安鲲之鹏官微
【经验分享】毒(得物)APP签名算法解决
(1)HTTP请求做了"手脚"无法直接抓到包。
(2)分析代码后发现可以通过HOOK "com.shizhuang.duapp.common.helper.net.interceptor.HttpRequestInterceptor.intercept()"调用或者"okhttp3.internal.http.RealInterceptorChain.proceed()"调用拿到HTTP请求和应答数据(如图1所示)。
(3)分析发现不关是GET请求,还是POST请求,都有一个签名参数newSign。签名算法位于com.shizhuang.duapp.common.utils.RequestUtils中,签名算法原理是对QueryString或Request Body中的参数以及一些特定的Headers排序后进行加密(具体加密算法是在native层实现的,位于libJNIEncrypt.so中),然后对加密结果进行MD5计算(如图2)。
(4)分析出来原理后,思路就清晰了:自己构造HTTP请求,通过HOOK + RPC形式直接调用RequestUtils中的签名算法,产生有效的签名值,这样就能直接拿到接口返回的数据。如图3、4所示为最终采集到的数据。
(1)HTTP请求做了"手脚"无法直接抓到包。
(2)分析代码后发现可以通过HOOK "com.shizhuang.duapp.common.helper.net.interceptor.HttpRequestInterceptor.intercept()"调用或者"okhttp3.internal.http.RealInterceptorChain.proceed()"调用拿到HTTP请求和应答数据(如图1所示)。
(3)分析发现不关是GET请求,还是POST请求,都有一个签名参数newSign。签名算法位于com.shizhuang.duapp.common.utils.RequestUtils中,签名算法原理是对QueryString或Request Body中的参数以及一些特定的Headers排序后进行加密(具体加密算法是在native层实现的,位于libJNIEncrypt.so中),然后对加密结果进行MD5计算(如图2)。
(4)分析出来原理后,思路就清晰了:自己构造HTTP请求,通过HOOK + RPC形式直接调用RequestUtils中的签名算法,产生有效的签名值,这样就能直接拿到接口返回的数据。如图3、4所示为最终采集到的数据。
特别说明:该文章为鲲鹏数据原创内容 ,您除了可以发表评论外,还可以转载到别的网站,但是请保留源地址,谢谢!!(尊重他人劳动,我们共同努力)
☹ Disqus被Qiang了,之前的评论内容都没了。如果您有爬虫相关技术方面的问题,欢迎发到我们的问答平台:http://spider.site-digger.com/