当你写爬虫遇到APP的请求有加密参数时该怎么办?【初级篇-秒杀模式】

看完了初级篇的常规模式以后,你是否是发现了一个很严重的问题:若是每一个APP都须要这么反编译看代码仿写的话,那么当想要大批量爬不一样的APP的时候,光是找加密参数的生成部分就已经很花时间了,有没有更快捷的办法呢?浏览器

答案是有的,并且对于初级篇水平的APP来讲,这个操做可让你在一分钟内直接秒掉它的加密参数部分,能够说是一种降维打击了!网络


那么这个效果是怎么作到的呢?其实很简单,就是直接将Java标准库中常见的被用于生成加密参数的方法给Hook了,监听它们的输入参数和返回值,这样就能直接获得加密、Hash前的原文、密钥、IV等内容了,怎么样?是否是很简单?框架

小提示:之因此不提Kotlin,是由于在Kotlin下写加密、Hash操做的代码时若是不使用第三方库的话,就只能调用Java的标准库了,而第三方库的类名、方法名可能性太多了,不像标准库那样能够直接秒杀一大片,因此不属于本系列初级篇内容。(已询问多位Android开发同窗验证此结论)tcp

因此...要怎么操做呢?其实目前已经有一个很是方便的、基于Xposed框架编写的、能实现这种效果的工具了,它就是——Inspeckage。这个工具其实我在前面的《写APP爬虫会须要用到哪些工具呢?》文章中有提到过,它已经将标准库中经常使用的加密、Hash方法都给Hook了:工具

Inspeckage Hook 加密类操做标准库的代码

Inspeckage Hook Hash类操做标准库的代码

而在你须要的时候,只须要打开Inspeckage -> 选择须要Hook的APP -> 打开Inspeckage的Web端或者在日志中搜索你所须要找的加密参数就能够获得原文和使用的加密、Hash类型,直接秒杀!加密

接下来我将继续使用前面常规模式中的Demo APP来进行演示,若是你火烧眉毛地想要尝试了的话,能够发送消息【APP加密参数破解初级篇代码】到个人公众号[小周码字]得到Demo APP的下载地址,注意是发送【APP加密参数破解初级篇代码】,上一篇中有人发的是“小周码字”,还问我为啥没有反应...日志


话很少说,咱们开始实战,首先咱们须要准备一台已经安装好Xposed框架的Android手机,而后在Inspeckage的GitHub仓库中下载最新编译好的Inspeckage安装包或直接在Xposed管理器中安装它。code

装好后记得在Xposed管理器中将它启用,启用后须要重启生效。cdn


准备好了环境以后,咱们就能够开始破解这个Demo APP了,打开Inspeckage,点击“choose target”选中想要Hook的APP(这里选择“APP加密参数DEMO-初级篇”)。blog

选中后点击“LAUNCH APP”按钮就能够了。

小提示:若是在这以前你打开过指定的APP的话,须要将其强制中止后再点击“LAUNCH APP”按钮,不然可能会出现Hook失败的状况。

在启动以后咱们就能够在Inspeckage的Web端或日志中搜索sign的加密后参数了,这里说一下怎么操做:

  • Web端

    Web端的话,若是你的手机和电脑是在同一个网络环境下,且手机和电脑能互通,那么你能够在电脑上直接用浏览器访问手机上显示的内网IP地址(如http://192.168.137.64:8008);若是你的网络环境使你不能这么操做的话,你还能够用adb命令adb forward tcp:8008 tcp:8008将手机上的8008端口映射到电脑上,而后就能够直接访问http://127.0.0.1:8008了(须要8008端口未被占用)。

    在打开了Web端以后,将页面上方那个扳手按钮右边的自动刷新选项打开,就能够看到被Hook出来的东西了。

  • 日志

    可使用adb命令adb logcat来导出日志而后查看,或者是用像Android Studio中的logcat工具这种流式、带搜索功能的工具来查看。另外若是在Web端找到对应的加密参数时,原文过长致使出现被截断的状况,也能够在日志中找到对应的内容进行查看,打到日志中的会是彻底体。


以后依然是常规流程,先抓个包看看。(再次提醒,若是你抓不到包的话,先看看我以前的抓包系列文章,这是基本操做!)

这里咱们抓包后获得了一个sign:188c338423f3af3c2c0277946de958f8,直接将它复制出来,而后在Inspeckage的Web端中的Hash栏内搜索(日志内搜索直接搜sign的内容便可)。

看到了吗?直接就获得了它的原文:brand=Xiaomi&device=capricorn&model=MI 5s&ts=1560859682&version=8.1.0了,轻轻松松地就破解了这个APP的sign参数,全程只用了一分钟!


这个时代各类东西变化太快,而网络上的垃圾信息又不少,你须要有一个良好的知识获取渠道,不少时候早就是一种优点,还不赶忙关注个人公众号并置顶/星标一波~

发送消息“APP加密参数破解初级篇代码”到个人公众号【小周码字】便可得到demo代码和APP的下载地址~

相关文章
相关标签/搜索