CN104699512A - 一种用于在线读写安卓设备底层数据的程序及方法 - Google Patents
一种用于在线读写安卓设备底层数据的程序及方法 Download PDFInfo
- Publication number
- CN104699512A CN104699512A CN201510143925.6A CN201510143925A CN104699512A CN 104699512 A CN104699512 A CN 104699512A CN 201510143925 A CN201510143925 A CN 201510143925A CN 104699512 A CN104699512 A CN 104699512A
- Authority
- CN
- China
- Prior art keywords
- module
- data
- write
- writing
- read
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种用于在线读写安卓设备底层数据的程序,其特征在于:包括Socket传输模块、指令解析模块、系统权限管理模块、块设备管理模块、底层数据读写模块和扇区数据缓冲模块。还公开一种基于该程序的方法,包括以下步骤:S1:通过客户端安装程序至安卓设备;S2:启动底层服务;S3:执行读写底层数据;本发明能屏蔽安卓系统的限制,从底层扇区进行数据读写。省去对安卓手机的底层数据进行镜像或备份的步骤,增加了工作速度和效率;通过Socket传输读写的数据,使其更兼容外界的分析平台。针对扇区进行数据读写,读写数据量更大,更精细,更全面。屏蔽不同厂商设备驱动程序的不同,兼容性高。
Description
技术领域
本发明涉及信息安全技术领域,特别涉及一种用于在线读写安卓设备底层数据的程序,还涉及一种基于该程序的方法。
背景技术
目前读写安卓设备底层数据的技术方式有多种,但都存在一些弊端:(1)提取数据慢,用外部存储介质存储读取的数据使其暴露在不安全的状态下,容易泄露个人隐私和商业机密。(2)只能获取正常的数据,获取数据不全面。(3)只能写入覆盖文件级的内容,不能在线向指定扇区写入数据。(5)不同厂商的设备驱动的异构性,导致部分安卓设备不能成功读写。不能屏蔽安卓系统的限制,直接操作底层的数据。
发明内容
本发明针对现有技术的缺陷,提出一种清除正常文件尾部碎片数据的方法,能有效的解决上述现有技术存在的问题。
为了实现上述目的,本发明采用的技术方案是:
一种用于在线读写安卓设备底层数据的程序,包括Socket传输模块、指令解析模块、系统权限管理模块、块设备管理模块、底层数据读写模块和扇区数据缓冲模块;所述系统权限管理模块、块设备管理模块和指令解析模块相互连接;socekt传输模块分别与指令解析模块和扇区数据缓冲模块连接;底层数据读写分别与块设备管理模块和扇区数据缓冲模块连接。
作为优选,所述socket传输模块,用于连接客户端并建立连接通道;
所述指令解析模块,用于解析具体的读写指令;
所述系统权限管理模块,用于获取系统的Root权限;
所述块设备管理模块,用于对块设备进行管理;
所述底层数据读写模块,对指定块设备进行读写扇区操作;
所述扇区数据缓冲模块,对读写的扇区数据进行暂存。
还提供一种用于在线读写安卓设备底层数据的方法,包括以下步骤:
S1:通过客户端安装程序至安卓设备;
S2:启动底层服务;
S3:执行读写底层数据;
所述S2的详细步骤如下:
S201:客户端配置获取指令,并通过socket传输模块发送到服务程序;
S202:指令解析模块对指令进行解析,执行指令得到手机分区名称;
S203:使用系统权限管理模块,获取系统的超级用户权限;
S204:判断权限是否获取到,若获取失败,反馈给客户端“准备失败”的标识,若获取成功,执行S206;
S205:查找块设备,通过命令查找对应块设备文件的挂载点,判断挂在点是链接文件还是真实文件,若是链接文件则找该文件挂载的真实文件;
S206:判断是否找到对应设备文件的挂载点,若未找到,反馈给客户端“准备失败”的标识,若找到,反馈给客户端“准备就绪”的标识。
作为优选,所述S3中写入数据的详细步骤如下:
S301:客户端配置读写指令和读写位置,通过socket传输模块发送到安卓设备服务程序;
S302:通过指令解析模块解析指令,确认读写指令和需读写的扇区号及扇区个数;
S303:启动底层读写模块,使用fopen()函数打开启动底层服务的设备文件;
S304:判断底层读写模块是否启动成功,若成功,则执行指令,若启动失败,则反馈失败标识。
作为优选,所述S304在执行写入指令时,客户端配置需写入的数据,通过socket传输模块将数据输入至扇区数据缓冲模块,通过write()函数将数据从数据缓冲模块写入到指定的扇区中,并反馈给客户端写入成功标识。
作为优选,所述S304在执行读取指令时,通过read()函数读取指定扇区中的数据,将读取到的数据写入至读写数据缓冲模块,通过socket返回给客户端读成功的标识,客户端从读写缓冲区中读取数据。
与现有技术相比本发明的优点在于:屏蔽安卓系统的限制,从底层扇区进行数据读写。省去对安卓手机的底层数据进行镜像或备份的步骤,增加了工作速度和效率;通过Socket传输读写的数据,使其更兼容外界的分析平台。针对扇区进行数据读写,读写数据量更大,更精细,更全面。屏蔽不同厂商设备驱动程序的不同,兼容性高。
附图说明
图1为本发明程序的结构图;
图2为本发明方法的主流程图;
图3为启动底层服务流程图;
图4一次写入底层数据的流程图;
图5一次读取底层数据的流程图。
具体实施方式
为了详细说明本发明的具体实施方式,下面结合附图说明:
如图1所示,一种在线读写安卓设备底层数据的程序,包括Socket传输模块、指令解析模块、系统权限管理模块、块设备管理模块、底层数据读写模块和扇区数据缓冲模块;所述系统权限管理模块、块设备管理模块和指令解析模块相互连接;socekt传输模块分别与指令解析模块和扇区数据缓冲模块连接;底层数据读写分别与块设备管理模块和扇区数据缓冲模块连接。
作为优选,所述socket传输模块,用于连接客户端并建立连接通道;
所述指令解析模块,用于解析具体的读写指令;
所述系统权限管理模块,用于获取系统的Root权限;
所述块设备管理模块,用于对块设备进行管理;
所述底层数据读写模块,对指定块设备进行读写扇区操作;
所述扇区数据缓冲模块,对读写的扇区数据进行暂存。
如图2所示,一种用于在线读写安卓设备底层数据的方法,包括以下步骤:
S1:通过客户端安装程序至安卓设备;
S2:启动底层服务;
S3:读写底层数据。
如图3所示,启动底层服务的详细步骤如下:
S201:客户端配置获取指令“catch+手机分区名称”,例如“catch+data”表示需要读写手机data分区;“catch+sdcard”表示需要读写sdcard分区;
通过socket传输模块发送到服务程序。
S202:指令解析模块对指令进行解析,执行指令得到手机分区名称;
S203:使用系统权限管理模块,获取系统的超级用户权限;
S204:判断权限是否获取到,若获取失败,反馈给客户端“准备失败”的标识,若获取成功,执行S206;
S205:查找块设备,通过“cat /proc/mounts”命令查找对应块设备文件的挂载点,判断挂在点是链接文件还是真实文件,若是链接文件则找该文件挂载的真实文件;
S206:判断是否找到对应设备文件的挂载点,若未找到,反馈给客户端“准备失败”的标识,若找到,反馈给客户端“准备就绪”的标识。
如图4所示,一次写入数据的具体步骤如下:
S301:客户端配置写入指令和写入位置,该指令为“Write startSector=%ld sectorNum=%ld”,通过socket传输模块发送到安卓设备服务程序;
S302:通过指令解析模块解析指令,确认写入指令和需读写的扇区号及扇区个数;例如,指令为“Write startSector=199 sectorNum=10”表示需要向从199号扇区开始的10个扇区写入数据;
S303:启动底层读写模块,使用fopen()函数打开启动底层服务的设备文件;
S304:判断底层读写模块是否启动成功,若成功,则执行S305,若启动失败,则反馈失败标识;
S305:客户端配置需写入的数据,通过socket传输模块将数据输入至扇区数据缓冲模块;
S306:通过write()函数将数据从数据缓冲模块写入到指定的扇区中,并反馈给客户端写入成功标识。
如图5所示,一次读取数据的具体步骤如下:
S401:客户端配置读取指令和读取位置,该指令为“Read startSector=%ld sectorNum=%ld”,通过socket传输模块发送到安卓设备服务程序;
S402:通过指令解析模块解析指令,确认写入指令和需读写的扇区号及扇区个数;例如,指令为“Read startSector=199 sectorNum=10”表示需要向从199号扇区开始的10个扇区写入数据;
S403:启动底层读写模块,使用fopen()函数打开启动底层服务的设备文件;
S404:判断底层读写模块是否启动成功,若成功,则执行S405,若启动失败,则反馈读失败标识;
S405:通过read()函数读取指定扇区中的数据;
S406:将读取到的数据写入到读写缓冲区;
S407:通过socket返回给客户端读成功的标识,客户端从读写缓冲区中读取数据。
Claims (6)
1.一种用于在线读写安卓设备底层数据的程序,其特征在于:包括Socket传输模块、指令解析模块、系统权限管理模块、块设备管理模块、底层数据读写模块和扇区数据缓冲模块;所述系统权限管理模块、块设备管理模块和指令解析模块相互连接;socekt传输模块分别与指令解析模块和扇区数据缓冲模块连接;底层数据读写分别与块设备管理模块和扇区数据缓冲模块连接。
2.根据权利要求1的一种用于在线读写安卓设备底层数据的程序,其特征在于:所述socket传输模块,用于连接客户端并建立连接通道;
所述指令解析模块,用于解析具体的读写指令;
所述系统权限管理模块,用于获取系统的Root权限;
所述块设备管理模块,用于对块设备进行管理;
所述底层数据读写模块,对指定块设备进行读写扇区操作;
所述扇区数据缓冲模块,对读写的扇区数据进行暂存。
3.一种用于在线读写安卓设备底层数据的方法,其特征在于包括以下步骤:S1:通过客户端安装程序至安卓设备;
S2:启动底层服务;
S3:执行读写底层数据;
所述S2的详细步骤如下:
S201:客户端配置获取指令,并通过socket传输模块发送到服务程序;
S202:指令解析模块对指令进行解析,执行指令得到手机分区名称;
S203:使用系统权限管理模块,获取系统的超级用户权限;
S204:判断权限是否获取到,若获取失败,反馈给客户端“准备失败”的标识,若获取成功,执行S206;
S205:查找块设备,通过命令查找对应块设备文件的挂载点,判断挂在点是链接文件还是真实文件,若是链接文件则找该文件挂载的真实文件;
S206:判断是否找到对应设备文件的挂载点,若未找到,反馈给客户端“准备失败”的标识,若找到,反馈给客户端“准备就绪”的标识。
4.根据权利要求3的一种用于在线读写安卓设备底层数据的方法,其特征在于所述S3中读写数据的详细步骤如下:
S301:客户端配置读写指令和读写位置,通过socket传输模块发送到安卓设备服务程序;
S302:通过指令解析模块解析指令,确认读写指令和需读写的扇区号及扇区个数;
S303:启动底层读写模块,使用fopen()函数打开启动底层服务的设备文件;
S304:判断底层读写模块是否启动成功,若成功,则执行指令,若启动失败,则反馈失败标识。
5.根据权利要求4的一种用于在线读写安卓设备底层数据的方法,其特征在于:所述S304在执行写入指令时,客户端配置需写入的数据,通过socket传输模块将数据输入至扇区数据缓冲模块,通过write()函数将数据从数据缓冲模块写入到指定的扇区中,并反馈给客户端写入成功标识。
6.根据权利要求4的一种用于在线读写安卓设备底层数据的方法,其特征在于:所述S304在执行读取指令时,通过read()函数读取指定扇区中的数据,将读取到的数据写入至读写数据缓冲模块,通过socket返回给客户端读成功的标识,客户端从读写缓冲区中读取数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510143925.6A CN104699512A (zh) | 2015-03-31 | 2015-03-31 | 一种用于在线读写安卓设备底层数据的程序及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510143925.6A CN104699512A (zh) | 2015-03-31 | 2015-03-31 | 一种用于在线读写安卓设备底层数据的程序及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104699512A true CN104699512A (zh) | 2015-06-10 |
Family
ID=53346678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510143925.6A Pending CN104699512A (zh) | 2015-03-31 | 2015-03-31 | 一种用于在线读写安卓设备底层数据的程序及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104699512A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101247319A (zh) * | 2007-02-16 | 2008-08-20 | 华为技术有限公司 | 处理异步消息队列的方法、系统和异步socket |
US20100231352A1 (en) * | 2009-03-16 | 2010-09-16 | Apple Inc. | Accessory identification for mobile computing devices |
CN101957927A (zh) * | 2010-11-12 | 2011-01-26 | 福州联迅信息科技有限公司 | 一种物联网中间件架构和基于soa架构的物联网中间件 |
CN102629205A (zh) * | 2012-03-16 | 2012-08-08 | 广州中大微电子有限公司 | 一种用于与rfid阅读器通信的接口系统 |
CN103019746A (zh) * | 2013-01-06 | 2013-04-03 | 深圳创维-Rgb电子有限公司 | 基于Android平台的软件交互控制方法及系统 |
CN103728961A (zh) * | 2014-01-16 | 2014-04-16 | 福建龙净环保股份有限公司 | 数据采集方法、中转设备及电袋复合除尘器监控系统 |
-
2015
- 2015-03-31 CN CN201510143925.6A patent/CN104699512A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101247319A (zh) * | 2007-02-16 | 2008-08-20 | 华为技术有限公司 | 处理异步消息队列的方法、系统和异步socket |
US20100231352A1 (en) * | 2009-03-16 | 2010-09-16 | Apple Inc. | Accessory identification for mobile computing devices |
CN101957927A (zh) * | 2010-11-12 | 2011-01-26 | 福州联迅信息科技有限公司 | 一种物联网中间件架构和基于soa架构的物联网中间件 |
CN102629205A (zh) * | 2012-03-16 | 2012-08-08 | 广州中大微电子有限公司 | 一种用于与rfid阅读器通信的接口系统 |
CN103019746A (zh) * | 2013-01-06 | 2013-04-03 | 深圳创维-Rgb电子有限公司 | 基于Android平台的软件交互控制方法及系统 |
CN103728961A (zh) * | 2014-01-16 | 2014-04-16 | 福建龙净环保股份有限公司 | 数据采集方法、中转设备及电袋复合除尘器监控系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102346740B (zh) | 一种文件同步方法、电子设备和同步系统 | |
US20130311712A1 (en) | Control apparatus, storage device, and storage control method | |
CN104808951A (zh) | 进行存储控制的方法和设备 | |
US20180357142A1 (en) | Reporting defects in a flash memory back-up system | |
US20110099212A1 (en) | Synchronizing Changes in a File System Which Are Initiated by a Storage Device and a Host Device | |
EP3444722B1 (en) | Installation of operating system | |
US20140337301A1 (en) | Big data extraction system and method | |
US10042570B2 (en) | Tape backup and restore in a disk storage environment with intelligent data placement | |
CN102207905A (zh) | 系统恢复方法、存储媒体控制器及存储系统 | |
CN102902630A (zh) | 一种访问本地文件的方法和装置 | |
US9588884B2 (en) | Systems and methods for in-place reorganization of device storage | |
US9170945B2 (en) | Communication management apparatus, communication management method, and computer program product | |
CN104517067A (zh) | 访问数据的方法、装置及系统 | |
CN111158954A (zh) | 一种云主机快照方法、系统、设备及计算机可读存储介质 | |
US8886597B2 (en) | Synchronizing changes in a file system which are initiated by a storage device and a host device | |
CN110989927B (zh) | 具备有可自我存取档案数据能力的数据储存装置 | |
CN105161138A (zh) | 希捷硬盘固件管理器错误导致无法访问数据区的修复方法 | |
KR102277731B1 (ko) | 스토리지 시스템의 구동 방법 및 스토리지 컨트롤러 | |
CN104699512A (zh) | 一种用于在线读写安卓设备底层数据的程序及方法 | |
CN109976811B (zh) | 一种可移动存储设备自动挂载方法及机车视频监视系统 | |
US20170206008A1 (en) | Method and apparatus for scheduling block device input/output requests | |
US8010761B2 (en) | Storage system and copy method | |
US9606929B2 (en) | Simulated NVRAM | |
US9104518B2 (en) | Wireless communication terminal and method for securely running industry software | |
CN102111446B (zh) | 设备连接处理方法、组合设备和主机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150610 |
|
WD01 | Invention patent application deemed withdrawn after publication |