❶ 如何獲取安卓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郵箱等多種功能,並可與多種通訊終端相連。