當前位置:首頁 » 數據倉庫 » 利用手機加密資料庫
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

利用手機加密資料庫

發布時間: 2023-03-04 20:30:15

1. 加密/解密Android現有的資料庫使用sqlCipher問題,怎麼解決

針對sqlite資料庫文件,進行加密。現有兩種方案如下:

1.對資料庫中的數據進行加密。
2.對資料庫文件進行加密

1.uin怎麼獲取?

這個uin不是登錄的帳號,而是屬於內部的、程序界面上不可見的一個編號。

至於查看,最簡單的方法就是登錄web微信後,按F12打開網頁調試工具,然後ctrl+F搜索「uin」,可以找到一串長長的URL,裡面的uin就是當前登錄的微信的uin。


有一種方法就是配置文件里,導出的微信目錄下有幾個cfg文件,這幾個文件里有保存,不過是java的hashmap,怎麼解析留給小夥伴們自己琢磨吧,

還有就是有朋友反應退出微信(後台運行不叫退出)或者注銷微信後會清空這些配置信息,所以小夥伴們導出的時候記得在微信登陸狀態下導出。博主自己鼓搗了一
個小程序來完成解析。

2.一個手機多個登錄帳號怎麼辦(沒有uin怎麼辦)


據博主那個解密的帖子,必須知道串號和uin。串號好說,配置中一般都有可以搞到,uin從配置中讀取出來的時候只有當前登錄的或者最後登錄的,其他的幾
個記錄都沒辦法解密。網上某軟體的解決方法是讓用戶一個一個登錄後再導出。這個解決方法在某些情況下是不可能的,或者有時候根本不知道uin。

後來經過一個朋友的指點,博主終於發現了解決方法,可以從配置中秒讀出來這個uin,這個方法暫時不透漏了,只是說明下這個異常情況。

3.串號和uin怎麼都正確的怎麼還是沒辦法解密


說說串號這個玩意,幾個熱心的朋友反饋了這個問題,經過博主測試發現不同的手機使用的不一定是IMEI,也可能是IMSI等等,而且串號也不一定是標準的

15位,可能是各種奇葩,比如輸入*#06#出來的是一個,但是在微信程序里用的卻是另一個非常奇葩的東西,這種情況多在雙卡雙待和山寨機中出現,經過嚴
格的測試,現在已經能做到精確識別,那幾位熱心的朋友也贈與了不同的代碼表示鼓勵。

4.計算出來了正確的key為什麼無法打開資料庫文件


信這個變態用的不是標準的sqlite資料庫,那個帖子也提到了不是資料庫加密,是文件的內容加密,其實是sqlcipher。官方上竟然還賣到
149$,不過倒是開放了源碼,水平夠高的可以自己嘗試編譯。google還能搜索到sqlcipher for
windows這個很好編譯,不過博主不知是長相問題還是人品問題,編譯出來的無法打開微信的資料庫,後來改了這份代碼才完成。

5.資料庫文件內容是加密的,怎麼還原


個是某些特殊情況下用到的,比如聊天記錄刪除了資料庫中就沒了,但是某個網友測試說資料庫無法查詢出來了,但是在文件中還是有殘留的。這個情況我沒測試
過,不過想想感覺有這個可能,就跟硬碟上刪除了文件其實就是刪除了文件的硬碟索引,內容還是殘留在硬碟上可以還原一樣,sqlite資料庫刪除的條目只是
抹去了索引,內容還存在這個文件中。

網上的都是直接打開讀取,並沒有解密還原這個文件成普通的sqlite資料庫,使用sqlcipher
的導出方法也只是將可查詢的內容導出。後來博主花了時間通讀了內容加密的方式,做了一個小程序將加密的文件內容直接解密,不操作修改任何數據,非資料庫轉
換,直接數據流解密,完全還原出來了原始的未加密的資料庫文件,大小不變,無內容損失,可以直接用sqlite admin等工具直接打開。

6.已經刪除的聊天內容可以恢復么

通過上述第5的方式還原出原數據後,經測試可以恢復。sqlite的刪除並不會從文件中徹底刪掉,而是抹掉索引,所以可以通過掃描原始文件恢復。前提是沒有重裝過微信。。。

兩種加密方式的優缺點,比較如下:

一、對資料庫中的數據進行加密

優點:

1.實現數據加密快速,只需添加兩個方法

一是:對明文數據進行加密返回密文數據

二是:對密文數據進行解密返回明文數據

2.程序無需進行太大變動,僅在對數據進行添加,修改,刪除,查詢時。針對指定的表欄位進行修改進行加密,解密的欄位即可。

不足:

1.由於對數據進行了加密。所以為了看到明文,必須密文進行解密。因此會增加處理器的消耗。因終端手機的處理能力有限,可能會出現處理數據緩慢的現象發生。

