adb获取夜神模拟器root权限

文章详细介绍了如何使用ADB命令与夜神模拟器进行交互,包括连接模拟器、查看和管理设备、安装和卸载应用、控制设备行为,以及一系列深入的Android设备管理操作,如获取系统信息、监控应用、输入模拟等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大概操作

默认情况下,夜神模拟器的端口号是 62001
我们直接
进入命令框

adb connect 127.0.0.1:62001
然后
adb devices

出现下图即可
请添加图片描述

前置条件

将夜神模拟器调为手机版,然后进入设置。一直点击版本号,进入开发者模式
在这里插入图片描述
在开发者选项中打开usb调试
在这里插入图片描述
在这里插入图片描述

如何查看夜神模拟器ip

进入夜神文件夹内,用notepad++之类工具打开
在这里插入图片描述
搜索5555找到
在这里插入图片描述
至于为什么找5555端口(百度):

5555端口是安卓adb服务默认监听的端口,由于早期版本缺乏认证过程,导致其成为了僵尸网络热衷利用的目标,目前安全团队对5555端口上相关攻击的研究通常集中在adb服务。

当多开模拟器的时候,就可以通过这个方法找到其他模拟器的端口进行adb(没准其他模拟器软件也可以这样找)

adb的操作

#是开了root
$是没开root

在这里插入图片描述
1.adb install +包名 adb安装apk (覆盖安装是使用 -r 选项)

2.adb uninstall +包名 adb卸载apk

3.adb connect +设备IP 网络连接Android设备

4.adb reboot 重启Android设备

5.adb devices 获取连接的设备列表及设备状态

6.adb get-state 获取设备的状态 (设备的状态有 3 钟,device:设备正常连接 , offline:连接出现异常,设备无响应 , unknown:没有连接设备)

7.查看运行在 Android设备上的 adb 后台进程:

执行 adb shell ps | grep adbd ,可以找到该后台进程,windows 请使用 findstr 替代 grep

adb操作引用

adb shell操作

8.adb shell 命令
adb 命令是 adb 这个程序自带的一些命令,而 adb shell 则是调用的 Android 系统中的命令,这些 Android 特有的命令都放在了 Android 设备的 system/bin 目录下

8.1. adb shell bugreport , 打印dumpsys、dumpstate、logcat的输出,也是用于分析错误

输出比较多,建议重定向到一个文件中

adb shell dumpsys > D:\bugreport.log

8.2 pm
Package Manager , 可以用获取到一些安装在 Android 设备上得应用信息

8.2.1 adb shell pm list package 列出所有的应用的包名 (-s:列出系统应用 -3:列出第三方应用 -f:列出应用包名及对应的apk名及存放位置 -i:列出应用包名及其安装来源)

8.2.2 adb shell pm path+包名 列出对应包名.apk 位置

8.2.3 adb shell pm install +apk存放路径 安装应用(目标 apk 存放于PC端,用 adb install 安装 目标 apk 存放于Android设备上,用 pm install 安装)

8.2.4 adb shell pm clear com.google.android.inputmethod.pinyin 清除应用数据

8.3 am

