贝瓦儿歌破解方法


工具准备
1:Androidkiller
2安卓模拟器(我用的雷电)
3计算器
下面开工
把贝瓦儿歌安装到模拟器打开任意一个vip视频提示如下
<ignore_js_op> 
点击下载视频提示如下
<ignore_js_op> 

记录第一关键字“该歌曲是VIP专享,” 打开AndroidKiller,拖入贝瓦儿歌来反编译,搜索我们记录的关键字
双击击我们搜索到的第一行关键字,记录下第二关键字“video_download_fail_vip”
<ignore_js_op> 

搜索关键字“video_download_fail_vip”,双击搜索到的第一条结果,记录下id “0x7f0902a1”
<ignore_js_op> 

搜索id “0x7f0902a1”,搜索到的结果如下图,点击进入播放器管理的对应smali代码里来

<ignore_js_op> 

<ignore_js_op> 

点击转换到java伪代码去看下,打开计算器,把我们刚才记录的id “0x7f0902a1”  这个是十六进制
0x7f0902a1转换的十进制结果是 2131296929 
<ignore_js_op> 
<ignore_js_op> 

在jd-gui里Ctrl+F搜索 2131296929 结果如下图,搜索到我们要关注的关键点 isLogined()  isVip()

<ignore_js_op> 

我们先来看看vip的代码,点击 isVip() 进入判断是否vip代码
<ignore_js_op> 

从java伪代码可以看出比较的是俩个东西,一个是把getIs_vip()和“Y”来比较是否一致
另一个是把getEnd_time() [vip结束时间戳]和当前时间戳来比较
那就继续点击getIs_vip进去看看

<ignore_js_op> 
从上图就可以很清晰的看到了,我们只要把这俩个的返回值给改了,就可以达到vip的效果了
在AndroidKiller定位到当前smali代码,路径 Lcom/beva/BevaVideo/Bean/VIPInfoBean,搜索
<ignore_js_op> 

进入到搜索到的samli代码来
<ignore_js_op> 
getEnd_time()源代码如下

.method public getEnd_time()I
    .locals 1


    .prologue
    .line 45
    iget v0, p0, Lcom/beva/BevaVideo/Bean/VIPInfoBean;->end_time:I


    return v0
.end method
找一个在线现行时间戳的网站来弄个时间戳,在转换成16进制即可,我这弄的时间戳是这样的
<ignore_js_op> 
1644929959转换成十六进制就是620BA3A7
所以getEnd_time()代码更改如下,记得保存代码
<ignore_js_op> 

下面再来更改getIs_vip(),上面我们分析的getIs_vip()是和“Y”比较是否一致的,所以更改如下面,记得保存更改!!
<ignore_js_op> 

至此如果我们不需要免登陆观看vip和下载vip歌曲的朋友就可以编译打包就算是完成破解
如果需要的,下面就再来搞免登陆的
转到我们上面在jd-gui搜索id的十进制2131296929的地方来
<ignore_js_op> 

点击isLogined()进入isLogined()代码段来找到代码,并在AndroidKiller搜索定位
路径 Lcom/beva/BevaVideo/Utils/UserInfoUtils
找到isVip()代码处修改如下,记得保存修改!!!
<ignore_js_op> 

<ignore_js_op> 
编译
至此免登陆播放vip视频破解完成
效果图
<ignore_js_op> 
<ignore_js_op> 

如有什么问题可以留言交流,下面附上未破解和已破解的程序供大家练手
https://www.lanzous.com/b593319/ 
密码:5i9b
收工睡觉了,感谢支持,大家别忘记免费评分啊!
<ignore_js_op>

23.png (543.05 KB, 下载次数: 0)

 

23.png
posted @ 2019-07-14 10:10  heycomputer  阅读(685)  评论(0)    收藏  举报