2.僅僅對數據進行了加密,還是可以看到數據表的sql語句,可能猜測到表的作用。另外,如果沒有對一個表中的所有欄位加密,則可以看沒有加密的明文數據。

需要做的工作:

1.無需考慮平台差異性,qt,android,ios都能快速的實現。只需在每個平台上,使用各自的語言,實現同樣的加密,解密演算法即可。

2.需要對加密演算法進行了解,選擇一種加密演算法,進行實現。

二、對資料庫文件進行加密

優點:

1.對整個文件進行了加密,用戶通過編輯器看不到任何有用的數據,用戶使用sqlite browser軟體也無法打開文件查看數據,保證了數據安全。

2.進行打開資料庫時,使用程序sqlite3_key(db,」********」,8);即可對文件解密,對數據表的操作無需進行加密,採用明文即可。

不足:

1.需要修改sqlite的源代碼,這個工作難度比較大。

2.需要對修改後的sqlite進行編譯,需要對makefile有所了解,手動編寫makefile文件,對源程序進行編譯。因平台差異性,可能會造成某個平台無法編譯生成動態鏈接庫的可能。

3.需要對數據訪問層代碼進行修改,例如qt平台需要將以前對資料庫操作使用的QSqlQuery類,更改為使用sqlite3.h文件中定義操作,對資料庫操作。其他平台也一樣,都要做這一步的修改。

4.在程序編譯時,要加入使用加密的動態鏈接庫(linux為共享庫.so文件)windows平台最容易,只需將所使用的dll文件到應用程序中即可。其他平台需要實驗,看如何引入庫,如果編譯。

需要做的工作:

1.修改sqlite源代碼,追加對資料庫文件進行加密的功能。

2.編譯含有加密功能的程序源代碼,生成各自平台需要使用的庫文件。

3.將加密sqlite庫文件引入各自平台中,修改資料庫訪問層代碼。

4.進行程序的部署,測試。

三、資料庫加密原理

目前主流的資料庫都採用了各種安全措施,主要包括用戶認證、訪問控制、數據加密存儲和資料庫操作審計等措施。

用戶認證:用戶或者程序向資料庫提供自己的有效身份證明,資料庫鑒別用戶的身份是否合法,只有合法的用戶才能存取數據

庫中的數據。用戶認證是所有安全機制的前提,只有通過認證才能進行授權訪問和審計。

訪問控制:資料庫管理系統為不同的用戶分配不同的許可權,保證用戶只能進行授權的訪問。目前,一些大型資料庫(如Oracle 等)

都採用了基於角色的訪問控制機制,即為用戶授予不同的角色,如db—owner,security administrator 等,不同的角色允許對資料庫執行不同的操作。

資料庫加密:用戶認證以及訪問控制對訪問資料庫進行了控制,但攻擊者可能會利用操作系統或資料庫漏洞,或物理接觸計算機,而直接接觸資料庫系統文件,從而可能繞過身份認證和存取控制而直接竊取或篡改資料庫內容。對資料庫中的數據進行加密是防範這類威脅的有效手段。

資料庫操作審計:監視和記錄用戶對資料庫所做的各種操作的安全機制,它記錄並存儲用戶的操作,用於事後分析,以檢查導致資料庫現狀的原因以及提供追蹤攻擊者的線索。資料庫的備份與恢復:當資料庫發生不可恢復的故障時,可以將資料庫恢復到先前的某個一致性的狀態。

四、SQLite 加密

由於SQLite 是開放源碼的,並且在其源碼中預留了加密介面,我們可以通過實現其預留的加密介面實現口令認證和資料庫加密以完善其加密機制。

1.口令認證

SQLite 資料庫文件是一個普通文本文件,對它的訪問首先依賴於文件的訪問控制。在此基礎上,再增加進一步的口令認證,即在訪問資料庫時必須提供正確的口令,如果通過認證就可以對資料庫執行創建、查詢、修改、插入、刪除和修改等操作;否則,不允許進一步的訪問。

2. 微信本地資料庫怎麼破解,在線等,急!

使用sqlcipher打開EnMicroMsg.db文件
先運行sqlcipher,點擊File 一> OpenDatabase 一> 選擇桌面的那個EnMicroMsg.db文件,這時會出現這樣一個對話框
這里是要求咱們輸入密碼,由於微信本地資料庫是加密的,那麼密碼是什麼呢,規則很簡單
具體以下:
(手機IMEI + 微信uin )取MD5的前7位
手機的IMEI獲取:手機撥號盤輸入:*#06# ,你或者用android代碼獲取能夠,怎麼都行

微信uin的獲取,我是經過網頁版微信,我用的是win10的那個Edge瀏覽器,打開F12開發人員工具,選擇網路,而後隨便操做或者聊天,就能夠看到了
而後網路打開在線md5加密:輸入IMEI+wxuin,進行加密,選擇32位小寫的前七個字元串便可;
而後將這七位字元串輸入到sqlcipher中,就順利的打開了
接下來就能夠愉快的查看錶結構了,還能夠選擇Browse Data查看數據,也能夠選擇Execute SQL執行sql語句了。
到這里就已經完全打開了微信手機本地的資料庫了,

