supersun 发表于 2018-12-16 20:44

破解一款安卓上支持Flash的浏览器

本帖最后由 supersun 于 2018-12-17 23:26 编辑

在安卓4.4之后浏览器内核改为chromiun,不再默认支持Flash。可如果想在手机上玩4399、赛尔号、摩尔庄园之类的Flash小游戏,该怎么办呢?通过一番搜索找到一款自带Flash插件的浏览器:Puffin(海鹦)浏览器这个浏览器我使用了一段时间,页面加载迅速,非常省流量,还能隐藏你的真实IP地址,是个不错的选择。但这个浏览器需要激活才能使用(目前是免费激活的,不知道以后会不会收费),今天就带你来破解它。
开始破解
软件打开界面如图:


把APK解压,DEX文件反编译(如果整个APK反编译,编译时会报错),然后定位到onCreate方法。
如图,所在类路径:com/cloudmosa/app/LemonActivity



APP启动时判断是否激活而显示激活界面,一般都在这初始化这里进行,所以我们从这里开始找。


这里看到validation_code字样,意思是“激活码”,很可疑。
代码的意思是从SharedPreferences中读取激活码,再调用invoke-static {p1}, Lot;->aq(Ljava/lang/String;)Z(参数就是激活码)
结果传给v3,如果V3返回0,则跳转到:cond_237我们来到cond_237:


这里判断p1是否不为0,是的话就跳转到:cond_248
但是上面可以看出他把p1值赋0了,所以这个下面代码是会执行的。
而我们要让他跳过这段验证代码。
直接把上方的if-nez v3, :cond_237 修改为 goto:cond_248 即可。


修改完后回编译dex文件,然后签名测试:


程序打开时没有显示激活页面了。但是有个问题,就是进入网页时程序会闪退。
这里可以猜测是有暗桩在程序其他地方验证是否激活,或者是有签名效验。
经过排查可以确定这个APP有签名效验。
我们在APK逆向基础教程时候已经介绍过签名验证的破解方式,可以用工具一键破解。
但这里为了让大家学到知识,就采用手动方式破解他的签名验证。
把apk载入到jadx中,搜索signature:


找到的地方都没有关键代码,但我们看到有一个signatureCheckFailedNativeCallback说明签名验证在native方法中。
我们打开apk解压后lib\armeabi-v7a目录


里面有两个so文件,根据名字判断在第二个里面可能性比较大(如比较多的话,可以在java层先定位)。
我们把libpuffin.so载入到IDA中:


Shift+F12打开字符串窗口,搜索signature:


找到这一段可疑文字(英文意思是签名检查失败即将结束APP,如果不知道要搜索什么,我们可以在Logcat中找突破口)双击进入:


定位到引用字符串的地址:



再找上一层调用:



来到此处:



此时我们按F5查看伪代码:




整个方法流程大概如图。
我们可以看出这里面就是签名验证的逻辑,获取apk签名,对比包括退出代码都在里面。
因此我们只需要把调用这个函数的地方删掉即可。我们来到函数头部:


定位到调用的地址:



这里的BL XXX 就是调用子程序的意思,我们定位到十六进制编辑器中:



把这里改成00 00 00 00(空代码),保存即可。


最后替换原来的so文件,打包,签名测试:



从左下角可以调出鼠标和键盘控制Flash。



这个浏览器还支持Flash的全屏模式,运行也很流畅。


功能一切正常,至此破解成功。

yijian3613 发表于 2019-2-20 09:35

同求成品,以及其他支持的浏览器分享

Hmily 发表于 2018-12-17 18:21

@supersun 图片盗链了,上传下本地吧,这里有教程https://www.52pojie.cn/misc.php?mod=faq&action=faq&id=29&messageid=36

夏虫333 发表于 2018-12-16 21:14

学到了,谢谢楼主

三木之林 发表于 2018-12-16 21:20

学到了,谢谢楼主

YAO21 发表于 2018-12-16 21:23

感谢分享

璀璨夜 发表于 2018-12-16 21:41

感谢楼主分享,学到了

hh3016 发表于 2018-12-16 21:41

图显示不出来,软件 在哪里呢

lhjdeyy 发表于 2018-12-16 21:50

叫我怎么感谢你呢!!!

SimpleWu 发表于 2018-12-16 21:53

可以,很好用

stars-one 发表于 2018-12-16 22:15

IDA破解好难,学习了!

吾爱小萌新233 发表于 2018-12-16 22:31

感谢楼主分享
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 破解一款安卓上支持Flash的浏览器