0%

微信小程序项目

TZVideo

追剧小助手微信小程序

tita 逆向分析(源码半成品失败)

tita搜索很聪明,阻止了网络代理和vpn代理,无法抓包,在模拟器中安装会闪退,安全措施极好.
安装包使用360加固加壳,传统脱壳方式已经无效,这里使用frida

FRIDA

Dynamic instrumentation toolkit for developers, reverse-engineers, and security researchers.

Frida是一个跨平台的注入工具
根据cpu下载对应版本
使用adb工具,安卓手机打开开发者模式,push到的/data/lcoal/tmp 目录下

1
adb push frida-server /data/local/tmp/
1
2
adb forward tcp:27042 tcp:27042
adb forward tcp:27043 tcp:27043

遇到的一些错误

  1. 手机运行frida-server会导致手机重启,根据github issue871的反馈,问题可能是是联发科cpu,以及华为海思麒麟的cpu导致,所以12.5.0以上的frida-server会导致手机重启,高通cpu的手机不会出现此问题.本人联发科处理器使用12.4.8版本有效
  2. 下载了frida-server-12.4.8-android-arm64.xz,报错如下
    1
    k_shell/0:9812: ./frida-server: not executable: magic 7F45
    frida-server下错版本了,根据cpu版本自行下载

tita其他分析

tita搜索已非人工检索方式,根据或选择的关键词自动发送到第三方目标网站返回索引链接,所有资源都由第三方网站提供

基本原理

原理来自:自定义网站搜索教程

1、基本原理与参数

自定义站源规则,说白了就是APP直接请求所填的搜索网址,得到返回的 html 后,根据对应标签来定位,获取指定内容包括: text(也就是文字),href(详情链接)。

一般格式 class/id/tag.属性名@tag.标签名.定位数字@获取内容的类型

2、网站案例说明

我们拿 https://53ys.cc/ (网站域名更改了,之前是https://wsys.tv) 这个网站来说一下具体的规则。

浏览器打来网站后,F12或者右键选择“检查”选项以后,就打开了开发者模式,再刷新下网页,让网站显示手机适配模式。点击网站中的搜索功能,这里我们以搜索“钢铁”为例,搜索地址为 https://53ys.cc/vodsearch/so.html?wd=钢铁

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
{

        "name":"无双电影", #网站名称:无双电影

        "serialNumber":"1", #搜索优先级:1

        "reqType":"get", #请求类型:get

        "reqCharset":"utf-8", #请求编码:utf-8

        "htmlCharset":"utf-8", #网页编码:utf-8

        "userAgent":"", #HttpUserAgent

        "baseUrl":"https://53ys.cc", #网站URL:https://53ys.cc

        "searchUrl":"https://53ys.cc/vodsearch/so.html?wd={search}", #搜索地址:https://53ys.cc/vodsearch/so.html?wd={search}

        "ruleResultList":"class.fed-part-layout fed-back-whits@tag.dl", 搜索结果列表规则:class.fed-part-layout fed-back-whits@tag.dl(说明:此项就是来获得搜索结果列表。上面规则的意思就是 class="fed-part-layout fed-back-whits"的这个里面的tag标签为dl的内容。这样就会得到下面html返回的共10个内容。)

        "ruleResultLink":"tag.h1@tag.a@href", #搜索结果列表每项地址规则:tag.h1.0@tag.a.0@href(说明:此项就是来获得每一项结果的具体url地址。上面规则的意思就是 第一个 h1 标签中的第一个 a 标签中的href内容,也就是“/detail/178525.html”。当防止出现相同标签的时候,可以加数字定位,第一个是 0,第二个是 1,第三个是 2,以此类推,默认不写的话就是所有的。)

        "resultLinkPrefix":"https://53ys.cc",#搜索结果列表每项地址前缀:https://53ys.cc(说明:前面我们已经获取了每项结果的地址为“/detail/178525.html”,可以看出是个不完整的url,所以这一项的意思就是给他添加前缀补充完整,即“https://53ys.cc/detail/178525.html”)

        "ruleResultTitle":"tag.h1@tag.a@text" # 搜索结果列表每项标题:tag.h1@tag.a@text(说明:每项结果的标题,规则的意思就是 第一个 h1 标签中的第一个 a 标签中的text内容,因为是第一个也就是0,默认可以不填写,获得文本内容即“钢铁苍穹2:即临种族”)

    }

`

功能设计与预期

主要原理

首先通过豆瓣查询影片信息,然后通过相关接口和爬虫提取直链

UI及功能参考

1.片单

mark

2.热剧,电影,综艺,动漫(来自于豆瓣)

mark

3.分类(来自豆瓣)

mark

4.更新(来自数据库中的newlinkjson字段返回的内容)

mark

功能预期

五大模块

-[ ] 首页 有片单,热剧,电影,综艺,动漫推荐 (豆瓣获取)

-[ ] 分类功能

-[ ] 搜索 先搜豆瓣,后搜资源

-[ ] 我的 收藏(保存收藏)和历史记录

-[ ] 资源更新信息 从ok资源网爬取

资源网站收集

  1. ok资源网
  2. 酷云资源网
  3. 最大资源网
  4. 看看资源网
  5. 哈酷资源网
  6. 605资源网
  7. 最新资源网
  8. 速播资源网
  9. 百万资源网
  10. 云站资源网
  11. 酷云资源网
  12. 极快资源网
  13. 高清资源网
  14. 卧龙资源网
  15. 超快资源网
  16. 麻花资源网
  17. 永久资源网
  18. 158资源网

资源数据库相关字段说明

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
"baseurl"  网站URL
"blocktypejson", 屏蔽类型
"code", 网站简称
"htmlcharset", html编码
"useragent", 用户代理,反爬
"searchurl", 搜索url
"name", 网站名称
"newlinkjson", 最近更新url链接,与newnamejson对应
"newnamejson", 网站总类,与newlinkjson对应,如["全部","动漫片","欧美剧","大陆剧","日本剧","韩国剧","香港剧","台湾剧","综艺片"]
"reqcharset", request 编码
"reqtype", 请求类型,get,post
"resultlinkprefix",搜索结果列表每项地址前缀
"rulechannelgroups",
"ruledetailcover",
"ruledetailcoverprefix",
"ruledetailintro",
"ruleepdownlist", 搜索结果列表下载链接
"ruleeplink",
"ruleeplinkprefix",
"ruleeplistm3u8", 搜索结果列表每项标题
"ruleeplistshare",
"ruleeptitle", 搜索结果列表每项标题
"ruleresultarea",
"ruleresultlink",
"ruleresultlist",
"ruleresulttime",
"ruleresulttitle",
"ruleresulttype"
,"isdisable",
"serialnumber",
"iscustom",
"version",
"searchpostdata",
"needsniff",
"sorttime",
"doublecheckm3u8link"