这篇文章给大家分享的是有关java+pycharm如何实现抖音视频爬虫的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
1、用到的工具等:
Charles (随便一个抓包工具即可,哪个顺手用哪个)
动态字段: x-gorgon:0408*** (开头)
抖音Version:12.8.0 (发帖时的最新版本)or 抖音极速版 (文件少,编译快)
IDA or JEB
Jadx-gui
frida
Pycharm
root 真机(Android) or 模拟器
2、反编译:
Apk 直接丢入 Jadx-gui or Apk==>zip ==> 解压 ==> .dex 全部打包丢入 Jadx-gui
查找关键字: x-girgon
cdn.nlark.com/yuque/0/2020/png/97322/1607128046539-933da4e3-cc27-4aa6-86dd-93ecf6c9281f.png?x-oss-process=image/resize,w_1500">
先看调用处:
这个so 文件全名: libcms.so apk压缩包中可以找到。
接下来看看函数声明处:
代码不能被工具完美还原,试了几个工具都这球样,不用浪费时间折腾了。直接看吧,功底好的可以直接看Smali 代码。
可以看到r8 即为想要的值,向上查找r8
其中 com.ss.a.b.a.a() 是重载函数,hook时需要注意下。
贴附一段Frida 代码: 注意overload("")
这块儿的代码是可以正常展示的,很好还原:
接下来到了难点:
byte[] r0 = com.ss.sys.ces.a.leviathan(r8, r7, r0)
这个不太好还原, 三个参数:
native 修饰的 leviathan ()函数, 对应的方法体在最早加载的 cms.so 中。
可以使用ida or jeb 进行查看,会发现没有到处函数,其使用了花指令混淆的加密措施。
破解难度太大,可以考虑换了一种简单的调用方式进行解决
优先推荐 : frida-rpc, 实现思路如下: 具体的自行完善
(我自己使用的java 进行主动调用的,想了解的可以关注后留言,或者微信)
这种方式比较简单,还可以开微服务。
其中传递进去的参数可以使用frida hook 进行获取
输出结果为:
参数1: -1
参数2: 十位时间戳(来自url参数中的十三位时间戳)同 x-khronos 相同。
参数3: post参数的data 部分,就是下图中的r0
参数整理:
r0 = md5(url?后的参数) 对网址的参数进行md5
r13 = x-ss-stub,只有post时才有效,否则是32个0
r11 = md5(cookie) 对cookie进行md5
r12 = md5(cookie['sessionid']) 对cookie里面对sessionid进行md5,否则也是32个0
感谢各位的阅读!关于“java+pycharm如何实现抖音视频爬虫”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。