root shell android 传输手机设备文件夹,【原】Android 设备,如何root,执行adb shell,查看设备中的数据库信息等...

news/2024/12/2 14:42:49/

(一)第一步:root

使用百度一键root 等app,一键就可root,步骤略

(二)

1、执行

adb shellsu获得root权限ls 查看当前目录

eb2ee8e5ebe1d7a12396ec7bf7b90e17.png

cd data/datals

161c06b55d7ce0752cd38ba657f4cf04.png

选com.tencent.cm为例

cd com.tencent.cm/databasels

b34ecfa4b58b72a70cccfde8a23f2ee5.png

看到里边有一些 .db数据库文件

这时候,执行

sqlite3 tes_db.db

如果你的设备中有sqlite3,这句应该会执行成功,接下来就可以 执行select 语句了,

----------------------------------------------------------------下边就不用看了--------------------------------------------------------------

本文主要说明 一些小米和其他手机中没有sqlite3的情况,和我一样,执行会发现

sqlite3:not found

b7b33e14837d27a255ce31859bf89c21.png

附  Android的每个版本对应的sqlite3 版本:

SQLite 3.8.4.3:21-5.0-Lollipop20-Android L Developer Preview

SQLite3.7.11:19-4.4-KitKat18-4.3-Jelly Bean17-4.2-Jelly Bean16-4.1-Jelly Bean

SQLite3.7.4:15-4.0.3-Ice Cream Sandwich14-4.0-Ice Cream Sandwich13-3.2-Honeycomb12-3.1-Honeycomb11-3.0-Honeycomb

SQLite3.6.22:10-2.3.3-Gingerbread9-2.3.1-Gingerbread8-2.2-Froyo

SQLite3.5.9:7-2.1-Eclair4-1.6-Donut3-1.5-Cupcake

Note: Android SDK level links show where the android.database.sqlite package has changed. Where there is no link (e.g. SDK level17), indicates no changes to that package.

Note: Here are some anomalies (list by no means exhaustive):

SQLite3.7.13 (instead of 3.7.11):

LG Optimus L70 MS323 LGMS323|KOT49I.MS32310b (19-4.4-KitKat)

LG Optimus G E975 LG-E975|JZO54K (16-4.1-Jelly Bean)

LG G2 D802 LG-D802|JDQ39B (17-4.2-Jelly Bean)

SQLite3.7.6.3 (instead of 3.6.22):

LG Optimus Sol E730/myTouch E739/myTouch Q C800 (10-2.3.3-Gingerbread, GRJ22)

LG Optimus Vu F100S/F100L (10-2.3.3-Gingerbread, RK39F)

LG Optimus LTE TAG F120K/F120L (10-2.3.3-Gingerbread, GRK39F)

LG Optimus LTE L-01D (10-2.3.3-Gingerbread, GRJ90)

LG Optimus Net P690b (10-2.3.3-Gingerbread, GINGERBREAD)

LG Prada KU5400 (10-2.3.3-Gingerbread, GWK74)

LG Prada P940 (10-2.3.3-Gingerbread, GWK74)

LG LU6200/SU640 (10-2.3.3-Gingerbread, GRJ90)s

SQLite3.7.5 (instead of 3.7.4):

Samsung Galaxy Note (15-GT-N7000|IML74K.ZSLPF)

Samsung Galaxy SII (15-SC-02C|IML74K.OMMP4 and GT-I9100|IML74K.DXLP7)

Samsung Galaxy S Duos (15-GT-S7562|IMM76I.S7562XXBMD6)

Samsung Galaxy Tab7.7 (15-GT-P6810|IMM76D.ZSLP8)

SQLite3.7.0.1 (instead of 3.6.22):

LG Esteem MS910 (10-2.3.3-Gingerbread, GSE-_v.05)

AndroTab (8-2.2-Froyo, 1.0.7100.0385)

GPLUS MUSN M500 (8-2.2-Froyo, FRG83G)

SQLite3.6.23.1 (instead of 3.5.9):

Motorola Backflip MB300 (7-2.1-Eclair, ERD79)

Garmin-Asus nüvifone A10/A50/Garminfone (7-2.1-Eclair, ERE27)

Note: adb command to get SQLite version only works on emulators and on devices with sqlite3 available: http://stackoverflow.com/a/3645800/444761

比较简单的获取对应版本的Sqlite的方法:

1、查看你手机的Andorid的版本,比如我的是 4.3

2、在eclipse中打开对应版本(很重要,否则会提示cannot locate ‘sqlite3_enable_load_extensions‘)的模拟器(创建 如果没有)并且启动3、在DDMS窗口的File Explorer面板下展开system >xbin