3. 適合手機的加密軟體都有哪些

一、手機加密器

手機加密器
手機加密器,創建管理公鑰與私鑰,並可加密解密文本與各類型文件。這是一款基於OpenPGP的安卓客戶端,基於AGP做了針對性調整,目的是提供更好的用戶體驗和擴展服務。防監聽手機,加密通話,手機語音通話加密器,加密簡訊,加密郵件。
二、圖片加密

圖片加密
圖片加密是一款對指定圖片進行加密的軟體工具,圖片加密只有在輸入正確密碼的時候才可以查看加密的圖片,同時也可以實現圖片的批量加密和圖片的批量解密,從而保護你相片里的秘密,只屬於你一個人可見。圖片加密,保護你的秘密。
三、手機文件加密

手機文件加密
手機文件加密是一個安卓用戶文件安全全能保鏢。時時保護手機上任何文件、數據的安全。
加密操作
1.選中需要加密的文件或者文件夾,可以多選。
2.選中之後請點擊加密按鈕進行加密。
3.加密過程中將自動轉入後台進行加密,無需用戶等待加密過程。
解密操作
1.選中需要解密的文件或者文件夾,可以多選。
2.選中之後請點擊解密按鈕進行解密。
3.解密過程中將自動轉入後台進行解密,無需用戶等待解密過程。
四、手機加密大師

手機加密大師
手機加密大師是針對安卓手機開發的加密類軟體,能對手機中的任何程序進行保護和對手機上的任何文件進行加密,對個人隱私保護有不可替代的作用。只需要簡單的幾步操作,就可以讓秘密屬於自己。
功能介紹
程序保護:可以保護手機上的任何程序,有效防止他人通過程序對數據進行查看,或者惡意破壞用戶數據。
文件加密:可以對手機上的任何文件進行加密,比如私密圖片,密碼,視頻等,讓秘密真正屬於自己。
五、資料夾加密

資料夾加密
資料夾加密是一款可以加密個人信息,信用卡,網址書簽,聯系人,銀行賬戶等重要信息的軟體,還可以復制,備份和還原資料庫,更可以在電腦和手機間同步資料庫。讓你不再擔心重要信息的丟失。
六、隱私保護大師

隱私保護大師
隱私保護大師是針對手機隱私安全開發的專業APP,可實現對手機隱私信息的挖掘、展示和徹底消除,使其無法被恢復竊取,目前主要應用於安卓手機系統。
功能介紹
1、掃描並展示手機中的各類隱患數據,包括手機中已刪除的數據(簡訊/通話/QQ記錄)、敏感詞彙(驗證碼/銀行/自定義關鍵詞)、瀏覽歷史(網路/QQ瀏覽器)、地理定位、WiFi連接記錄等隱患信息。
2、徹底消除手機隱患信息,包括兩種消除方式,一是對手機中的未刪數據可進行選擇性消除,二是對手機中的已刪隱患數據進行一鍵徹底粉碎消除,消除後的數據無法被恢復竊取。
3、可生成隱私報告,包括「最近5天手機APP使用情況統計」,以及根據軟體運行次數、上傳/下載流量判斷出的軟體安全等級,還有手機一天內重要通信情況的報告——「一天行蹤」,以及手機中所有APP隱私許可權的分析報告。
七、隱私管理大師

隱私管理大師
隱私管理大師是一款隱私管理軟體,更簡單那的說就是可以給你的簡訊、通話記錄、圖片、視頻等等一系列的東西加密,即使你的手機給熊孩子玩也不怕他弄壞。
最簡單易用的專業隱私安全管理軟體,可以對手機的:通話、簡訊、圖片、視頻、軟體、文件、記事本等進行安全加密管理,防止他人操作和查看,保護您的隱私。
八、隱私文件保護

隱私文件保護
隱私文件保護,安全維護您的個人隱私,也可以對您的文件進行加密管理,保護您的文件安全。還能根據您的要求定製不同程度的加密程度,方便安全又快捷。

4. 資料庫加密的方式有哪幾種

資料庫加密的方式有多種,不同場景下仍在使用的資料庫加密技術主要有:前置代理加密、應用系統加密、文件系統加密、後置代理加密、表空間加密和磁碟加密等,這些你找安策工程師幫你,都是可以做到的網路裡面也有詳細介紹。

5. 對微信的聊天記錄資料庫文件EnMicroMsg.db.bak的加密方式有哪些

一般都是第三方軟體實現的加密。

使用注意事項:

  1. 第一可能要求手機要有ROOT許可權;

  2. 第二可能在使用第三方軟體的時候導致賬號的丟失;

  3. 不建議進行ROOT,保護自己的隱私及財產的安全。