App带壳重打包去强制升级
zsk Lv4

1.查壳

打开app,弹出强制升级无法取消

image

用jadx打开apk

image


搜索包名,可以看到是加壳了

image

2.使用dexdump进行脱壳

先打开frida-server,打开objextion并加载dexdump插件,输入plugin dexdump dump命令进行脱壳,就把dex文件脱出来了

image

进入到dex文件的位置,使用grep -ril “MainActivity” * 命令搜索MainActivity再哪个dex,用jadx打开

image

3.定位到弹窗代码位置

https://www.jianshu.com/p/18e1f518c625

根据弹出框的实现方法进行搜索对应的类

image

打印出所有的类,然后输入cat .objection/objection.log |grep -i window 进行搜索

image

image

由于app启动的时候就把弹窗加载出来了,所以要在没加载前hook类

使用–startup-command可以重启app并进行hook

1
objection -g com.hello.qqc explore --startup-command "android hooking watch class android.view.Window"

image

出现很多的window,无法保证加载的类就是弹窗的

image

换一种方式 Dialog

image

搜索dialog有哪些类,出来两个比较可疑的

image

先对android.app.Dialog
进行hook,看有没有反应

image

查看文档发现setCancelable是不让返回,所以点后退一直没反应

image)

hook这个类android.app.Dialog.setCancelable 查看调用

1
android hooking watch class_method android.app.Dialog.setCancelable --dump-args --dump-backtrace --dump-return

image

image

用jadx搜索观察cn.net.tokyo.ccg.ui.fragment.dialog.UpdateDialogFragment.onCreateDialog

image

image

加载wallbreaker

image

搜索该类实例

1
plugin wallbreaker objectsearch cn.net.tokyo.ccg.ui.fragment.dialog.UpdateDialogFragment

image
查看该对象的属性

1
plugin wallbreaker objectdump --fullname 0x74e

image

4.查找哪句代码控制弹窗

查看cn.net.tokyo.ccg.ui.fr agment.dialog.UpdateDialogFragment.b 的调用栈

1
android hooking watch class_method cn.net.tokyo.ccg.ui.fragment.dialog.UpdateDialogFragment.b --dump-args --dump-backtrace --dump-return

image

image

查看对应smail代码,把eqz改为nez

image

5.把壳脱掉重打包看能不能用

解包,保留dex文件

apktool -s d qqc.apk

image

删除class.dex,把脱下来的dex替换进去

image

image

image

修改dex执行的入口

image

vim AndroidManifest.xml

修改为cn.net.tokyo.ccg.base.App


image

打包,签名

image

生成签名,keytool -genkey -keystore my-release-key.keystore -alias my_alias -keyalg RSA -keysize 4096 -validity 10000

image

进行签名,jarsigner -sigalg MD5withRSA -digestalg SHA1 -keystore my-release-key.keystore -signedjar qqc.apk qqc.apk my_alias

image

安装,看有没有报错,能不能正常使用

6.修改smail文件重打包

找到对应的smail文件

tree -NCfhl |grep -i MainActivity

把 if -eqz改为if-nez

重打包

 评论