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] 黑客接单网
0×01 前语 跟着国家对网络安全的进一步注重,攻防演练活动变得越来越重要,规划也更大。高强度的演习让无论是蓝方仍是红方都变得筋疲力尽,借用朋友圈里一位大佬的一句话:活动完毕的这一天,安全圈的气氛像春...
为什么有今日这篇文章?原因是我在阅读Twitter时,发现关于长途文件包括RFI的一个奇淫技巧!值得记载一下,思路也很别致!由于它打破我之前认为RFI已死的观念:) 正文 RFI引出 咱们知道php最...
一、Session是什么 暗码与证书等认证手法,一般用于登录进程。用户登录之后,服务器通常会树立一个新的Session保存用户的状况和相关信息,用以盯梢用户的状况。每个Session对应一个标识符Se...
上一篇说到代码会有许多重复,由于它在每个if句子(共有五个if句子,会在下篇讲到)中都会调用一个函数。但是,细节却略有不同,其间给定的办法称号和函数的参数都会显现函数的内容。 第一个if句子在程序会集...
Brida是一款 Burp Suite 扩展,作为一座桥梁衔接着Burp Suite以及Frida,以协助用户修正运用程序与后端服务器之间的通讯数据为己任。在剖析移动端运用时遇到运用运用随机密钥式对称...
序 这儿有必要得说一下==和===这俩货的重要性。==是比较运算,它不会去查看条件式的表达式的类型===是恒等,它会查看查表达式的值与类型是否持平NULL,0,”0″,array()运用==和fals...