导航:首页 > 人文历史 > im如何获取历史记录

im如何获取历史记录

发布时间:2023-05-25 16:10:53

❶ 如何获取安卓ios上的im记录,通过metasploit控制安卓

安卓设备已获取root权限,安装SSHDroid(通过ssh、ftp连接手机)
Apple设备越狱,安装OpenSSH插件
0×01 安卓:
很多安卓手机的用户都会遇到这么一个尴尬的问题:手机用久了就不知不觉变得慢了,最后慢到什么都迟钝了。为了解决这个问题和大多数人一样我选择了root设备。
安卓设备在root以后可以对系统文件存在最高级别的操作权限。比如,你在汪山颂安卓设备上安装了微信,那么root以后通过adb shell你能对微信App的文件配置进行读取修改等操作。

Android应用程序的数据库文件通常会保存在
/data/data/packagename/database 文件夹下,微信App文件存放路径为:/data/data/com.tencent.mm/MicroMsg

首先通过FTP把文件down到本地:

以34位编码(类似于乱码)命名的文件夹中可找到微信账号的加密数据库文件 :EnMicroMsg.db

用数据库管理器打开:提示加密或者不是数据库文件

这里可以用Windows环境下的SQLite Database Browser浏览器打开:

提示输入密码:

那么,加密数据库使用的密码是什么呢?我们又该如何获取到这个密码?通过上网查资料了解到:微信采用手机的IMEI值和微信UIN值的组合来对数据进行加密。

微信账号uin:即user information 微信用户信息识别码,获取微信UIN的方式有两种:
1.通过微信app的“system_config_prefs.xml”配置文件获取微信账号uin;
2.通过抓取WEB版微信聊天的数据包获取到uin。唯枣
1.1 App 配置文件
find / -name “system_config_prefs.xml”

/data/data/com.tencent.mm/shared_prefs/system_config_prefs.xml
cat /data/data/com.tencent.mm/shared_prefs/system_config_prefs.xml | grep uin

<int name="default_uin" value="146****21" />

1.2 谷歌chrome浏览器登陆WEB版微信:

登陆后新建窗口并访问chrome://net-internals/#events
发送信息 抓包 find uin值

uin:146****21

通过上述两种方法找到的uin值是相同的。
安卓拨号界面输入*#06#获得手机IMEI码:354**********85
IMEI值+uin值组合即为354**********85146****21

md5: http://www.spriteking.com/cmd5/ 左侧加密

得到32位小写md5值:取其前七位:1cbf8b8输入到sql浏览器中。

linux、Mac用户也可以在困郑终端执行:
echo -n "354**********85146****21" | md5sum | cut -c -7

成功打开微信的数据库文件:

Wechat2txt.py:gist.github.com
import os
import sys
import re
import hashlib
import csv
import time
import locale
import getopt

def get_db():
os.popen('adb root').close()
text = os.popen(
'adb shell ls /data/data/com.tencent.mm/MicroMsg/*/EnMicroMsg.db').read()
return text.splitlines()[- 1] if text else ''

def get_default_uin():
os.popen('adb root').close()
text = os.popen(
'adb shell cat /data/data/com.tencent.mm/shared_prefs/system_config_prefs.xml').read()
default_uin = re.findall(
'name="default_uin" value=http://www.ithao123.cn/"([0-9]+)"', text)
return default_uin[0] if default_uin else 0

def get_device_ID():
text = os.popen('adb shell mpsys iphonesubinfo').read()
device_ID = re.findall('Device ID = ([0-9]+)', text)
return device_ID[0] if device_ID else 0

def get_md5():
default_uin = get_default_uin()
device_ID = get_device_ID()
if default_uin and device_ID:
return hashlib.md5(device_ID + default_uin).hexdigest()[0: 7]
return ''

def parse_msgcsv(msgcsv):
locale.setlocale(locale.LC_ALL, '')
if hasattr(msgcsv, 'title'):
msgcsv = [ooOoo0O + '\n' for ooOoo0O in msgcsv.splitlines()]
pass
OooO0 = csv.reader(msgcsv)
OooO0.next()
for ooOoo0O in OooO0:
try:
II11iiii1Ii, OO0o, Ooo, O0o0Oo, Oo00OOOOO, O0O, O00o0OO, name, iIi1ii1I1, o0, I11II1i, IIIII = ooOoo0O[
: 12]
pass
except:
continue
ooooooO0oo = 'me' if (Oo00OOOOO == '1') else name
IIiiiiiiIi1I1 = time.localtime(int(O00o0OO) / 1000)
I1IIIii = time.strftime("%Y-%m-%d %a %H:%M:%S", IIiiiiiiIi1I1)
yield [name, I1IIIii, ooooooO0oo, iIi1ii1I1, o0]
pass
pass

