ximalaya

ximalaya 新xm-sign逆向思路(二) 1.网页会在加载时生成一个对象t,格式为 t={key:value........}2.将t对象中的date时间戳以及urt两个值调整, date是当前时间戳, urt是随机值+固定字符串拼接3.调用_getProcessData函数,将t对象转成数据结构,主要以二进制存储4.通过post请求像网站发送请求,携带第3步生成的ArrayBuffer,目标网址是通过https://hdaa.shuzilm.cn+getUrlMethod(0)拼接而成。 阅读详情
http://mobile.ximalaya.com/mobile/discovery/v1/recommends?channel=and-c57&device=android&includeActivity=true&includeSpecial=true&scale=2&version=4.3.44.2


专辑类:
http://mobile.ximalaya.com/mobile/others/ca/album/track/332600/true/1/20?position=1&device=android&title=%E7%8C%9C%E4%BD%A0%E5%96%9C%E6%AC%A2


track类:在list里面:
http://mobile.ximalaya.com/mobile/others/ca/album/track/332600/true/1/20?position=1&device=android&title=%E7%8C%9C%E4%BD%A0%E5%96%9C%E6%AC%A2




整理出需要的类,这个是数据结构部分。




小编推荐部分,里面是专辑,这个专辑是一个专辑类里面的一部分数据
热点focusImage,是一个热点类。
热门推荐是一个推荐的集合,小编推荐是里面的一个
弹幕部分:里面是音频track,
精品听单:这个里面的是音频还是专辑






所有的属性都要建立出来:
发现新奇里面是的contentType,根据不同的例如html5的打开的是网页。
ret 0 用来判断结果是正确的还是失败的。


注意了----------------作为项目经理需要写接口之类的文档,例如,这个json这个就是我们需要的类型数据。
这个到时候都需要和服务端的开发者要求的。




那么现在需要那些实体类呢:
发现的实体类:
热点图的实体类
推荐信息的实体类。
专辑实体类
音频实体类。




在软件开发过程中实体类是绝对不会发生变化的,
如果真的说需要实体类发生变化的话,就是一个重大的版本更新了。
所以实体类在一个版本之内是不做任何变化的,所有前期做URM图需要做很长事件,
假设我们已经做好了URM图,现在就需要做实体类了。


我们的页面跳转是基于activity 跳转还是fragment跳转?
这里我们选择使用fragment 跳转,fragment跳转




现在我们先将第三方框架导入。这个其实是底层需要做的。
网络框架-》retrofit,retrofit2:convert-gson:2.0.0-beta3
图片加载-》fresco,fresco.0.9.0
数据库框架-》greendao,de.greenrobot:greendao:2.1.0

recyclerView-》com.android.support:recyclerview-v7:23.1.0
design->com.android.support:design:23.1.0




导入的时候可能需要它下载:
下载后的路劲是类似于:C:\Users\XUE\.gradle\caches\modules-2\files-2.1\com.facebook.fresco\fresco\0.9.0


因为数据库使用了greendao,所以数据库需要代码生成的。
新建一个model,选择Java Library,名字和classname 可以默认
Library name->lib
Java class name-> MyClass




然后路劲是在lib 下面的src-----》example下面的


----------------
注意了,如果是因为在同步的时候添加了东西,但是没有出来效果,例如刚才我在同步时的时候添加了model,但是在项目上面按F4的时候没有看到lib这个model,
这个时候只要点开右边的gradle菜单,点击上面的刷新按钮就好了。
----------------


点击项目,按F4,点击左边列表的lib,然后添加dependency,
选择de.greenrobot:greendao-generator:2.1.0
因为greendao 需要通过这个generator来生成DAO的文件。(是DAO文件吗?还是什么文件?)


