发新帖

Android逆向学习(1)-破解某直播盒子App

[复制链接]
16785 0

一、反编译

jadx-gui 直接打开Apk,发现没有加固,源码如下:

二、源码分析

\1. 打开app,通过adb查看当前activity的名称

adb shelldumpsys activity | grep -i run

com.box.base.MainActivity就是主页

\2. MainActivity有四个tab页,找到第一个tab页FragmentLivePlatform

打开FragmentLivePlatform,整个界面比较简单,为RecyclerView实现的GridView视图

找到item的点击事件

查看ActivityRoomList类,与FragmentLivePlatform类似的GridView布局,

查找item点击

jionLiveRequest请求完成后,会触发续费的dialog窗口,我们在这里拦截响应结果

我们发现请求时会传递当前界面的handler,查看hadler实现

当isSuccessFul方法返回false时,会弹出续费的dialog,那么问题简单了,我们只要修改isSuccessFul的返回值即可

修改isSuccessFul方法,永远return true

三、破解

\1. apktool -r d test.apk

\2. 将isSuccessFul复制到as中并修改

\3. 生成smali代码(as java2smali插件)

\4. 替换原代码(第一步apktool 反编译出来的smali文件)

\5. apktool b test, 拿到未签名的apk

\6. 签名

jarsigner -verbose -keystore test.keystore -signedjar G:\signapk\test.apk G:\hack\test_unsigned.apk android.keystore

大功告成

总结:

文中的app为快餐式应用,并未进行加固,代码混淆,重签名校验等安全策略,

所以并未涉及到脱壳,xposed,动态分析so,网络抓包等内容。

后面会针对性的去尝试破解,并寻找对应的安全方法

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

举报 使用道具

回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表