App 逆向环境准备

App 逆向环境准备

逆向基本流程

# 1 获取目标app(官网,豌豆荚),尽量不要去华为应用市场,小米应用市场下载
	-作为安卓开发--》开发出的app--》上架到不同的应用市场【小米应用市场,华为,应用宝,豌豆夹】
    	-安卓应用--》放到谷歌应用市场内--》谷歌国内访问不了
        -国内产生了很多应用市场--》app的安全性参差不齐
        -小米,华为应用市场--》专门有工作人员对app的安全性进行审核--》审核过后才能上线
        	-他们逆的时候,可能有难度
    -作为ios开发--》开发出的app--》只需要上架到ios应用市场
    
    
# 2 把app安装到手机上--》打开app操作---》使用抓包工具【charles,fiddler】--》进行抓包
	-charles:mac,win
    -fiddler:win
        
# 3 使用反编译工具【JADX,GDA,JD-GUI】,把apk反编译成java代码,分析逻辑,定位对代码

# 4 使用动态分析工具【frida,xposed】,通过hook,动态跟踪,确定代码位置,理解代码逻辑

# 5 使用python还原代码,模拟发送请求,完成我们的操作

ADB配置和使用

1 ADB是什么

「adb」即 Android Debug Bridge ,亦称安卓调试桥,是谷歌为安卓开发者提供的开发工具之一,可以让你的电脑以指令窗口的方式控制手机。

可以在安卓开发者网页中的 SDK 平台工具页面下直接下载对应系统【mac,win】的 adb 配置文件,大小只有几十MB

# 1 下载地址,最新版:
	https://developer.android.com/studio/releases/platform-tools?hl=zh-cn
    最新版本:35.0.220247 月)--》目前先不用
    
# 2 各个平台的历史版本:
	https://androidmtk.com/download-android-sdk-platform-tools
        
        
# 3 安装很简单:只需要解压即可(配置环境变量)
	内含:adb 和 fastboot工具

在这里插入图片描述

2 ADB版本选择

# 1 ADB 版本选择根据你选择的手机出来的年代选择
# 2 我这里使用:30.0.5 
	-刷机:pixel 2xl--17年出的手机--》adb版本还比较低
  -我使用高版本adb刷机,发现刷机失败 

3 ADB安装和配置

ADB 安装很简单,就是把压缩包解压后,配置环境变量即可

1 win平台安装和配置
# 1 把压缩包:platform-tools_r30.0.5-windows.zip 解压
	- D:\soft\platform-tools  # 路径中不要带中文,不要带空格
# 2 把当前路径,加入到环境变量
	-我的电脑--右键属性---》高级系统设置---》环境变量
    
    
# 3 打开新的cmd(以管理员身份运行)
# adb version
    Android Debug Bridge version 1.0.41
    Version 34.0.3-10161052
    Installed as D:\sdk\platform-tools\adb.exe
    Running on Windows 10.0.22621
2 mac/linux 安装和配置
# 1 解压:platform-tools_r30.0.5-mac.zip ,解压到某个路径
	/User/你的名字/soft/platform-tools/
    
    
# 2 把这个路径加入环境变量(mac加环境变量有些复杂)
	-打开Terminal
    -敲cd 回车,进入到你家路径   # pwd  查看当前所在目录--》 打出 /User/你的名字
    -敲 vi .zprofile    # 进入vi编辑模式
    	# vi ~/.zshrc
    -敲 a 进入追加模式    # 能在.zprofile 追加内容了
    -export PATH=${PATH}:/Users/你的名字/soft/platform-tools # 粘贴到最后
    -敲 esc  敲 :wq  退出
        
# 3 让刚刚的配置生效
	source .zprofile
    
# 4 打开 Terminal,测试
	adb version  # 顺利打印出adb的版本

ADB操作手机

1 开启usb调试

# 1 点击Settings(设置) ->  About phone(关于手机) ->版本号(最底部)--->点击7次(开启usb调试)

# 2 点击Settings(设置) -> 系统---> 高级--->开发者选项--》进入
	-开启usb调试
# 3 使用数据线,链接电脑(垃圾数据线可能不支持链接)
	-链接数据线后,会弹出个允许调试的框,点击确认即可

2 投屏到电脑上

一个软件(scrcpy),能把安卓手机的屏幕,投屏到电脑上的一个软件
具体如何装,大家自己搜索
# https://zhuanlan.zhihu.com/p/653295589

# 任意路径下敲 
scrcpy---》都能执行--》加环境变量--》usb调试开启

# scrcpy 本质就是用adb,操作和投屏手机


# 坑:
	-路径:adb
  -scrcpy:adb,如果把这个放在了上面,以后敲adb,就会优先使用这个adb,版本就不对应
    
# 把scrcpy的目录放到adb的下面就可以了

mac 下载可以在安装完adb 后,直接通过brew install scrcpy 下载

3 ADB 常用命令

# 1 adb 装好了,开启usb调试,链接了数据线
	-在电脑上敲命令,操作手机了
    -借助于adb操作
    
    
    
