最近很多人留言问能不能获取取里面的通讯录,聊天记录等等,我们依次尝试的如下几个方案:总体来说已经实现
1.通过群控,将好友截图发送到服务端(python),利用python的图像识别库来获取好友的信息 。
2.开发一个app,使用android自带AccessibilityService,模拟用户操作,然后获取屏幕中的内容 。
3.破解的本地数据库 。
文章插图
我们是怎么知道把用户以及聊天的信息存到了本地数据库呢?
当我们打开手机的飞行模式的时候,打开,依旧可以看到里面的通讯录以及聊天记录 。那么就说明肯定是将你能看到的所有信息都保存在了本地数据库里面,只是他将本地数据库加了密 。既然存在了本地,我们就有办法把它取出来 。
本地数据库的密码是什么呢?
请具体参考大神的文章,他通过反编译获取到的加密规则,特别厉害!
上述文章讲解主要是静态破解数据库,我们就基于他的静态破解方法,介绍下如何在代码中动态破解 。不想看的同学们,我就直接介绍下本地数据库的加密规则了:
.获取手机IMEI码
2.获取当前登录账号的uin(存储在sp里面)
3.拼接IMEI和uin
4.将拼接完的字符串进行md5加密
5.截取加完密的字符串的前七位(字母必须为小写)
那七位字符串就是数据库的密码了 。因为已经有数亿的用户了,并且本地数据库又是存在用户的手机上,所以肯定不会轻易的对数据库进行大规模修改,所以密码的加密规则也是不可能变的,大家就放心用吧!
适用范围:已经获取root权限的手机
如果你的手机没有root,那下面的代码对你手机都是无效的哦~
下面正式进入主创载网网题
一、大致浏览下的目录
1.连接上你的手机,打开开发者模式
2.打开Android Device Monitor
文章插图
3.进入到File Explorer子页,查看目录 /data/data/com.tencent.mm
文章插图
如果你发现文件夹打不开,或者发现点击/data目录里面没有内容,可能是因为没有权限,请在Command中依次执行如下命令:
文章插图
大概的介绍下的目录结构,本地数据库都在MicroMsg文件夹里面,SharedPerferences文件都在shared_prefs文件夹里面 。之前说的获取数据库密码时候需要的uin就是存在的SharedPreferences里面,对应的是 /data/data/com.tencent.mm/shared_prefs文件夹 。
文章插图
的本地数据库存放在 /data/data/com.tencent.mm/MicroMsg里面的一长串字符串的目录里面
文章插图
注意:如果你登录过多个账号就会出现多个此类的文件夹,所以我们在之后的代码中会通过循环来查找当前登录用户对应的数据库文件
二、授予当前app管理员权限以及修改目录的读写权限
最好在app一启动就执行下面的代码,并且在每次获取数据库内容的时候也要再次执行,避免出现无权限读取相关文件的异常
public static final String WX_ROOT_PATH = "/data/data/com.tencent.mm/";
execRootCmd("chmod 777 -R " WX_ROOT_PATH);
/**
* 执行linux指令
*
* @param paramString
*/
public void execRootCmd(String paramString) {
try {
Process localProcess = Runtime.getRuntime().exec("su");
Object localObject = localProcess.getOutputStream();
以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!
「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助:- 有一种强加的爱叫伤害 强加给对方的爱,其实是一种伤害
- 巨蟹座女生不喜欢对方的表现? 巨蟹座女生不回信息
- 玩微信多还是qq多 现在qq和微信哪个用的多
- 微信免手续费的这个方法你可能还没用过
- 微信隐藏福利!免手续费,还能领视频会员
- Get新技能,手把手教你微信免手续费
- 2020微信怎么免手续费 2020微信怎样才不收费
- 微信1万手续费多少 怎么免费转到银行卡
- 微信怎么免手续费?玩了9年微信才发现,还有这个新功能!
- 没有关注订阅号为何总推送消息 微信订阅号消息怎么关闭