脱壳问题记录

脱壳记录

  • 雷电模拟器
    • adb连接不上雷电
    • frida安卓360加固脱壳记录

雷电模拟器

ADB 常用命令

2.1、查看连接的设备
adb devices2.2、进入设备终端
adb shell2.3、将apk安装到设备上
*.apk代表:安装当前目录下所有的apk文件
adb install xxx.apk2.4、执行shell命令
adb shell command2.5、从电脑上发送文件到设备adb push <本地路径> <远程路径>2.6、从设备上发送文件到电脑
adb pull <远程路径> <本地路径>2.7、查看帮助信息
adb help2.8、查看设备日志
adb logcat2.9、重启设备adb reboot2.10、查看所有安装apk的包
pm list packages2.11、根据某个关键字查找包
pm list packages | grep tencent2.12、查看包安装位置
pm list packages -f2.13、查看当前的Activity
adb shell "dumpsys window | grep mCurrentFocus(1)把adb服务杀死:adb kill-server
(2)重启adb服务:adb reconnect

adb连接不上雷电

使用版本: 雷电9
进入雷电9文件夹,运行自带的adb:adb start-server
adb shell//终端进入安卓shell环境
然后su root。

frida安卓360加固脱壳记录

参考
https://www.jianshu.com/p/096661f58978
https://blog.csdn.net/superyu1992/article/details/105841465/

  1. 安装frida
pip3 install frida-tools
pip3 install frida
  1. 查看电脑端安装的frida版本,到时模拟器要安装对应的server版本
pip3 show frida

显示的我的版本:

Name: frida
Version: 15.2.2
  1. 模拟器安装server: 下载直达地址:https://github.com/frida/frida/releases下载
    与电脑端对应版本的server, 并解压,得到releasesfrida-server-15.2.2-android-x86_64文件
    在这里插入图片描述
    模拟器一般架构是x86_64,可在设置关于手机里看到

4 进入雷电9文件夹,运行自带的adb:adb start-server

adb start-server
  1. 查看你连接后的设置列表
adb devices  //查看你连接后的设置列表,我的是emulator-5554

在这里插入图片描述
6. 下载完成后将文件解压,通过adb push导入到/data/local文件夹中,有点慢,等一等

adb  push ./frida-server-16.0.14-android-x86_64 /data/local
  1. 终端进入安卓shell环境
adb shell
  1. 通过su切换root;
    在这里插入图片描述
  2. cd到/data/local;
chmod 777  /data/local/tmp/releasesfrida-server-15.2.2-android-x86  //设置执行权限
  1. 运行frida-server:
./frida-server

在这里插入图片描述
11.启动成功以后,新建一个终端窗口,输入:frida-ps -U,如果可以看到当前设备的进程和名称,则证明pc和手机通过frida联通了:
(frida-ps -Uai //电脑终端 检查并列出包名,查看你要脱壳的包名)
在这里插入图片描述

应用一:脱壳
安装frida-dexdump https://github.com/hluwa/frida-dexdump,这是别人写的基于frida的自动脱壳的脚本:pip3 install frida-dexdump
在模拟器中安装你要脱壳的Apkfrida-ps -Uai //电脑终端 检查并列出包名,查看你要脱壳的包名
然后在终端里执行,如果不出错,即脱壳成功:frida-dexdump -U -f com.app.pkgname
应用二:插桩
新建js文件,假设我知道我要hook的包名为com.myapp我知道他有一个类叫LoginActivity,我要hook它的loginSuccess方法,加上我的一些执行逻辑Java.perform(function(){var cls = Java.use('com.myapp.module.account.ui.activity.LoginActivity');  // package名:com.myapp.module.account.ui.activity  类名:LoginActivity// loginSuccess 为方法名 implementation是固定写法,function为js代码cls.loginSuccess.implementation = function (a,b) {console.log('checkout',a,b);console.log(this.loginSuccess);var value = this.loginSuccess(a,b);};});
在模拟器打开有hook的app,开始插桩(可用上面脱壳中提到的检查连通性方法看看有没有连通):frida -U -l /Users/tanjingning/Desktop/上面的js  com.myapp

Frida-Apk-Unpack 脱壳工具

命令行执行: frida -U -f com.xxx.xxx -l dexDump.js --no-pause
(这里提一个点,新版frida已经没有--no-pause选项,会报错)脱出的Dex文件在 /data/data/应用包名/目录下


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部