# 2 开启和关闭adb服务(了解即可)
	adb start-server  # 开启adb
    adb kill-server  # 关闭adb
    
# 3 查看已链接设备信息(要会)
	adb devices # 设备id号
    
# 4 上传下载文件(电脑把文件传到手机,手机上文件传到电脑)
	  adb -s 设备id号 push C:\demo.txt  /sdcard   # 如果只有一个设备,就不用写 -s 设备id
      adb push C:\Users\Administrator\Desktop\a.zip /sdcard/Download
      # 手机 目录结构
    	/sdcard  # 内存卡
      /sdcard/download # 正常下载的文件一般会放在这里
        
      adb -s 设备id号 pull /sdcard/Download/a.zip D:\
      adb  pull /sdcard/Download/a.zip  D://a.zip
      adb  pull /sdcard/Download/a.zip  ./  # 当前路径
    
    
    
# 5 安装和卸载app
      adb  install C:\2345Downloads\xianyu.apk
      adb  uninstall  包名称
      adb  shell pm list packages 		  		  # 查看包列表
      adb  shell pm list packages	-e 关键字   	# 查看包列表(搜索)
    
    
# 6 查看手机处理器(32/64位)
  adb shell -s 设备id号 getprop ro.product.cpu.abi 
  adb shell getprop ro.product.cpu.abi
 	'''
 	  armeabi-v7a(32位ARM设备)
    arm64-v8a  (64位ARM设备)
    '''

# 7 进入到手机内部,执行命令(安卓也是类unix--》linux命令一样)
	adb shell  # 进入到手机中
	ls  # 查看当前目录下有那些文件和文件夹
    pwd # 查看当前所在路径
    cd  # 进入到某个路径下
    rm 文件名 # 删除文件
    rm -rf /* # 不要在命令里执行
    
    # 现在你还没root手机,不是root用户,有的文件删不了
    
    
    
 # 8 其他
  - 查看手机设备:adb devices
  - 查看设备型号:adb shell getprop ro.product.model
  - 查看电池信息:adb shell dumpsys battery
  - 查看设备ID:adb shell settings get secure android_id
  - 查看设备IMEI:adb shell dumpsys iphonesubinfo
  - 查看Android版本:adb shell getprop ro.build.version.release
  - 查看手机网络信息:adb shell ifconfig
  - 查看设备日志:adb logcat
  - 重启手机设备:adb reboot
  - 安装一个apk:adb install /path/demo.apk
  - 卸载一个apk:adb uninstall <package>
  - 查看系统运行进程:adb shell ps
  - 查看系统磁盘情况:adb shell ls /path/
  - 手机设备截屏:adb shell screencap -p /sdcard/aa.png
  - 手机文件下载到电脑:adb pull /sdcard/aa.png ./
  - 电脑文件上传到手机:adb push aa.png /data/local/
  - 手机设备录像:adb shell screenrecord /sdcard/ab.mp4
  - 手机屏幕分辨率:adb shell wm size
  - 手机屏幕密度:adb shell wm density
  - 手机屏幕点击:adb shell input tap xvalue yvalue
  - 手机屏幕滑动:adb shell input swipe 1000 1500 200 200
  - 手机屏幕带时间滑动:adb shell input swipe 1000 1500 0 0 1000
  - 手机文本输入:adb shell input text xxxxx
  - 手机键盘事件:adb shell input keyevent xx

刷机和root

root

刷机根据不同的厂商的手机,有不同的方案,这里推荐使用的手机是google 的 Pixel 系列手机(google出品的手机,没那么多麻烦事)。或者小米的手机,小米手机root 起来会麻烦点,可以找人帮刷,就不一一介绍了。

刷机

刷机去厂商手机官网下载刷机包

Pixel https://developers.google.cn/android/images?hl=zh-cn

小米 https://xiaomirom.com/

# 0 解压刷机包
# 刷机包里面会有  flash-all.bat  和 flash-all.sh 两个脚本,分别对应win 和 mac/linux 平台,选择对应的使用即可
# 1 执行adb命令,重启手机,进入到fastboot模式
adb reboot bootloader

# 2 敲命令看看手机是否顺利连接到电脑上
# 没有输出的原因是 安卓驱动没装好
# 设备管理器中
fastboot devices
# 801KPUU1367574  fastboot


# 3 开始刷机(注意路径,管理员身份运行,线不能掉)之前手机上所有东西都没了
flash-all.bat # 开始刷机了,等待完成

# 4 刷机结束
fastboot reboot  # 或者按开机键
# 5 开机,配置网络,语言--》进入到手机界面

# 6 打开usb调试

补充: 小米刷机完,需要打开root 权限管理,

  1. 可以在 设置 -> 应用设置 -> 授权管理 -> 开启ROOT 权限 下载对应的更新包开启(这种权限被限制了部分)
  2. 参考 https://blog.csdn.net/u014265135/article/details/132433826,通过 magisk 来解root
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

go&Python

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值