8.3.1 adb shell am start +包名/.Activity (要启动的Activity) 启动一个 Activity (-s先停止目标应用,再启动 -w 等待应用完成启动 -a 启动默认浏览器打开一个网页例:adb shell am start -a android.intent.action.VIEW -d http://testerhome.com)

8.3.2 adb shell am monitor 监控 crash 与 ANR

8.3.3 adb shell am force-stop 后跟包名,结束应用

8.3.4 adb shell am startservice 启动一个服务

8.3.5 adb shell am broadcast 发送一个广播

8.4 input

这个命令可以向 Android 设备发送按键事件

8.4.1 adb shell input text +具体内容 发送文本内容,不能发送中文

8.4.2 adb shell input keyevent + 按键事件 发送按键事件 例如:adb shell input keyevent KEYCODE_HOME 模拟按下Home键

8.4.3 adb shell input tap +触摸事件的位置 , 对屏幕发送一个触摸事件 例如:点击屏幕上坐标为 500 500 的位置(adb shell input tap 500 500)

8.4.4 adb shell input tap , 对屏幕发送一个触摸事件

8.4.4 adb shell input swipe 滑动事件 例如:从右往左滑动屏幕

adb shell input swipe 800 600 100 600
8.5 screencap

截图命令

adb shell screencap -p /sdcard/DCIM/screenTest.png
8.6 screenrecord

4.4以上系统版本新增的录制命令

adb shell screenrecord /sdcard/demo.mp4
执行命令后操作手机,ctrl + c 结束录制,录制结果保存至 sdcard/ 下

8.7 ime

列出设备上的输入法

adb shell ime list -s
其他
1.获取系统版本

adb shell getprop ro.build.version.release

2.获取系统api版本

adb shell getprop ro.build.version.sdk

3.获取手机相关制造商信息

adb shell getprop | grep “model|version.sdk|manufacture
r|hardware|platform|revision|serialno|product.name|brand”

3,获取手机系统信息( CPU,厂商名称等)

adb shell “cat /system/build.prop | grep “product””

4,获取手机设备型号

adb -d shell getprop ro.product.model

5,获取手机厂商名称

adb -d shell getprop ro.product.brand

6,获取手机的序列号

有两种方式

1,adb get-serialno
2,adb shell getprop ro.serialno

7,获取手机MAC地址

adb shell cat /sys/class/net/wlan0/address

8,获取手机内存信息

adb shell cat /proc/meminfo

9,获取手机存储信息

adb shell df

10,获取手机内部存储信息

adb shell df /data

11,获取Android设备屏幕分辨率

adb shell “dumpsys window | grep mUnrestrictedScreen”

12,连接多个设备对其中一个进行操作
//以adb shell 为例
adb -s 192.168.101.37:5555 shell

13,查看运行进程

adb shell procrank

14,关闭或杀掉进程

adb shell kill 366

15,保留数据和缓存文件,重新安装,升级

adb install -r test.apk

16,卸载app但保留数据和缓存文件

adb uninstall -k cnblogs.apk

17,查看目录下的文件大小

adb shell du -sh *

18,查看正在运行的Services

adb shell dumpsys activity services []

19,查看正在运行的Activity

adb shell dumpsys activity []

20,clear 清除应用数据

adb shell pm clear com.baidu

21,cp复制文件

adb shell 进入Android Linux命令中

cp -f system/app/Music/Music.apk /sdcard/Music.apk

22,删除命令

adb shell 进入Android Linux命令中

rm -r /mnt/sdcard/a.mp3

删除文件夹的时候需要加上-r参数

cd dir
rm * 删除dir中所有文件

23,重启进入recovery模式

adb reboot recovery

24,cat查看文件

cat /sdcard/test.txt

25,查看指定进程PID

ps + 进程的包名

26,查看进程具体的信息

例如:1460是要查看的进程的PID
cat /proc/1460/maps 查看进程的文件结构
cat /proc/1460/status 查看进程的状态

27,findstr 和 grep过滤搜索

1)cmd下搜索包名为com.android.launcher3的进程
adb shell ps|findstr /i “com.android.launcher3”

2)shell下面搜索
先使用adb shell进去,然后使用grep命令过滤
ps | grep “com.linux.test”
adb shell操作引用

