逆向目标
需要从企查查中搜索公司信息,抓包发现,header中存在一个加密参数,key和value在每次请求时都会改变,如下图:
只要搞定该参数,加上随机ip,基本就能拿到数据了。
分析过程
分析过程比较繁琐,尝试了多种方案,比如hook header、搜索headers关键字、url断点等,都不太理想,没能定位到加密函数。
仔细观察,发现headers还有一个X-Pid参数,抱着试试的态度搜了下,发现此处很可疑,如下图
加上断点后,逐步调试,进入到o.default函数中,可以发现header加密的key和value逻辑,如下图:
至此,逆向已完成80%。接下来只要跟下代码就行了,或者省事点,直接上RPC调用。
继续往下跟,最终会得到底层的加密函数,发现是HMAC算法,如下图
接下来就比较简单了,拿到上图中n和e的值,在线做下HMAC的加密,看看是哪种算法:Code Beautify and Code Formatter For Developers - to Beautify, Validate, Minify, JSON, XML, JavaScript, CSS, HTML, Excel and moreFree Online Tools like Code Beautifiers, Code Formatters, Editors, Viewers, Minifier, Validators, Converters for Developers: XML, JSON, CSS, JavaScript, Java, C#, MXML, SQL, CSV, Excelhttps://codebeautify.org/
通过对比,发现是使用的HMAC-SHA512算法,接下来就是扣代码了。
过程比较简单,就不放具体的过程了。
具体实现
考虑到法律因素,具体实现就不放出来了,可以看下面的截图: