apk逆向__懒人驾考去会员

考驾照的时候,有人推荐了这个app,于是拿来刷题,发现要会员,于是逆了一下。

懒人驾考逆向

去除开屏广告(成功)

确定activity

前因:app 原本开屏有两个广告,直接用MT管理器启动“activity 记录”,可以看到连着有两个广告。看到activity 是SplashAcitvity。

分析代码

在jadx中找到这个activity。可以看到开屏广告的有关函数和类。看到一个onSplashAdShow()函数的实现。


查看onSplashAdShow()函数的引用

第一处

可以让这个case修改为close

最终分析调用的函数路径为

onSplashAdShow() – > com.bytedance.sdk.openadsdk.x.p040if.p041if.p042if.Cfi.call() –> com.bytedance.sdk.openadsdk.z.p046if.p047if.x.setSplashAdListener() –> onSplashRenderSuccess() –> com.bytedance.sdk.openadsdk.w.p037if.p038if.p039if.Cif.call()

第二处

另一处修改的地方

第三处

这个函数会调用 r0() 和 o0()函数。

修改这个跳转,if-eqz 为 if-nez 直接到o0()函数。

修改smali

有两处可以去除广告。

第一处

com.bytedance.sdk.openadsdk.x.p040if.p041if.p042if.Cfi.call()

把succedd 的case 跳转到close中。

第二处

com.bytedance.sdk.openadsdk.w.p037if.p038if.p039if.Cif.call()

第三处

if-eqz v1 ,; cond_26 如果v1 为0 ,跳转到26处。

if-nez v1,; 如果v1 不为0 ,跳转到26

if-ne v1 v2 如果不等于就跳转,改为eq

开通会员

代码分析

第一处

捕获这个按钮的点击事件。

从开启会员按钮处,点击,然后返回到主页面的时候会触发一些函数。


下面这个函数,就是判断放弃开启VIP。

如股票M 判断为真,那就直接结束这个vip购买的activity的。

找到一个判断是否开通会员的逻辑代码

openvipActivityNewB()

修改smali

直接在M函数处返回1。

重新签名打包安装后,可以看到“永久会员”。


apk逆向__懒人驾考去会员
https://tig3rhu.github.io/2024/01/02/65__逆向_懒人驾考逆向/
Author
Tig3rHu
Posted on
January 2, 2024
Licensed under