在MyClass里面添加schema和entitis


 Schema schema = new Schema(1,"com.kodulf.ximalayating.entities");//里面的第二个元素是实体包的包名。
        schema.setDefaultJavaPackageDao("com.kodulf.ximalayating.dao");//dao的包名


        Entity discoveryEntity =schema.addEntity("DiscoveryEntity");
        discoveryEntity.addIdProperty("id");//先写id,
        discoveryEntity.addIntProperty("orderNum");
        discoveryEntity.addStringProperty("title");
        discoveryEntity.addStringProperty("subtitle");
        discoveryEntity.addStringProperty("coverPath");
        discoveryEntity.addStringProperty("contentType");
        discoveryEntity.addStringProperty("url");
        discoveryEntity.addStringProperty("sharePic");
        discoveryEntity.addBooleanProperty("enableShare");
        discoveryEntity.addBooleanProperty("isHot");
        discoveryEntity.addBooleanProperty("isExternalUrl");
        discoveryEntity.addIntProperty("contentUpdatedAt");




albumEntity.addDateProperty("createdAt");//这里Date的数据是long 类型的数据,需要自己写转换,转换成Date。


albumEntity.addLongProperty("uid");//凡是有ID的最好都是建立成long 类型的。




        //trackEntity.addStringProperty("albumTitle");信息冗余
        //trackEntity.addStringProperty("albumImage");//这个图片是和专辑里面的coverSamll 是一眼过的
        


recommendEntity.addIdProperty().autoincrement();//因为 这个Entity 不是从网络获取的,所以ID设置为自增长的。
        


------------------------------------------
albumId: 332600,
categoryId: 23,
categoryName: "电影",
title: "科恩的经典影视音乐",
coverOrigin: "http://fdfs.xmcdn.com/group12/M07/D2/B3/wKgDXFZ5NTjQEsktAAENAHK6MgU153.jpg",
coverSmall: "http://fdfs.xmcdn.com/group12/M07/D2/B3/wKgDXFZ5NTjQEsktAAENAHK6MgU153_mobile_small.jpg",
coverMiddle: "http://fdfs.xmcdn.com/group12/M07/D2/B3/wKgDXFZ5NTjQEsktAAENAHK6MgU153_mobile_meduim.jpg",
coverLarge: "http://fdfs.xmcdn.com/group12/M07/D2/B3/wKgDXFZ5NTjQEsktAAENAHK6MgU153_mobile_large.jpg",
coverWebLarge: "http://fdfs.xmcdn.com/group12/M07/D2/B3/wKgDXFZ5NTjQEsktAAENAHK6MgU153_web_large.jpg",
createdAt: 1422098781000,
updatedAt: 1453356547000,
uid: 9470731,
nickname: "科恩凯达陛下",
isVerified: true,
avatarPath: "http://fdfs.xmcdn.com/group6/M0A/17/14/wKgDhFTWK96C5B3dAACRVL0bNnQ746_mobile_small.jpg",
intro: "绝对是你找了好久的音乐哦,绝对有款适合你",
introRich: "绝对是你找了好久的音乐哦,绝对有款适合你",
tags: "电影原声,纯音乐",
tracks: 143,
shares: 0,
hasNew: false,
isFavorite: false,
playTimes: 275267,
status: 1,
serializeStatus: 0,
serialState: 0,
playTrackId: 0,
isRecordDesc: false


------------------------------------------






------------------------------------------------