def get_names(chat):
names = {}
for name, I1IIIii, ooooooO0oo, iIi1ii1I1, o0 in chat:
names[name] = 1
pass
return names.keys()

def oo(chat, name=''):
text = []
name = name.lower()
for name, I1IIIii, ooooooO0oo, iIi1ii1I1, o0 in chat:
iIi1ii1I1 = iIi1ii1I1.replace('\n', '\n ')
o0 = ('\t' + o0) if o0 else ''
if not name:
text.append('%s: %s %s: %s %s' %
(name, I1IIIii, ooooooO0oo, iIi1ii1I1, o0))
pass
elif name.lower() == name:
text.append('%s %s: %s %s' %
(I1IIIii, ooooooO0oo, iIi1ii1I1, o0))
pass
pass
return '\n'.join(text) + '\n'

def IIIii1II1II(dbn, key=''):
child_stdin, child_stdout = os.popen2(['sqlcipher', dbn])
if key:
child_stdin.write('PRAGMA key=%s;\n' % ` key `)
child_stdin.write('pragma cipher_use_hmac=off;\n')
pass
child_stdin.write('.tables\n')
child_stdin.close()
return child_stdout.read().split()

def decrypt(dbn, key='', table='message'):
table = table or 'message'
child_stdin, child_stdout = os.popen2(['sqlcipher', dbn])
child_stdin.write('.header on\n')
child_stdin.write('.mode csv\n')
if key:
child_stdin.write('PRAGMA key=%s;\n' % ` key `)
child_stdin.write('pragma cipher_use_hmac=off;\n')
pass
child_stdin.write('select * from %s;\n' % ` table `)
child_stdin.close()
return child_stdout.read()

def wechat2txt(names=[]):
in_file = 'EnMicroMsg.db'
out_file = 'message.csv'
db = get_db()
md5 = get_md5()
os.popen('adb wait-for-device')
os.popen('adb pull %s %s' % (db, in_file)).close()
msgcsv = decrypt(in_file, md5)
if msgcsv.find('\n') < 0:
return 1
file(out_file, 'w').write(msgcsv)
msgs = list(parse_msgcsv(msgcsv))
if not msgs:
return 1
if not names:
names = get_names(msgs)
pass
for name in names:
filename = 'message.%s.txt' % name
text = oo(msgs, name)
if len(text) > 4:
file(filename, 'w').write(text)
pass
pass
pass

help_msg = '''Usage: wechat2txt.py [OPTIONS] [NAME]...

OPTIONS:
-h display this help and exit
'''

def main():
try:
opts, args = getopt.getopt(sys.argv[1:], 'h')
except getopt.error, e:
print help_msg
return 1
for opt, arg in opts:
if opt == '-h':
print help_msg
return 1
pass
names = args
text = wechat2txt(names)
return not text

if __name__ == "__main__":
sys.exit(main())

0×02 苹果:

Apple设备越狱后可通过Cydia安装各种小插件,通常情况我会安装OpenSSH来使自己能通过终端连接到Apple设备中,并使用sftp传输文件:

iOS中,应用文件夹以hash值命名,要导出微信、QQ的聊天记录其难度相对安卓来说稍微复杂很多。

在实际操作中我们可以通过巧用Linux命令(find、grep、xargs)来绕过这些坑。

find /var/mobile/Containers/Data -name "MM.sqlite"

mkdir /cache
find /var/mobile/Containers/Data -name "MM.sqlite" |xargs -I {} dirname {} | xargs -I {} cp -r {}/../../ /cache

附上出处链接:http://www.07net01.com/program/2016/07/1603637.html

❷ 如何查找聊天记录

