首页
社区
课程
招聘
[分享][原创]逆向学习之破解搜狐视频遇到的大坑小坑一二三,未完
发表于: 2018-8-30 17:38 14051

[分享][原创]逆向学习之破解搜狐视频遇到的大坑小坑一二三,未完

2018-8-30 17:38
14051
学习逆向之路可谓,跌宕起伏(其实就是坚持不下去),这几天洗心革面要做个努力向上的人,好好做人(呸 好好学习)。
此贴为记录调试过程,学习过程,画风二逼,观看需谨慎,待全部完成会另起一篇正经贴 2333·

前传 

炎热的下午 坐在家中啤酒倒满杯,香烟摆好,脑中回想起F8视频里的操作,嗯 是时候找个东西练练手了,搞事搞事儿 先搞一个去广告试试手。腾讯奇异感觉很难搞的样子 嗯。搜狐包挺小的 就这个了。

初始准备

打开Fiddler 调试好手机端口 先研究研究抓包,看看能不能找到蛛丝马迹 


找突破口

鼠标随意点一个试试 agn.aty.sohu.com,进去一瞧,嗯 不错不错,运气真好看到了相关的广告关键字 , 发现mediaFile,Duration等几个的变量,大概意思每段15秒, json 共返回了5段,刚好是搜狐的广告时长75秒(真T..长),中间在看别的字段的时候甚至发现了一个不为人知的秘密,原来搜狐视频和56合作,有一个神奇的字段,里面的网址打开直接在56域名下的h5页面看,竟然无广告!还是vip的资源。。。



遇坑
AndroidKiller搜 mediaFile 变量 ,经过筛选找到setMediaFile的关键位置,添加一波Toast的smali代码,运行试试 也验证下 是否能正常编译运行。biaji。
果然上帝在这里挖了个坑,还是个大坑 什么@后加*  等等都不管用,搜索解决几个小时无果,凭我多年开发经验(装逼画面ing),删了这两行style代码 肯定还会有更多的引用也会出错,这种蠢事我会做么?? 我...会....   由于实在是找不到解决办法 一并删除了 包括values-v22中的 八处引用,编译运行。。。 世界一片清新。哎 人艰不拆啊 有大佬知道什么毛病 给小的说下,给个链接我去学学么么哒。
res\values-v24\styles.xml:6: error: Error retrieving parent for item: No resource found that matches the given name '@android:style/Animation.OptionsPanel'.

在遇坑
当编译通过,内心无比愉悦,毕竟之前尝试过很多次都是卡在这一步走不下去 ,浪费很多时间,以至于以为我真的脸黑么,还是不小心在拼多多下载的版本。
其实有时候 很多问题都是不明白其中原理或者关系 导致不明白别人为啥这么做没毛病 ,自己这么做就不行到处是坑,甚至想骂娘,结果在本来就错的基础上越走越偏越调试越偏越问越偏 别人都不明白你在干什么问什么, 自己绕一大圈还得回到原点祭出绝招三大法:清理,重启,关机。可见其中某些东西的重要性,想好再动手还是hei重要滴。
怀着激动的心情点击了一下这个从来没点击过的按钮 走你~~

然后~~~~




内心一万只草泥马奔腾而过,耐心找到出错的地方,加上android studio的动态调试大法 发现应该是加载库的时候出的错(中间一度被Tinker 这个关键字带跑偏 浪费很多时间 决定还是回到bug本身位置处理)

看到他捕捉异常的地方是这个应该和加载库有关,看过个方法 getUidMD5String 上下文后 发现不执行它不至于继续停止运行,
if-eqz的smali改为 if-nez, 这个库问题算是暂时解决  编译运行 。

新的问题 继续跳坑,之前在 setMediaFile 方法添加过的 Toast 代码显然行不通,看报错提示感觉应该是检测到 dex 的问题, 那好(本菜鸡的耐心备受煎熬啊) 把添加的 Toast 代码删掉 继续运行,这次劳资可是错误改完 没加代码,在运行不好我就要冲会员了。泪目啊。。。。
java.lang.VerifyError: Verifier rejected class com.sohu.app.ads.sdk.model.AdsResponse: void com.sohu.app.ads.sdk.model.AdsResponse.setMediaFile(java.lang.String) failed to verify: void com.sohu.app.ads.sdk.model.AdsResponse.setMediaFile(java.lang.String): [0x7] register v3 has type Reference: com.sohu.app.ads.sdk.model.AdsResponse but expected Reference: android.content.Context (declaration of 'com.sohu.app.ads.sdk.model.AdsResponse' appears in /data/app/com.sohu.sohuvideo-02g-A2kjNs5uX3suOJz6QA==/base.apk:classes2.dex)

 上帝不负有心人,打开APP 熟悉的广告欢迎界面,熟悉的操作点开首页的 Vip 电影,然后我就

 懵逼了!! 懵逼了! 懵逼到变形这尼玛是为啥??我就重打了一次包 改了一个运行不了的库错误,你就直接给我免去广告了??




能不能尊重一下我的技术,,你正常出广告不行么?? (偶尔会继续出广告)




欲知后事调试如何 待我继续探索找出缘由 一个一个填坑  逆向慢慢路 其中成就辛酸各掺半啊,

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
更新:
又是闲暇的下午,才想起来这个烂尾还没弄完,继续搞起


之前遇到的问题是 “dex” 导致app闪退, 经过检查,发现并不是,而是我竟然在 com.sohu.app.ads.sdk.model.AdsResponse 这个类里面 没有 Context 的情况下去调用 Toast 方法,简直太可笑了(这个错误犯的好低级)。

·继续在 setMediaFile() 方法插入 Log 代码,修改.locals 变量数(表示新手容易在这里粗心忘记修改)  检测可以正常运行APP,



·接下来就是在这里打断点,动态调试下 看看这个方法的参数究竟是不是广告的播放地址呢??



·可以说是非常顺利了,打开网址瞅一瞅



·熟悉的广告界面 熟悉的15s,竟然看见广告还有一点小激动,
·接下来就好办了,最简单的办法 下面的代码要么删掉,要么让他永远执行到 :cond_0   编译打包和广告see bye bye,
是的 你没看错,就是这个简单和无脑。。。。


至此除了看电影有时间限制,登陆分享等有签名检查外,其余的电视剧综艺美剧都可以 未发现闪退等bug,看来挑这个 App 还是挺好试手的。
大家有什么好的建议疑问或者批评 请留言  一起学习 一起进步 老铁么么哒 哈哈 
文件仅用于学习分享,老铁不要乱传哦
https://pan.baidu.com/s/1eEtne8WBqdmOgNbLfqdPTg f8v3





[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2018-9-5 18:19 被fromInfo编辑 ,原因: 完善文章 Last
收藏
免费 1
支持
分享
最新回复 (7)
雪    币: 239
活跃值: (23)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
前排小板凳坐等大神后续
2018-8-31 15:57
0
雪    币: 77
活跃值: (43)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
学习了。很详细
2018-8-31 21:39
0
雪    币: 26
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
牛逼
2018-9-3 09:39
0
雪    币: 26
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
2018-9-3 09:39
0
雪    币: 1535
活跃值: (695)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
前排小板凳坐等大神后续 
2018-9-5 09:11
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
学习了
2018-9-7 22:41
0
雪    币: 1
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
搞搞youku吧 哈哈哈
2018-9-10 13:43
0
游客
登录 | 注册 方可回帖
返回
//