trackId: 5186594,
uid: 9470731,
playUrl64: "http://fdfs.xmcdn.com/group5/M08/68/5D/wKgDtlTDgVeD0885ABQOjERd1GQ901.mp3",
playUrl32: "http://fdfs.xmcdn.com/group5/M08/68/5D/wKgDtlTDgVjiSMPXAAoGyx4yrUI730.mp3",
downloadUrl: "http://download.xmcdn.com/group5/M0A/69/B7/wKgDtVTDgVfx7pZJAApnPuTBEUE766.aac",
playPathAacv164: "http://audio.xmcdn.com/group15/M0B/50/9A/wKgDZVW0N7Wg-AvrABROnzUmP8A442.m4a",
playPathAacv224: "http://audio.xmcdn.com/group15/M0B/50/A5/wKgDaFW0N6DTM-RWAAfGj5ZLWFM410.m4a",
downloadAacUrl: "http://download.xmcdn.com/group15/M0B/50/A5/wKgDaFW0N6DTM-RWAAfGj5ZLWFM410.m4a",
title: "02.功夫配乐《只要为你活一天》演奏版 (2)",
duration: 164.25,
albumId: 332600,
albumTitle: "影视纯音乐",
albumImage: "http://fdfs.xmcdn.com/group6/M02/03/8C/wKgDg1TPhvHw2vr1AADzpcUiJjM991_mobile_small.jpg",
processState: 2,
createdAt: 1422098781000,
coverSmall: "http://fdfs.xmcdn.com/group5/M09/74/E2/wKgDtlTHuu3Qif0XAAGkS5EW3r8498_web_meduim.jpg",
coverMiddle: "http://fdfs.xmcdn.com/group5/M09/74/E2/wKgDtlTHuu3Qif0XAAGkS5EW3r8498_web_large.jpg",
coverLarge: "http://fdfs.xmcdn.com/group5/M09/74/E2/wKgDtlTHuu3Qif0XAAGkS5EW3r8498_mobile_large.jpg",
nickname: "科恩凯达陛下",
smallLogo: "http://fdfs.xmcdn.com/group6/M0A/17/14/wKgDhFTWK96C5B3dAACRVL0bNnQ746_mobile_small.jpg",
userSource: 2,
orderNum: 9999,
opType: 1,
isPublic: true,
likes: 10,
playtimes: 3006,
comments: 2,
shares: 0,
status: 1,
downloadSize: 681790,
downloadAacSize: 509583


------------------------------------------------






hotrecommends
里面的:下面的title。contentType,categoryId,count 是不用建立在数据库的,可以算是临时的。
也可以写在数据库里面。