这里以微信和QQ为例:对于微信app来说,想要查询聊天记录,只需打开微信app,点击页面上方的搜索图标,输入聊天关键字可以快速搜索和好友的聊天记录。但需要注意的是,若用户将对方从聊天页面删除了,就会连对方的聊天记录也删除了,就无法查询了,对于这一点还是需要了解的。对于QQ用户来说,想要查询聊天记录,在打开QQ后,点击进入到查询聊天记录的好友聊天页面,接着点击页面右上角的图标,打开后就可以看到聊天记录选项了,点击输入密码后就可以查看了。不过需要了解的是,仅能漫游7天的聊天记录,若用户只查看聊天文件的话,可以直接点击聊天记录下方的聊天文件选项,然后就可以查看聊天记录中的各种文件了。资料拓展:QQ是腾讯QQ的简称,是腾讯公司开发的一款基于Internet的即时通信(IM)软件,其标志是一只戴着红色围巾的小企鹅。腾讯QQ支持在线聊天、视频通话、点对点断点续传文件、共享文件、网络硬盘、自定义面板、QQ邮箱等多种功能,并可与多种通讯终端相连。

(2)im如何获取历史记录扩展阅读:
(2)im如何获取历史记录扩展阅读:
延长iPhone手机电池寿命的小技巧:
1.养成充电好习惯
在苹果手机提示低电量的时候及时充电,避免电量过低引起自动关机,如果电池效率低于80%尽量将电池更换。

2.升级到最新版iOS14

苹果在推出的iOS 14中新增了一项名为“优化电池充电”的功能,该功能可以智能的学习和判断用户的使用及充电习惯,使充电过程更加平衡,从而减缓电池的老化,并在一定程度上提升iPhone的续航能力。

查看方法:“优化电池充电”功能可在设置-电池-电池健康中查看~

3.禁止后台应用程序刷新

自iOS 7开始,应用程序可以并且确实在后台运行时使用电池寿命。你可以看到应用程序在后台运行了多少时间。如果某个应用程序在不使用它时耗尽了太多电量,则可以禁用后台应用程序刷新以防止它在后台运行。如果应用程序过度耗电的话,我们也可以选择将其卸载!

4.启用低电量模式

iOS 9新添“低电量模式”(Low Power Mode)功能,可让手机更省电。启用低电量模式后,你的屏幕略微变暗,限制后台进程,使处理器略微变慢,或者在正常使用时降低设备所需的能量。

操作方法:启用此功能最简单方法是从iPhone的右上角向下滑动,然后电池图标即可。或者你可以在设置>电池>低功率模式中启用低功率模式。

5.关闭某些APP推送

要知道,一些推送通知、应用程序通知、电子邮件读取的通知等等,所有这些都会缩短电池寿命,因此要想让iPhone手机电池寿命更长,最好将其关闭。可以在“设置”,对每个应用程序进行编辑,关闭通知。

❸ 聊天记录怎么找回

继续输错密码直至机器锁定(一般输3-6次错误就锁定了),然后关机,断电至少30分钟后,重新开机,自动恢复到原来出厂的密码。或者找到复位键恢复出厂设置也行(通常按住五秒),出厂密码记不住打电话问客服。

❹ 如何查看手机QQ历史记录

手机如何查看qq历史聊天记录,具体查询步骤如下:

1、登陆QQ,找到你要查询的人的QQ头像;

拓展资料:

QQ是腾讯QQ的简称,是腾讯公司开发的一款基于Internet的即时通信(IM)软件。目前QQ已经覆盖Microsoft Windows、OS X、Android、iOS、Windows Phone等多种主流平台。其标志是一只戴着红色围巾的小企鹅。

腾讯QQ支持在线聊天、视频通话、点对点断点续传文件、共享文件、网络硬盘、自定义面板、QQ邮箱等多种功能,并可与多种通讯终端相连。

阅读全文

与im如何获取历史记录相关的资料

热点内容
word中化学式的数字怎么打出来 浏览:702
乙酸乙酯化学式怎么算 浏览:1370
沈阳初中的数学是什么版本的 浏览:1315
华为手机家人共享如何查看地理位置 浏览:1008
一氧化碳还原氧化铝化学方程式怎么配平 浏览:845
数学c什么意思是什么意思是什么 浏览:1367
中考初中地理如何补 浏览:1257
360浏览器历史在哪里下载迅雷下载 浏览:669
数学奥数卡怎么办 浏览:1347
如何回答地理是什么 浏览:987
win7如何删除电脑文件浏览历史 浏览:1020
大学物理实验干什么用的到 浏览:1446
二年级上册数学框框怎么填 浏览:1657
西安瑞禧生物科技有限公司怎么样 浏览:821
武大的分析化学怎么样 浏览:1210
ige电化学发光偏高怎么办 浏览:1299
学而思初中英语和语文怎么样 浏览:1603
下列哪个水飞蓟素化学结构 浏览:1386
化学理学哪些专业好 浏览:1450
数学中的棱的意思是什么 浏览:1015