看到了sqlite3 了么?ok。点击右上角的软盘图标(pull afilefrom the device) 将其保存到其他位置4、然后连接你的手机,打开控制台,输入adb shell。(什么?提示adb命令无效?那去配置环境变量吧)5、然后查看一下提示符 如果是 # 那就不用管了,如果是 $ ,那么说明你需要获得root权限进行下面的操作6、保持手机屏幕没有锁屏最好是常亮模式 在提示符下敲入 su 或者 suroot,如果手机弹框提示是否允许获得root权限请选择 是。点击后发现 $ 变成 # 了。OK 可以进行下面的操作了7、将先前保存其他位置的sqlite3 在DDMS面板中通过右上角手机图标(push a file onto the device) 将文件push到sdcard中,准确的是在/mnt/sdcard8、然后在命令行敲入 cat /mnt/sdcard/sqlite3 > /system/xbin/sqlite3 复制文件(为什么不用mv?我也试过,不过报failed on ‘/sdcard/test.mp3‘ - Cross-device link 错误)9、ok,检查手机/system/xbin下多了一个sqlite3文件,不过还不能执行。10、继续敲入 chmod 4755 /system/xbin/sqlite3

好的 大功告成。你可以试试敲入sqlite3试试了。可以看到可以正常使用了。

-------------------------------------------------------------如果你成功了,不用看下边-------------------------------------------------------------------------

首先,机器上没有对应android 4.3的avd,所以参考http://www.cnblogs.com/localhost/archive/2012/04/09/2439558.html的方法

下载了sqlite3文件包,地址为http://files.cnblogs.com/localhost/sqlite3_not_found.rar(事实证明他这个包的版本,我不能用,他这个版本太老了)

下这个:http://pan.baidu.com/share/link?shareid=534077&uk=839950715

报了异常,因为直接push进 /system/xbin目录中了,没权限

501473c7441c2c43d223266769827934.png

建一个临时文件夹

29da4651c25f93572f976826296bdae0.png

push进这个临时文件夹中

c4ff6aedea39c8883f606a365a78d71b.png

再将sqlite3从

/mnt/sdcard/tmp

拷贝到

/system/xbin 目录中,不会报错

cp /mnt/sdcard/tmp/sqlite3 /system/xbin/sqlite3

注意:这一步可能报两种错,

第一种: cp not found,将命令换成cat /mnt/sdcard/tmp/sqlite3 > /system/xbin/sqlite3,

第二种:permission denied,说明/system是只读的,此时需要重新mount,改为可读写,然后继续拷贝

为什么除了sqlite3,还要push进去libncurse.so,因为缺乏依赖库,报了以下异常

70957834c7978cf2c865a063c0779346.png

我的出现了第二种权限错误 ,执行mount操作

mount -o remount,rw /system

e77bfaab768bd88f1b243a7feb55fe19.png

2cabe0166f41f190048fcd1e48369a78.png

mount命令的解释在 http://blog.csdn.net/progbelief/article/details/6032518

重点解释这条语句的作用

mount -o remount,rw -t yaffs2 /dev/block/mtdblock6 /system

简单来说就是将块设备“/dev/block/mtdblock6” 挂载到/system目录上,挂载格式为yaffs2,这里主要的问题是“/dev/block/mtdblock6”是个什么东东。

mtdblock就是手机 的flash存储设备,但是这个分块号则依机型的不同而有所变化,比如:Droid 的/system是挂载在/dev/block/mtdblock4上的,欧版的milestone 在/dev/block/mtdblock7上,港版的在/dev/block/mtdblock6上,HTC 系列的机器 则好像是在/dev/block/mtdblock3上。而现在有的教程 上写的命令不尽相同,也有这样写的

mount -o remount,rw /dev/block/mtdblock3 /system

这多半上从HTC的论坛 上抄来的吧。

但是有些人可能会说,我就是用这条命令成功了!(好吧,其实我也是的……汗,真是好险 ),甚至用任何分块号mtdblock3、mtdblock4、mtdblock11等等都能正常运行!那么这种错误命令为什么能成功呢?其实我们的命令参数“-o remount”其实自动 忽略了/dev/block/mtdblock? 这一段参数,只是简单的把/system重新挂载了一下而已。这条命令的偷懒不知道救回了多少人的爱机啊!

好吧,说到这里大家应该明白了吧,虽然这条命令即使错误也可以成功,但你毕竟试图将一个错误的块挂载到/system上,悄有不慎肯定变砖。

所以强烈建议大家在执行此命令时使用

cat /proc/mtd

来检查下自己的JJ具体参数,再套用命令,

或者强烈建议新手使用

mount -o remount,rw /system

这样的简化命令来代替上述命令使用!

有了上边的解释, 获取你的设备mount信息,执行

mount

