Android环境-MacBook环境搭建
本帖最后由 Juana111 于 2024-8-30 17:13 编辑安装python
直接使用mac自带的,需要配置环境,使用的是zsh,尝试的时候需要将自带python环境写入在etc/zshrc文件中,才能启动python3【很奇怪】,否则会报一堆zsh:command not found的问题。
安装Android studio
官网下载,在配置虚拟机时,注意要使用可以使用开发者模式的镜像或者模块,网上的说是不要使用带Google play的,使用不了一点开发者模式,附上一张使用的虚拟机的配置图片
这样就可以在安装好调用adb调试了,注意到调试的时候要使用su命令进入管理员模式,否则访问文件会爆出没有权限的情况。使用了supersu和magisk之后发现还是使用虚拟机本身的开发者模式来进行管理员模式的启用
安装Frida
这里先是使用python安装了一个系统的frida,这里直接使用的是系统自带的python3.9的pip3
pip3 install frida
pip3 install frida-tools
安装好了之后还要在adb进行push,下载正确的frida-server,官网:https://github.com/frida/frida/releases。 要向下翻到frida-server,进入adb调试模式后查看android的架构是arm64-v8a,所以下载frida-server-16.4.10-android-arm64.xz,版本要与系统安装的frida一致(这里其实一开始没搞明白两者之间的关系,看大神的总结:https://www.52pojie.cn/thread-1823118-1-1.html)
getprop ro.product.cpu.abi
arm64-v8a
下载错误就会报错:./frida-server: syntax error: unexpected '('
adb push frida-server-16.4.10-android-arm64 /data/local/tmp
##要有data是一个文件夹,前面一定要有/符号
##错误解决就是版本太高了,需要使用更低的python和frida,本机的python3.9卸载不了,所以使用虚拟机来安装python3.7和frida
安装conda配置python3.7环境
笔者推荐直接使用官网的软件一键式安装,不太熟brew的安装法,环境打入貌似有些问题,输入conda命令会出现not found的情况。
直接使用conda会发现现有的包中不存在3.7的版本查看的命令创建一个名为py37的环境,指定Python版本是3.7
conda create --name py37 python=3.7
查看当前拥有的所有的环境
conda info -e
环境切换,切换到名为py37的环境
source activate py37
conda activate YourEnvs (第一个命令无效时使用)
删除一个名为py37的环境
conda remove --name py37 --all
安装python包
conda install 包名
conda install -n 环境名 包名
如果不用-n指定环境名称,则被安装在当前活跃环境
也可以通过-c指定通过某个channel安装
查看当前环境下已安装的包
conda list
查看某个指定环境的已安装包
conda list -n 环境名
查找包信息
conda search 包名
更新package
conda update -n 环境名 包名
删除package
conda remove -n 环境名 包名
更新conda,保持conda最新
conda update conda
更新anaconda
conda update anaconda
退出当前base环境
conda deactivate
接着上面的问题,查看了文章是曲线救国的一招:先创建了一个空环境,在空环境中进行python的安装
#创建空环境 名字叫py37
conda create -n py37
#开启该空环境
conda activate py37
#修改配置
conda config --env --set subdir osx-64
#安装python
conda install python=3.7
#验证一下
python -V
conda deactivate
conda info -e
笔者本机操作参照
juana@deAir ~ % conda create -n py37
Channels:
- defaults
- conda-forge
Platform: osx-arm64
Collecting package metadata (repodata.json): done
Solving environment: done
## Package Plan ##
environment location: /opt/anaconda3/envs/py37
Proceed (/n)? y
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
# $ conda activate py37
#
# To deactivate an active environment, use
#
# $ conda deactivate
juana@deAir ~ % conda activate py37
(py37) juana@deAir ~ % conda config --env --set subdir osx-64
(py37) juana@deAir ~ % conda install python=3.7
Channels:
- defaults
- conda-forge
Platform: osx-64
Collecting package metadata (repodata.json): /
done
Solving environment: done
## Package Plan ##
environment location: /opt/anaconda3/envs/py37
added / updated specs:
- python=3.7
The following packages will be downloaded:
package | build
---------------------------|-----------------
ca-certificates-2024.7.2 | hecd8cb5_0 128 KB
certifi-2022.12.7 | py37hecd8cb5_0 151 KB
libffi-3.4.4 | hecd8cb5_1 129 KB
ncurses-6.4 | hcec6c5f_0 1018 KB
openssl-1.1.1w | hca72f7f_0 2.8 MB
pip-22.3.1 | py37hecd8cb5_0 2.7 MB
python-3.7.16 | h218abb5_0 23.5 MB
readline-8.2 | hca72f7f_0 328 KB
setuptools-65.6.3 | py37hecd8cb5_0 1.1 MB
sqlite-3.45.3 | h6c40b1e_0 1.2 MB
tk-8.6.14 | h4d00af3_0 3.4 MB
wheel-0.38.4 | py37hecd8cb5_0 65 KB
xz-5.4.6 | h6c40b1e_1 371 KB
zlib-1.2.13 | h4b97444_1 102 KB
------------------------------------------------------------
Total: 37.0 MB
The following NEW packages will be INSTALLED:
ca-certificates pkgs/main/osx-64::ca-certificates-2024.7.2-hecd8cb5_0
certifi pkgs/main/osx-64::certifi-2022.12.7-py37hecd8cb5_0
libffi pkgs/main/osx-64::libffi-3.4.4-hecd8cb5_1
ncurses pkgs/main/osx-64::ncurses-6.4-hcec6c5f_0
openssl pkgs/main/osx-64::openssl-1.1.1w-hca72f7f_0
pip pkgs/main/osx-64::pip-22.3.1-py37hecd8cb5_0
python pkgs/main/osx-64::python-3.7.16-h218abb5_0
readline pkgs/main/osx-64::readline-8.2-hca72f7f_0
setuptools pkgs/main/osx-64::setuptools-65.6.3-py37hecd8cb5_0
sqlite pkgs/main/osx-64::sqlite-3.45.3-h6c40b1e_0
tk pkgs/main/osx-64::tk-8.6.14-h4d00af3_0
wheel pkgs/main/osx-64::wheel-0.38.4-py37hecd8cb5_0
xz pkgs/main/osx-64::xz-5.4.6-h6c40b1e_1
zlib pkgs/main/osx-64::zlib-1.2.13-h4b97444_1
Proceed (/n)?
Downloading and Extracting Packages:
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
(py37) juana@deAir ~ % python -V
Python 3.7.16
(py37) juana@deAir ~ % conda deactivate
juana@deAir ~ % conda info -e
# conda environments:
#
base /opt/anaconda3
py37 /opt/anaconda3/envs/py37
安装objection
直接使用pip来安装,这里需要先安装好系统的frida之后再查看与frida版本相近的版本的objection,否则会出现版本太高的一系列问题。使用的安装方法和上面一样,区别在使用的是虚拟机python3.7的环境,使用命令pip install frida==12.8.0
这里使用了python3.7的conda虚拟机来安装,系统中的python版本太高了,发现pip与pip3分开命名,分别指代的是python3.7和python3.9,安装命令
pip install objection==1.8.4
启动成功是这样的。
安装好之后启动流程:
[*]使用adb的root模式进入手机的shell,
[*]启动手机中的frida-server【官网下载要与电脑系统里的frida版本一致】接收电脑发送的objection注入请求,这里使用的是usb连接的方式,使用如下命令,查看手机中已经安装的包的名字。frida-ps -U
[*]这里使用的是com.android.settings这个包做的测试。objection注入命令如下:
objection -g com.android.settings explore
好久没更新了,记录一下最近的成果【?】,第一次使用mac的pc端设备【?】,尝试了多次多个版本的软件,这篇安装相当于是速通版。有些用Windows的习惯用在这个设备上懵懵的,接下来继续保持之前的更新速度。。好菜,有误的地方请大佬们指正qwq~。 本帖最后由 tianshenyonghen 于 2024-8-31 08:50 编辑
“配置python环境,需要将自带python环境写入在etc/zshrc文件中”,可以参考:https://blog.csdn.net/yu1014745867/article/details/121969351
应该和前面老哥说的是一个道理,即bash和zsh是两个东西,虽然你可以使用bash,但是实际mac绑定的是zsh,你需要把文件链接绑定在zsh目录下,或者添加bash目录到zsh中,否则你在bash下添加的目录重启后会失效
例如:我在mac下配置Qt5.9.5环境:
设备:Mac miniM2芯片 系统:Sonoma14.5
1.终端中输入:sudo vim ~/.zshrc然后输入开机密码进入.zshrc文件的编辑界面
2.进入编辑界面后,英文模式下点击键盘上的“i”键进入:编辑模式(此时左下角会提示:-- INSERT --)
3.添加环境变量的格式为:export PATH=$PATH:/文件目录/;以Qt为例:
export PATH=$PATH:/Users/ts/Qt5.9.3/5.9.3/clang_64/bin
(需要注意:/Users/qs/是你实际安装的路径,需要添加的是:Qt5.9.3/5.9.3/clang_64/bin)(如果是默认安装文件夹路径:访达 - 前往 - 个人:目录下会有一个Qt5.9.3)
4.添加完成后,英文模式下点击键盘上的“Esc”键进入:命令模式(此时左下角的-- INSERT --会消失),在该模式下先点击键盘上的冒号“:”,然后输入“wq”保存退出
5.先关闭再打开终端,输入:qmake --version如果显示以下两句即为Qt环境变量配置成功:
QMake version 3.1
Using Qt version 5.9.3 in /Users/qs/Qt5.9.3/5.9.3/clang_64/lib
6.如果还不放心,在终端中输入:echo $PATH如果显示中出现Qt路径即为Qt环境变量配置成功:
xxxx/bin:/Users/ts/Qt5.9.3/5.9.3/clang_64/bin 我没用过mac, 我用的ubuntu, 自己装的zsh, linux自带的是bash, 在profile写入环境变量后必须要在zsh中在写,因为是两套终端环境,很正常的这是,不奇怪 感觉挺实用的 {:1_924:} 没看懂 大佬 这是弄啥的 好硬核,支持一个 学习了Python大佬致敬。我试一试回去 学习学习{:1_893:} 谢谢lz学到了 学习学习 不错的mac指导