安卓逆向——Android基础:adb工作原理和常用命令
adb的作用通过电脑远程操纵手机端。
adb构成
client端,在电脑上,负责发送adb命令。
server端,在电脑上,负责管理client和daemon之间的通信。
daemon守护进程adbd,在手机上,负责接收和执行adb命令。
adb工作原理
client端将命令发送给serve端。
server端将命令发送给daemon端。
daemon端进行执行。
将执行结果返回给server端。
server端将结果返回给client端。
adb常用命令adb帮助123adbadb helpadb --help
版本信息1adb version
启动/关闭adb服务器12adb start-serveradb kill-server
查询连接设备1adb devices
安装/卸载app123adb install xxx.apkadb install -r xxx.apk #覆盖安装adb uninstall [包名]
推送文件到手机12adb push xxx xxx #推送电脑的文件到手机adb push app-debug.apk /sdc ...
安卓逆向——Android基础:Android逆向工具安装
Android Studio无论是正向开发,还是逆向调试,都需要使用到此工具。
官网下载地址:https://developer.android.google.cn/
下载安装即可,创建项目时选择java语言。
建议安装非系统盘,sdk文件占用磁盘空间较大。
推荐将sdk目录下的platform-tools文件夹路径加入系统环境变量。
QtScrcpy比较好用的一款轻量级手机屏幕远控软件,基于adb命令。
可以在config文件夹的配置文件中修改默认使用的adb程序。
下载地址:https://gitee.com/Barryda/QtScrcpy/
jadx链接:https://pan.baidu.com/s/1DGbLigN1NQ027-AS7FTgkg 提取码:ku2t
一款比较好用的Java反编译工具,编译出来的结果最接近源代码。
下载后解压运行即可使用。
jeb链接:https://pan.baidu.com/s/1f-GsHFfQGneibo3q5YH9Ag 提取码:kvcn
更强大的收费反编译工具,某些jadx无法反编译的函数可以使用jeb。
相比较来说,j ...
安卓逆向——Android基础:Linux权限和目录结构
Linux权限12#ls -l中显示的内容如下:lrwxrwxrwx 1 root root 8 May 29 04:09 sbin -> usr/sbin
权限
第0位确定文件类型:
-是普通文件
l是链接,后面会用 -> 打印出其指向真实文件
d是目录,相当于windows的文件夹
c是设备文件,鼠标、键盘、/dev
d是块设备,比如硬盘、/dev
第1-3位确定所有者拥有该文件的权限
第4-6位确定所属用户组拥有该文件的权限
第7-9位确定其它用户拥有该文件的权限
权限表示方式rwx可读/可写/可执行 -代表没有权限。
权限还可以使用数字表示 r=4,w=2,x=1。
目录和文件都是有权限的,操作目录和文件都需要有相应的权限。
其它说明12345678lrwxrwxrwx 1 root root 8 May 29 04:09 sbin -> usr/sbin#1 文件:硬链接数 目录:子目录数量和文件数量的总和#root 用户#root 组#8 文件大小(字节),如果是文件夹,显示4096字节。#May 29 04:09 最后修改日期#sbin ...
安卓逆向——Android基础:Linux常用命令2
常用命令Part2ls文件一般没有拓展名。
123ls -a #显示所有目录和文件ls -l #显示详细信息 ls -al #显示所有文件和目录详细信息
touch1234touch xxx #创建空文件/更新文件状态mkdir aaa #创建目录mkdir aaa bbb #同时创建多个目录mkdir -p aaa/bbb #递归创建
rm1234567rmdir xxx #删除空目录rm xxx #删除文件rm aaa bbbrm -f xxxrm -rf xxx-r #递归删除整个目录-f #强制删除且不提示确认信息
cp123456cp a /tmp #复制文件cp a b /tmp #复制多个文件cp a /tmp/bcp -r a b #复制目录,需要加-r-p #保持文件属性-r #递归复制整个文件夹
mv123mv oldName newName #移动文件同时重命名mv oldName /tmp/newNamemv oldName /tmp
history123history #查看已经执行过的历史命令history ...
安卓逆向——Android基础:Linux常用命令1
常用命令Part1passwd1sudo passwd #更新超级用户root密码
cd123cd xxx #切换到指定目录cd ~ #切换到自己的用户目录cd .. #切换到上级目录
相对路径与绝对路径123pwd 显示当前目录的绝对路径cd /root #使用绝对路径进入/root目录cd root #使用相对路径进入/root目录
命令的实质Linux中一切皆是文件(包括硬件)。
命令实际上是bin下面的二进制文件。
可执行文件可在任意目录的原因可执行文件可在任意目录的原因是有环境变量$PATH。
添加环境变量:
使用命令添加,临时的。
修改配置文件,永久的。
查看帮助文件
man命令
help
百度查找
安卓逆向——Android基础:VMware三种网络连接方式
三种网络连接方式
桥接模式: 直接连接物理网络
NAT模式:用于共享主机的IP
仅主机模式:与主机共享的专用网络
桥接模式使用真实网卡,可以与主机和外网通讯,有独立IP地址,容易造成IP地址冲突。
虚拟机需要和主机同一网段的IP地址。
如果有多个网卡,要选择主机正在使用的网卡。
虚拟机 -> 虚拟网络编辑器 -> 桥接模式 -> 选择当前使用的网卡
NAT模式使用VMnet8虚拟网卡,可以与主机和外网通讯,不占用IP地址。
仅主机模式(Host-Only)使用VMnet1虚拟 网卡,只能与主机进行通讯。
安卓逆向——Android基础:Linux安装和配置
Linux介绍常见操作系统Windows、Linux、MacOS、Android、IOS
为什么要学习Linux
安卓系统的底层是Linux内核,很多Shell命令可以通用。
安卓系统编译需要使用Linux系统或MacOS系统,可以定制安卓系统。
Linux主要发行版Ubuntu(乌班图)、CentOS、Debian(Kali)、Redhat(红帽)、Fedora、SuSE、OpenSUSE。
推荐配置系统:Ubuntu20.04
内存:16G以上
硬盘:500G以上
安装VMware和Ubuntu开启VT虚拟化支持不同主板对应BIOS不同,百度对应主板去开启CPU的VT虚拟化。
安装VMware官网下载VMware,许可证可以百度或淘宝。
可以参考我之前安装Kali时的博客安装。
安装UbuntuUbuntu20.04是长期支持版本,推荐使用此版本。
推荐阿里云下载地址:http://mirrors.aliyun.com/ubuntu-releases/20.04/(ubuntu-20.04.2.0-desktop-amd64.iso)
(安装过程略,创建虚拟机安装即可,可以参考之 ...
树莓派更换系统下载源
树莓派默认使用树莓派官网的下载源,为了提高下载速度,我们更换国内源。
安装vim编辑器1sudo apt install vim
更换软件源1.备份原文件。
1sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
2.修改软件源文件。
1sudo vim /etc/apt/sources.list
3.注释默认的下载源,加入下列源。
12345678//64位deb http://mirrors.tuna.tsinghua.edu.cn/debian buster main contrib non-freedeb http://mirrors.tuna.tsinghua.edu.cn/debian-security/ buster/updates main contrib non-freedeb http://mirrors.tuna.tsinghua.edu.cn/debian buster-updates main contrib non-free//32位deb http://mirrors.tuna.tsing ...
树莓派VNC远程开启剪辑版功能
树莓派使用VNC连接默认不能从电脑粘贴命令到命令行。
只需执行下列命令即可使用远程剪辑版功能。
安装1sudo apt install autocutsel
启动每次开机都需要启动,可以设置开机自启动。
1autocutsel -f
树莓派安装操作系统
安装系统
登录Raspberry Pi官网下载镜像工具。
将SD卡插入读卡器,并接入电脑。
点击CHOOSE OS选择官方系统或自定义系统。
点击CHOOSE STORAGE选择内存卡。
点击Write写入系统。
镜像工具会自动格式化内存卡并写入系统,写入成功后会自动断开USB连接。
注意:不要手动打开内存卡系统盘,由于格式不同,会提示格式化,一定不要格式化。
设置开启SSH
安装完成系统后,重新插入读卡器。找到boot盘。
新建一个ssh文件,无后缀名。这样树莓派就会启动ssh。
设置开机自动联网如果有有线网,可以直接插入树莓派。
若是无线网,可以在boot分区下新建wpa_supplicant.conf文件。
12345678country=CNctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdevupdate_config=1network={ ssid="wi-fi name" psk& ...