从屏幕列出来的mount数据中找到/system的mount信息,空格隔开的,第一列表示设备名,第二列表示目录,第三列表示文件系统,第四列表示权限。网上其他教程在这一步都直接列出了他们的命令,由于设备名和文件系统不一样,所以执行不成功

mount命令为:mount  -o  remount,rw  -t  第三列信息  第一列信息  /system

如下图,注意看圈红的地方:

f94d45315d082ace819b99979a939106.png

mount成功后,再执行上面说的文件copy的步骤,然后就能copy到 /system/xbin目录下了

需要改下文件的权限,命令:

chmod 4755 /system/xbin/sqlite3

最后运行下,sqlite3,发现成功了吧

---------------------------------------------------------------你又成功了,我又没有----------------------------------------------------------

执行了mount,结果如下(没有system啊,但是上边的 mount -o remount,rw /system 执行成功了,所以也无所谓了 ):

bed4a045feeea2f05a223f632e5c1280.png

这时候执行sqlite3命令,出现了Illegal instruction错误

2c4aacb118bfeb727196c3abf88501fb.png

这大概说明,我的sqlite3版本不对,下了个比较新的: http://pan.baidu.com/share/link?shareid=534077&uk=839950715

拷进去,改权限,执行

c76b8f9c345ae8edcad234d19c81799b.png

成功

在sqlite的...> 状态退不出来的时候,一般是进入SQL数据语言模式了,此时输入个;(分号) 就可以退回到sqlite>状态

f8acae54d902f101b964a6cdd6599684.png

.quit 退出 sqlite

.help 查看帮助

.schema 抓出数据库中所有的表

.tables 抓出数据库中所有的表和索引(都可以使用LIKE来匹配)

附:

sqlite的官网

http://www.sqlite.org/lang.html

原文:http://www.cnblogs.com/maxiaodoubao/p/4798782.html


http://www.ppmy.cn/news/255094.html

相关文章

大数据FLINK实时数仓项目实战

一、FLINK实时数仓项目简介 1、​​​​​​普通实时计算与实时数仓比较 普通的实时计算优先考虑时效性,所以从数据源采集经过实时计算直接得到结果。如此做时效性更好,但是弊端是由于计算过程中的中间结果没有沉淀下来,所以当面对大量实时需求的时候,计算的复用性较差,…

deactive(Deactive breakpoint)

deactive怎么译? de-active 原指吊销, 计算机的专用词叫 "去活". 多指停止某指令.吊销,不激活,关闭 三星bc01指令代码 三星手机总复位,在待机状态下输入*2767*3855#需要专门的智能仪器才可以解开手机密码忘记了 一般普…

【玩转手机】三星D608全部指令

*#06#/#*1300# IMEI #*1400#/#*4674# IMSI #*2252# Current CAL #*2255# call failed mode #*2256# Calibr.-info #*2286# Databattery 电池数据 #*2337# Parmanent Registration Beep #*2474# 充电持续时间 #*2527# GPRS 转换到 (级别 4, 8, 9, 10) #*2558# Time ON for debu…

三星Android手机助力泰姆凯迪幼儿活动

三星Android手机助力泰姆凯迪幼儿活动 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循“署名-非商业用途-保持一致”创作公用协议 转载请保留此句:太阳火神的美丽人生 - 本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Htm…

GT-S7562刷机、Root、App2SD、删除系统程序、安装Google服务框架

GT-S7562 Root后删除了一些系统程序,最近有点慢,重置系统。重置后系统变砖,在选择语言时间后不再往下走。故而刷机解决: 一、刷机 手机驱动www.netded.com 下载的 三星-USB-Driver-for-Mobile-Phones.rar 刷机工具Odin3 v3.06.…

三星S7562手机拨号时显示“未在网络上注册”是什么原因?

根据您的描述,建议您按照如下步骤尝试操作:  SIM卡没注册上  1.设定-更多-移动网络-网络模式-卡1/卡2-网络运营商-点击可用的  3.更换其他SIM卡  4.个别地方因3G信号不稳定可尝试:设定-更多-移动网络-网络模式-GSM本人用这个方法以后…

三星S7562刷机包 基于官方4.0.4底包制作 桌面清爽简洁 优化精简

作者:xiezaihuang 发布日期:2014-09-25 09:59 来源:www.shuajizhijia.net ROM大小:367.2MB Android版本:4.0.4 UI类型:其他 包类型:卡刷包 刷机包介绍 【ROM特点介绍】 1、基于官方4.0.4底包制作 2、深度精…

三星GT S7562 PIN 解锁方法

三星GT S7562 PIN 解锁方法 请认真阅读完下文再进行操作,操作基本安全,请保证你手机电池有电续航超过1小时 首先把内存开和电话卡取出(以防万一数据丢失) 关机状态下: 同时按音量上下键 加 中间椭圆形HOME键不放 再按…