<think>我们参考引用内容,特别是引用[1]和引用[2]中提到了在模拟器锁屏状态下使用ADB连接并绕过锁屏的方法。 用户的问题是:如何在模拟器锁屏时使用ADB连接? 根据引用,我们可以总结出以下步骤: 1. 确保ADB环境配置正确:将ADB工具(adb.exe, AdbWinApi.dll, AdbWinUsbApi.dll)复制到模拟器的安装目录(通常是Nox/bin目录下)或者虚拟机的用户目录(如果是在虚拟机中使用模拟器的话),这样在命令提示符中才能使用adb命令。 2. 启动模拟器,并保持其在锁屏状态(即不要关闭模拟器)。 3. 打开命令提示符(cmd),并切换到模拟器的安装目录(因为这里自带了adb环境,或者你已经将adb添加到系统环境变量中,则可以在任意目录执行)。 4. 执行以下命令: adb devices # 查看设备是否连接成功 adb root # 获取root权限(如果模拟器已经rootadb remount # 重新挂载系统分区为可写(如果需要) 5. 然后进入adb shell,并删除或重命名锁屏相关的文件: adb shell cd /data/system # 删除锁屏文件,根据引用[1]和[4]提到的文件,包括但不限于: # gesture.key, password.key, locksettings.db等 # 具体操作如下(注意:不同安卓版本可能文件不同,但通常删除以下文件): rm *.key # 或者按照引用[2]的做法,重命名locksettings.db文件: mv locksettings.db locksettings.db_bak 6. 如果删除文件后,重启模拟器: reboot 7. 重启后,锁屏应该就被移除了。 但是,请注意:在锁屏状态下,ADB连接需要满足一个条件:模拟器ADB调试模式必须是开启的。如果模拟器在锁屏前没有开启ADB调试,那么可能无法连接。不过,模拟器默认应该是开启ADB调试的。 根据引用[1]中的描述,在锁屏状态下,通过ADB连接并删除相关锁屏文件,可以绕过锁屏。 因此,步骤总结如下: 步骤1:确保ADB可用 - 将ADB工具(三个文件)放入模拟器安装目录(或系统PATH路径中)以便在命令行使用adb命令。 步骤2:启动模拟器并保持锁屏状态。 步骤3:打开命令提示符,输入以下命令: - adb devices (确认设备已连接,应显示设备号) - adb root获取root权限,如果显示'adbd cannot run as root in production builds',则说明无法获取root,但模拟器一般是root过的,所以应该可以成功) - adb remount (重新挂载,如果不需要删除系统文件则可能不需要) 步骤4:进入adb shell并删除锁屏文件: - adb shell - cd /data/system - 删除文件(根据引用[4]中列出的文件,逐个删除): rm gatekeeper.password.key rm gatekeeper.pattern.key rm locksettings.db rm locksettings.db-shm rm locksettings.db-wal # 以及其他存在的.key文件,如: rm gesture.key # 图案锁 rm password.key # 密码锁 # 等等 或者,如果不想全部记住,可以执行:`rm *.key` 和 `rm locksettings.db*` 步骤5:重启模拟器 - 在adb shell中输入:`reboot` 或者直接关闭模拟器再重新启动。 步骤6:重启后,锁屏应该被清除了。 注意:由于不同版本的安卓系统(模拟器使用的安卓版本)可能锁屏文件不同,如果上述文件不存在,可以尝试使用`ls`命令查看/data/system目录下与锁屏相关的文件(如含有lock, gatekeeper, password, pattern, gesture等关键词的文件),然后删除它们。 引用[2]中提到,如果找不到.key文件,可以重命名locksettings.db文件(因为锁屏信息可能存储在这个数据库中): mv locksettings.db locksettings.db_bak 然后重启。 因此,我们可以综合两种方法:先尝试删除.key文件,再处理locksettings.db文件。 另外,引用[3]提到了Charles抓包,与当前问题无关,可忽略。 综上所述,我们给出具体步骤。</think>### 如何在模拟器锁屏时使用ADB连接 以下是详细操作步骤(需在锁屏前已开启USB调试模式): 1. **配置ADB环境** - 从[Android SDK Platform-Tools](https://developer.android.com/tools/releases/platform-tools)下载ADB工具包 - 将以下文件复制到模拟器安装目录的`/bin`文件夹中: `adb.exe`, `AdbWinApi.dll`, `AdbWinUsbApi.dll` 2. **启动命令提示符** - 在模拟器安装目录的`/bin`文件夹中打开CMD(按住Shift+右键选择"在此处打开命令窗口") 3. **执行ADB连接命令** ```bash adb devices # 确认设备已连接(应显示设备ID) adb root # 获取root权限 adb remount # 挂载系统分区为可写 adb shell # 进入设备shell环境 ``` 4. **删除锁屏验证文件** ```bash cd /data/system rm -f *.key # 删除所有密钥文件 rm -f locksettings.db* # 删除锁屏数据库(含.db/.db-shm/.db-wal) ``` 5. **重启模拟器** ```bash reboot # 在adb shell中执行重启 ``` 或直接关闭模拟器重新启动。 **关键注意事项**: - 此方法依赖`USB调试模式`在锁屏前已开启(模拟器默认开启)[^1][^2] - 若遇到`adb: device unauthorized`错误,需先在解锁状态下授权计算机 - 不同安卓版本锁屏文件可能不同,若未生效可尝试: ```bash rm /data/system/gatekeeper.* # Android 5.1+ 新增的验证文件[^4] ``` 重启后锁屏验证将被清除,可直接进入系统。此方法适用于图案/密码/PIN等锁屏方式[^1][^2][^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值