CN107563216A - 一种安卓***qq聊天记录解密方法 - Google Patents
一种安卓***qq聊天记录解密方法 Download PDFInfo
- Publication number
- CN107563216A CN107563216A CN201610522155.0A CN201610522155A CN107563216A CN 107563216 A CN107563216 A CN 107563216A CN 201610522155 A CN201610522155 A CN 201610522155A CN 107563216 A CN107563216 A CN 107563216A
- Authority
- CN
- China
- Prior art keywords
- data
- character
- label
- key
- xml
- 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
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种安卓***QQ聊天记录解密方法,其步骤为:S1:找到手机内存放解密密钥的文件;S2:获取QQ聊天数据解密密钥;S3:遍历字段读取类型为TEXT或者BLOB的数据;S4:通过解密密钥对数据库中的数据进行解密;S5:通过AES解密;本发明的有益效果如下:通过QQ数据库快速找到解密密钥,对安卓聊天记录进行解密,可完整恢复加密数据,帮助警方破案。
Description
技术领域
本发明涉及信息安全技术领域,特别涉及一种安卓***QQ聊天记录解密方法。
背景技术
信息数据化时代通讯APP是常用的社交工具,这些社交工具在长期的使用中存储着大量的用户信息,是数据取证的重点提取的数据;但由于其隐私安全的考虑,通常社交工具的数据都进行了加密存储,这给数据丢失取证造成了不小的麻烦。其中在大量的社交工具中,QQ用户量超群,且安卓QQ聊天记录数据库为加密存放。而目前还没有一种技术可以对QQ加密数据进行解密。
发明内容
本发明针对现有技术的缺陷,提供了一种安卓***QQ聊天记录解密方法,能有效的解决上述现有技术存在的问题。
一种安卓***QQ聊天记录解密方法,包括以下步骤:
S1:找安卓手机用户数据分区的“data”目录中的QQ数据目录;在QQ数据目录中找“shared_prefs”目录中的“appcenter_mobileinfo.xml”文件和“contact_bind_info“QQ号”.xml”文件;若未找到这两个文件则查找“DENGTA_META.xml”文件,执行S25;
S2:获取QQ聊天数据解密密钥;其详细步骤如下:
S21:通过XML解析库打开“contact_bind_info“QQ号”.xml”文件;
S22:查找该文件内是否存在标签<string name="contact_bind_info_imei">,若存在标签则读取该标签的值,执行S24;若不存在则查找是否存在<string name="contact_bind_info_unique">标签,执行S23;
S23:若存在<string name="contact_bind_info_unique">标签,则读取该标签的值,执行S24;若不存在则执行S25;
S24:判断标签的值中是否存在字符“|”,若不存在则执行S25;若存在则执行S26
S25:获取“DENGTA_META.xml”文件中<string name="IMEI_DENGTA">标签的值作为密钥,结束;
S26:判断“|”字符的左右两边是否存在“null”字符;若不存在“null”字符或“|”字符左边存在“null”字符,则取“appcenter_mobileinfo.xml”文件中<string name="imei">标签的值为密钥;若“|”字符右边存在“null”字符,则取“appcenter_mobileinfo.xml”文件中<string name="wifi_mac_address">标签的值为密钥。
S3:递归遍历QQ数据库中所有数据表的所有字段,若数据类型为TEXT或者BLOB则读取数据;
S4:通过解密密钥对数据库中的数据进行解密,解密算法为异或;
若数据类型为TEXT根据UTF-8字符的编码标识对编码字符数据进行异或操作,每个密钥字节对应一个UTF-8字符,到达密钥的最后一个字节后,又重密钥的第一个字节开始循环,异或完成后得到解密后的UTF-8编码字符串;
若数据类型为BLOB,则每一个密钥字符顺序对其加密数据进行异或,到达密钥的最后一个字节后,又重密钥的第一个字节开始循环,异或完成后得到解密后的字节数据。
S5:每个字段的数据解密完成后通过SQLite库数据写入接口对其进行回写完成数据库解密。
与现有技术相比本发明的优点在于:通过QQ数据库快速找到解密密钥,对安卓QQ聊天记录进行解密,可完整恢复加密数据,帮助警方破案,减少受害人损失。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下举实施例,对本发明做进一步详细说明。
一种安卓***QQ聊天记录解密方法,包括以下步骤:
S1:安卓QQAPP聊天记录数据库存放在安卓手机用户数据分区中的“\data\com.tencent.mobileqq\”路径中,若安卓手机用户数据分区的“data”目录中存在“com.tencent.mobileqq”目录,则说明该安卓手机中可能存在QQ聊天记录数据,否则该安卓手机中不存在QQ聊天记录数据。
另外安卓国际版QQ的目录为“com.tencent.mobileqqi”、安卓轻聊版QQ的目录为“com.tencent.qqlite”、安卓企业版QQ的目录为“com.tencent.eim”,不同的安卓QQ版本应判断不同的数据目录。
获取QQ聊天记录数据解密密钥主要用到QQ数据目录的“shared_prefs”目录中的“appcenter_mobileinfo.xml”文件和“contact_bind_info“QQ号”.xml”文件,其中“contact_bind_info“QQ号”.xml”文件有多个,在手机中登录过的每一个QQ号基本上会有对应的一个“contact_bind_info“QQ号”.xml”文件。若未找到这两个文件则查找“DENGTA_META.xml”文件。
S2:获取QQ聊天数据解密密钥;其详细步骤如下:
S21:通过XML解析库打开任意一个“contact_bind_info“QQ号”.xml”文件;
S22:查找该文件内是否存在标签<string name="contact_bind_info_imei">,若存在标签则读取该标签的值,执行S24;若不存在则查找是否存在<string name="contact_bind_info_unique">标签,执行S23;
S23:若存在<string name="contact_bind_info_unique">标签,则读取该标签的值,执行S24;若不存在则执行S25;
S24:判断标签的值中是否存在字符“|”,若不存在则执行S25;若存在则执行S26
S25:获取“DENGTA_META.xml”文件中<string name="IMEI_DENGTA">标签的值作为密钥,结束;
S26:判断“|”字符的左右两边是否存在“null”字符;若不存在“null”字符或“|”字符左边存在“null”字符,则取“appcenter_mobileinfo.xml”文件中<string name="imei">标签的值为密钥;若“|”字符右边存在“null”字符,则取“appcenter_mobileinfo.xml”文件中<string name="wifi_mac_address">标签的值为密钥。
S3:QQ数据库结构并未加密,而是存入数据库中的TEXT类型数据和BLOB数据被加密。递归遍历QQ数据库中所有数据表的所有字段,若数据类型为TEXT或者BLOB则读取数据。
S4:通过解密密钥对数据库中的数据进行解密,解密算法为异或。
若数据类型为TEXT根据UTF-8字符的编码标识对编码字符数据进行异或操作,每个密钥字节对应一个UTF-8字符(例如:3个字节的UTF-8字符对其第二个字节低1位和密钥字节高1位进行异或,对其第三个字节低7位和密钥字节第7位进行异或,第一个字节不做异或;2个字节的UTF-8字符对其第一个字节低1位和密钥字节高1位进行异或,对其第二个字节低7位和密钥字节第7位进行异或;1个字节的UTF-8字符对其8位直接进行异或),到达密钥的最后一个字节后,又重密钥的第一个字节开始循环,异或完成后得到解密后的UTF-8编码字符串;
若数据类型为BLOB,则每一个密钥字符顺序对其加密数据进行异或,到达密钥的最后一个字节后,又重密钥的第一个字节开始循环,异或完成后得到解密后的字节数据。
S5:每个字段的数据解密完成后通过SQLite库数据写入接口对其进行回写完成数据库解密。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的实施方法,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
Claims (1)
1.一种安卓***QQ聊天记录解密方法,其特征在于包括以下步骤:
S1:找安卓手机用户数据分区的“data”目录中的QQ数据目录;在QQ数据目录中找“shared_prefs”目录中的“appcenter_mobileinfo.xml”文件和“contact_bind_info“QQ号”.xml”文件;若未找到这两个文件则查找“DENGTA_META.xml”文件,执行S25;
S2:获取QQ聊天数据解密密钥;其详细步骤如下:
S21:通过XML解析库打开“contact_bind_info“QQ号”.xml”文件;
S22:查找该文件内是否存在标签<string name="contact_bind_info_imei">,若存在标签则读取该标签的值,执行S24;若不存在则查找是否存在<stringname="contact_bind_info_unique">标签,执行S23;
S23:若存在<string name="contact_bind_info_unique">标签,则读取该标签的值,执行S24;若不存在则执行S25;
S24:判断标签的值中是否存在字符“|”,若不存在则执行S25;若存在则执行S26
S25:获取“DENGTA_META.xml”文件中<string name="IMEI_DENGTA">标签的值作为密钥,结束;
S26:判断“|”字符的左右两边是否存在“null”字符;若不存在“null”字符或“|”字符左边存在“null”字符,则取“appcenter_mobileinfo.xml”文件中<string name="imei">标签的值为密钥;若“|”字符右边存在“null”字符,则取“appcenter_mobileinfo.xml”文件中<string name="wifi_mac_address">标签的值为密钥。
S3:递归遍历QQ数据库中所有数据表的所有字段,若数据类型为TEXT或者BLOB则读取数据;
S4:通过解密密钥对数据库中的数据进行解密,解密算法为异或;
若数据类型为TEXT根据UTF-8字符的编码标识对编码字符数据进行异或操作,每个密钥字节对应一个UTF-8字符,到达密钥的最后一个字节后,又重密钥的第一个字节开始循环,异或完成后得到解密后的UTF-8编码字符串;
若数据类型为BLOB,则每一个密钥字符顺序对其加密数据进行异或,到达密钥的最后一个字节后,又重密钥的第一个字节开始循环,异或完成后得到解密后的字节数据。
S5:每个字段的数据解密完成后通过SQLite库数据写入接口对其进行回写完成数据库解密。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610522155.0A CN107563216A (zh) | 2016-07-01 | 2016-07-01 | 一种安卓***qq聊天记录解密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610522155.0A CN107563216A (zh) | 2016-07-01 | 2016-07-01 | 一种安卓***qq聊天记录解密方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107563216A true CN107563216A (zh) | 2018-01-09 |
Family
ID=60970000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610522155.0A Pending CN107563216A (zh) | 2016-07-01 | 2016-07-01 | 一种安卓***qq聊天记录解密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107563216A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111405550A (zh) * | 2020-03-23 | 2020-07-10 | 深圳软牛科技有限公司 | 一种WhatsApp的key文件提取方法及设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104270516A (zh) * | 2014-09-23 | 2015-01-07 | 中兴通讯股份有限公司 | 解密方法和移动终端 |
CN105678174A (zh) * | 2015-12-31 | 2016-06-15 | 四川秘无痕信息安全技术有限责任公司 | 一种基于二进制解密微信加密数据的方法 |
-
2016
- 2016-07-01 CN CN201610522155.0A patent/CN107563216A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104270516A (zh) * | 2014-09-23 | 2015-01-07 | 中兴通讯股份有限公司 | 解密方法和移动终端 |
CN105678174A (zh) * | 2015-12-31 | 2016-06-15 | 四川秘无痕信息安全技术有限责任公司 | 一种基于二进制解密微信加密数据的方法 |
Non-Patent Citations (1)
Title |
---|
ONEZEROS: "QQ聊天记录存储规则及其加密读取", 《HTTPS://BLOG.CSDN.NET/ONEZEROS/ARTICLE/DETAILS/4996381》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111405550A (zh) * | 2020-03-23 | 2020-07-10 | 深圳软牛科技有限公司 | 一种WhatsApp的key文件提取方法及设备 |
CN111405550B (zh) * | 2020-03-23 | 2023-08-08 | 深圳软牛科技有限公司 | 一种WhatsApp的key文件提取方法及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103780622B (zh) | 一种面向云存储的数据分类加密方法 | |
US9158933B2 (en) | Protection of encryption keys in a database | |
CN106874401B (zh) | 一种面向数据库加密字段模糊检索的密文索引方法 | |
US8135948B2 (en) | Method and system for transparently encrypting sensitive information | |
US8332655B2 (en) | Method for order invariant correlated encrypting of data and SQL queries for maintaining data privacy and securely resolving customer defects | |
CN101634992B (zh) | Ntfs文件***下轻量级文件加密及其解密恢复方法 | |
CN103106372A (zh) | 用于Android***的轻量级隐私数据加密方法及*** | |
RU2017131424A (ru) | Защита данных с переводом | |
WO2017036547A1 (en) | Method for providing encrypted data in a database and method for searching on encrypted data | |
KR20140053898A (ko) | 암호화된 데이터의 관리를 위한 시스템 및 방법 | |
US20210357516A1 (en) | Method for duplexing database | |
CN105138585B (zh) | 数据库加密字段部分匹配查询方法及*** | |
JP5392439B2 (ja) | 暗号化検索データベース装置、暗号化検索用データの追加削除方法および追加削除プログラム | |
CN108595971A (zh) | 一种数据库自适应加密方法 | |
CN113569269A (zh) | 一种代码混淆的加密方法、装置、设备及可读介质 | |
CN106934299A (zh) | 一种数据库加密***和方法 | |
CN104679816A (zh) | 一种嵌入式***下的sqlite数据库应用方法 | |
CN107563215A (zh) | 一种安卓***微信聊天记录解密方法 | |
CN103530581A (zh) | 硬盘加密方法和操作*** | |
CN106778292A (zh) | 一种Word加密文档的快速还原方法 | |
CN102135944A (zh) | 一种在移动通讯设备中安全存储数据的方法 | |
CN107563216A (zh) | 一种安卓***qq聊天记录解密方法 | |
CN103186746A (zh) | 一种可执行文件的保护方法及*** | |
CN114756887A (zh) | 一种敏感信息块在文件中的加密存储方法及装置 | |
CN111934987A (zh) | 一种针对手机企业微信的数据提取方法,***以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 641000 Sichuan province Neijiang City Songshan Road No. 183 Applicant after: Sichuan Miwu Traceless Science and Technology Co., Ltd. Address before: 641000 Sichuan province Neijiang City Songshan Road No. 183 Applicant before: SICHUAN MWH INFORMATION SAFETY TECHNOLOGY CO., LTD. |
|
CB02 | Change of applicant information | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180109 |
|
WD01 | Invention patent application deemed withdrawn after publication |