ret: 0,
title: "热门推荐",
list: [
{
title: "听新闻",
contentType: "album",
isFinished: false,
categoryId: 1,
count: 1000,
hasMore: true,
list: [


--------------------------






--------------------------



ximalaya_downloader_&_x2m_decoder.rar ximalaya downloader & x2m decoder是一款喜马拉雅声音下载及x2m音频解密工具,用过喜马拉雅的用户都知道,喜马拉雅下载的格式是x2m,目前所有播放器都无法播放,但使用本工具,可以将x2m格式解密,解密后你就可以播放了,需要的网友可以下载ximalaya downloader & x2m decoder使用。 立即下载

相关推荐

喜马拉雅xm文件解密工具

软件名:Ximalaya-XM-Decrypt。在使用该软件时,请确保xm_encryptor.wasm文件与主程序文件处在同一目录下,最好是一个单独的文件夹。

喜马拉雅手机客户端 分析

http://mobile.ximalaya.com/mobile/others/ca/album/track/221378/true/1/20?device=android&pageSize=20&albumId=221378&isAsc=true {   "ret": 0,   "album": {     "albumId": 221378,     "categoryId":

六桥风月IT随笔 2904

ximalaya:喜马拉雅听书

ximalaya:喜马拉雅听书

喜马拉雅音频下载+x2m文件转换

一款关于喜马拉雅音频的小神器 x2m格式转换为m4a格式 批量下载操作

派森世界啃Bug(草)的可爱神兽~ 2万+

(亲测有效)喜马拉雅xm文件转mp3/m4a,支持批量转换格式、批量下载

喜马拉雅xm文件转mp3,支持批量转换、批量下载,喜马拉雅xm文件转mp3,支持批量转换、批量下载,支持xm文件转mp3/m4a

ximalayafm-download-2.0.0

喜马拉雅免费音频批量下载工具,针对喜马拉雅新版网页。

喜马拉雅音频下载工具

喜马拉雅音频下载工具 功能 根据电脑页面网址分析出专辑的音频建立专辑目录并下载所有音频 下载地址: http://git.oschina.net/yctxkj/downloadfiletool

迷茫的小莱 1万+

M1905播放器.rar

M1905播放器.rar

探索听觉盛宴的钥匙 —— Ximalaya-Downloader

探索听觉盛宴的钥匙 —— Ximalaya-Downloader 项目地址:https://gitcode.com/gh_mirrors/xim/Ximalaya-Downloader 在这个数字化的时代,音频内容成为了我们日常生活中不可或缺的一部分,而喜马拉雅作为一个国内领先的音频分享平台,汇聚了无数精彩纷呈的声音世界。但你知道吗?获取这些音频资源并不总是那么便利。正因如此,Ximalaya-D...

gitblog_00031的博客 817

喜马拉雅专辑下载工具

直接批量下载喜马拉雅上面的免费资源,不能够下载收费资源。

计算机模拟爆破过程,基于LSDYNA岩石爆破模拟建模分析

原标题:基于LSDYNA岩石爆破模拟建模分析 Ls Dyna岩石爆破模拟仿真作者:dyna_focus擅长领域:dyna/abaqus/hypermesh一、 数值模型的建立1.1 单元及算法的选择岩石,炸药,空气都采用solid164实体单元。岩石采用常应力实体单元,该种单元属于纯粹的lagrange算法,该种算法单元网格附着在材料上,随着材料的流动而产生单元网格的变形,但是在结构变形巨大时,有...

weixin_29494379的博客 7312

ximalaya webbpack逆向

ret = subprocess.check_output(f'node 04index.js {data}', shell=True) 传入参数并调用04index.js。新建四个js文件, 分别是01env,02loader,03mode,04index 作用是补环境、加载器、模块和执行。在index文件中导入前三个文件,然后执行,提示window不存在,在env中补上window=global。在加载器中打印调用的模块索引/键 本次webpack使用的是数组,所以需要打印索引。

weixin_66580433的博客 685

Blender入门教程-3D视图界面介绍

3D视图用于与3D场景交互,可用于各种目的,例如建模、动画、纹理绘制等。在关闭 启动画面 后,启动场景会显示在3D视口中(如果没有加载其他blend文件)。01 标题栏标题栏包含了基于当前 模式 的各种菜单和控制。

weixin_52345129的博客 2287

开源项目 ximalaya_downloader 亮点详解

`ximalaya_downloader` 是一个开源项目,旨在帮助用户下载并保存喜马拉雅平台上的音频文件。该工具支持批量下载,用户可以根据自己的需求,快速获取音频资源,非常适合喜马拉雅内容的爱好者及内容创作者。 ## 2. 项目代码目录及介绍 项目的主要代码目录如下: ``` ximalaya_downloader/ ├── README.md ├── requirements.txt ├...

gitblog_00832的博客 627

保姆级教程:用Jetson Orin Nano和ROS2 Humble搞定PIXhawk 4飞控通信(含配置文件详解)

本文提供了一份详细的Jetson Orin Nano与PIXhawk 4飞控通信配置指南,涵盖硬件连接、ROS2 Humble环境搭建、MAVROS2配置及通信调试全流程。通过实战案例和配置文件详解,帮助开发者快速实现无人机上位机与飞控的稳定通信,适用于无人机开发与自动化控制场景。

weixin_33670786的博客 475

GE Proficy Historian8.0历史数据库部署与配置全攻略

本文提供了GE Proficy Historian 8.0历史数据库的详细部署与配置指南。内容涵盖安装前的系统环境、权限与依赖检查,服务器安装的关键步骤与类型选择,采集器的安装配置与数据接入,以及客户端工具的使用与数据分析实战。旨在帮助用户规避常见陷阱,实现一次部署成功,构建稳定高效的工业数据归档平台。

silver的专栏 766

【免费下载】 Ximalaya Downloader 常见问题解决方案

2. **打开 Chrome 扩展程序**:在 Chrome 浏览器中,点击右上角的菜单按钮,选择“更多工具” -> “扩展程序”。 3. **启用开发者模式**:在扩展程序页面右上角,打开“开发者模式”。 4. **加载已解压的扩展程序**:点击“加载已解压的扩展程序”,选择解压后的文件夹。 ### 2. 下载单个音频时无法识别 **问题描述**:用户在尝试下载单个音频时,插件无法正确识别音...

gitblog_07650的博客 1076

逆向实战:手把手教你分析Google DroidGuard虚拟机的加密与反调试(附Python脚本)

本文深入解析Google DroidGuard虚拟机的加密机制与反调试策略,提供从环境配置到逆向分析的完整实战指南。通过IDA Pro、Frida等工具链,详细剖析DroidGuard的信号拦截、内存校验等保护机制,并附Python脚本实现自动化分析,助力Android安全研究人员突破GMS核心组件的安全防护。

weixin_32428571的博客 308

下载音频到本地 (ximalaya)

import requests import json from urllib import request # 代理ip池 proxy = { 'http': 'http://alice:123456@120.78.166.84:6666', 'https': 'http://alice:123456@120.78.166.84:6666', } headers={ ...

weixin_42958183的博客 3261

C#实现鼠标点击任意绝对位置(附完整源码)

C#实现鼠标点击任意绝对位置(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 476

CKAD-CN考试之路----12

显然,对应的value都已经实现了加密.保存退出,等待pod重新创建。确认secret是否被加密。编辑secret文件。

Q先生 446

开源项目 ximalaya_downloader 的扩展与二次开发潜力

开源项目 ximalaya_downloader 的扩展与二次开发潜力 1. 项目的基础介绍 ximalaya_downloader 是一个开源项目,旨在为用户提供一个方便快捷的方式来下载喜马拉雅平台上的音频资源。该项目的出现,解决了用户在喜马拉雅平台上无法直接下载音频文件的痛点,使得用户可以更自由地管理和欣赏他们喜爱的内容。 2. 项目的核心功能 该项目的核心功能是抓取喜马拉雅平台上的音频资源,...

gitblog_00346的博客 709

组基轨迹建模 GBTM的介绍与实现(Stata 或 R)

组基轨迹建模(Group-Based Trajectory Modeling,GBTM)(旧名称:Semiparametric mixture model)历史:由DANIELS.NAGIN提出,发表文献《Analyzing Developmental Trajectories:A Semiparametric,Group-Based Approach》GBTM能够将一群人的轨迹分类并生成数个具有代表性的运动轨迹模型,然后对每个轨迹模型进行分析,以了解人们的运动特征、生理水平和风险等级等。

三分钟热度 1万+

ximalaya音频URL解密

读者咨询喜马拉雅音频URL的解密,简单看了一下,做个记录。

李玺 6878

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

探秘Ximalaya XM Decrypt:解锁喜马拉雅音频加密的秘密

探秘Ximalaya XM Decrypt:解锁喜马拉雅音频加密的秘密 去发现同类优质开源项目:https://gitcode.com/ 项目简介 是一个开源项目,专注于解密和播放喜马拉雅FM平台上的加密音频文件。通过此工具,开发者和爱好者可以学习如何解析喜马拉雅音频数据包,甚至实现自定义的播放解决方案。 技术分析 该项目的核心在于解析喜马拉雅FM的音频流加密协议。它主要涉及到以下几个关键技术点:...

gitblog_00032的博客 3738

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

上一篇: 2.1 项目的整体架构,项目搭建,也叫做 系统设计
下一篇: android studio 运行java文件
千雅爸爸
博客等级 码龄18年 292粉丝 639原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值