1、前语
网上现已有许多的web端接口解析的办法了,可是对客户端的接口解析基本上找不到什么材料,本文首要剖析网易云音乐PC客户端的API接 *** 互 *** 。
经过内部的署理设置,运用fiddler作为署理东西,即可检查交互流程:
能够大致看一下交互 *** ,经过HTTPS POST交互,POST了一串params的内容,内容加密,回来 *** ON内容,我要做的要点就在于解析params的生成 *** ,用于模仿这次交互。
(Tan1993:这是后续编写的内容,截图许多都是后补的,所以或许会呈现运用不同的调试东西,不同的环境,不同的时刻等,不影响阅览。别的自己作业首要是linux *** 方向的,像是这次仅仅我的一点业余爱好,也很少会去逆向东西,假如呈现一些比较业余的操作或主意时,还望指出)
2、开始了解
下载最新版PC版网易云装置(现在是2.3.0.196231版别),剖析在程序地点目录下的文件。
动态链接库与可执行文件:
之一个最让我留意的时libcurl,这个 *** 库能够用于HTTP协议交互,假如经过该库与服务器交互, od断点到curl_easy_perform再往回推就能够判别转化算法方位了,但是现实比我幻想的杂乱多了,这个库仅在程序刚运行时用于一些无关的 *** 交互(Tan1993:记不清了,好像是版别仍是客户端信息相关的恳求)。
第二个是libcef,这个是个根据C/C++的Web browser控件,能够简略理解为便是个浏览器的壳子(Tan:为什么说要害API没用到libcurl库,由于除了开始时cef结构还没初始化前 *** 交互用到那个库罢了,一点cef环境起来了,都是经过 *** ajax交互了)。
其他的除了cef依靠的dll外,两个主程序和cloudmusic.dll都比较值得重视。
资源文件:
除了在package下的其他都是cef库依靠的资源文件。
都是不知道的格局,一般看到不知道格局的文件,我都会用7z测验翻开看看,是不是某种归档格局文件,这个一下就蒙中了,是zip格局的。
除了几个经过后缀就能看出来的皮肤文件,还有两个比较可疑的文件,翻一翻比较大的orpheus.ntpk文件,里边能够看到都是网页相关的资源文件,看到那个core.js,就让我联想到网页版API提取时用到的那个core.js文件了,脑海里就想着替换然后对转化流程动态剖析了,现实有点不尽人意,该zip文件加密了。
OK,调研阶段完毕,在不进行逆向解析前,能了解到的也就停步于此了。
3、之一轮测验
其实一开始我是把目光放在libcurl上面的,在断点到curl库的函数上时发现只要程序刚运行时触发过几回,后边一切 *** 交互都不必这个库了,就转战到cef上。而cef的要点在于内部的 *** 文件,能提取到该文件才是要害的。
0×2712即CURLOPT_URL宏,eax中存放着url的字符串指针,基本上都是无关的url。
之一个使命来了,逆向寻觅特征串,也便是暗码,这儿断点到体系文件操作API上,断到CreateFileW,一顿的F9后能够看到加载到default.skin文件了(图中是native.ntpk,同类型的加密ZIP文件),后续就单步调试下去。
然后看到一个比较特别的内存块,一看便是PNG格局的文件头,就能够判别这一步资源现已解压缩到内存了。
往上推几步,断点,缩小规模,再跟下来,看看哪里做了解压操作,再一步步跟函数。(Tan1993:或许比较业余,但我也只能一点点缩小规模在一点点看流程,凭经历判别或许会做什么操作,缩短到比较短的规模,否则一堆汇编码真的会受不了,感谢世界上程序员的思维都是挨近的吧)。
得知暗码后,就能够解压出core.js文件了(Tan1993:这儿仅供给思路,不供给便民服务哈)
又是这一堆让人窒息的混杂,卡得置疑人生,先解压缩再看吧。
解压后,搜几个要害字,比方params,eapi,batch等最上面HTTP交互时的一些特征
[1] [2] [3] [4] 黑客接单网
在探究Flask/Jinja2中的服务端模版注入Part1中,我开端的方针是找到文件的途径或许说是进行文件体系拜访。之前还无法达到这些方针,可是感谢朋友们在之前文章中的反应,现在我现已可以完成这些方针...
因为网络的问题,zabbix自带web模块用不了,后台研制2b,老是更新正式环境安装包,导致一向出问题,老是给他们擦屁股,早说过这事,他们不合作,现在出问题了,挺爽j_0025.gif,这锅我表明不背...
今日测验了一个网站,发现存在360webscan的阻拦,所以便开端了一波“bypass”。 进入主题 1. 判别注入点 运用“and 1=1”测验了一下,惨遭阻拦。随后又测验了一下or也是被阻拦的。...
一、CVE-2019-8373缝隙的开始剖析 2019年8月15日,趋势科技发表了他们发现的一同浏览器缝隙进犯事情。在检测到的进犯流量中,进犯者运用了cve-2019-8373这个缝隙来进犯IE浏览器...
Web Application Protection(WAP)是用于源代码静态剖析和数据发掘的一个东西,WAP首要检测运用PHP(4.0版别及以上)编写的web应用程序,而且由于它的误报率很低而遭到...
点击绑架(ClickJacking)是一种视觉上的诈骗手法。大概有两种方法,一是攻击者运用一个通明的iframe,掩盖在一个网页上,然后诱运用户在该页面上进行操作,此刻用户将在不知情的情况下点击通明...