導航:首頁 > 文檔加密 > 安卓資料庫db加密

安卓資料庫db加密

發布時間:2022-10-03 16:47:16

㈠ 安卓資料庫日誌*.db-journal如何打開,用winhex打開文件頭全是0,從0x200采有數據

這是資料庫數據存放文件。每種軟體都有它自己的存放格式,就是數據的排列方式。後綴名均為DB。
很多軟體都可以打開啊。delphi 、VB、VC等等編程類軟體都可以打開的。但顯示的數據方式不一定一樣。
有些專用軟體DB數據是加密不公開的,普通方式還無法打開。
你是不是想看看QQ目錄中的QQglobal.db文件里有什麼?那裡面沒啥東西的
跟他的聊天室、搜索、簡訊等功能有相關。所以是加密的。又沒什麼特別文件
普通的編程工具無法讀取的。使用winhex和UE等可基本判斷內容。
另外提醒好奇心別太強,亂動資料庫文件會使你已經正常使用軟體可能發生故障

㈡ 加密/解密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的刪除並不會從文件中徹底刪掉,而是抹掉索引,所以可以通過掃描原始文件恢復。前提是沒有重裝過微信。。。

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

㈣ 如何打開加密過的*db資料庫文件(知道密碼)

方法和詳細的操作步驟如下:

1、第一步,打開程序後,可以在程序左側看到「資料庫列表」,展開以查看打開的所有資料庫,見下圖,轉到下面的步驟。

㈤ .db 格式文件如何在電腦上打開.安卓手機用了安卓優化大師簡訊備份,生成了這個文件。。。

這是資料庫數據存放文件。每種軟體都有它自己的存放格式,就是數據的排列方式。後綴名均為DB。
很多軟體都可以打開啊。delphi
、VB、VC等等編程類軟體都可以打開的。但顯示的數據方式不一定一樣。有些專用軟體DB數據是加密不公開的,普通方式還無法打開。普通的編程工具無法讀取的。使用winhex和UE等可基本判斷內容。
另外提醒好奇心別太強,亂動資料庫文件會使你已經正常使用軟體可能發生故障

㈥ .db 格式文件如何在電腦上打開.安卓手機用了安卓優化大師簡訊備份,生成了這個文件。。。

這是資料庫數據存放文件。每種軟體都有它自己的存放格式,就是數據的排列方式。後綴名均為db。
很多軟體都可以打開啊。delphi
、vb、vc等等編程類軟體都可以打開的。但顯示的數據方式不一定一樣。有些專用軟體db數據是加密不公開的,普通方式還無法打開。普通的編程工具無法讀取的。使用winhex和ue等可基本判斷內容。
另外提醒好奇心別太強,亂動資料庫文件會使你已經正常使用軟體可能發生故障

㈦ android 資料庫加密方式有哪些

對稱加密,非對稱加密

㈧ .db資料庫如何解密

用sql2000之類的應該能打開吧。但是需要密碼。目前應該沒破解工具。 http://www.54cw.net 參考資料: http://54cw.net


使用UltraEdit等二進制編輯工具打開資料庫文件,通過查找「DBA」(二進制使用「44 42 41」),定位到底一個位置,注意觀察這個區域,前面一般有「dbo」、「PUBLIC」,後面有「SYS」。這個區域就是ASA保存用戶口令的數據段。把「SYS」之前四個空字元「00 00 00 00」之前到「44 42 21」之間的所有二進制數據,改為如下二進制數(代表SQL):

24 36 3BDF 7D B5 77 B2

82 45 67 6D C2 DB D6 E7 F2 64 28 C3 55 22 97 F5

6C F5 8C 0F 8C C5 71 BA 15 C9 5E BC 43 01 59 01

59 01 59 01 4E 01 4E 01 4E 17 00 00

改好後,保存資料庫,DBA密碼就是「SQL」了。當然還可以先建立一個測試資料庫TEST,輸好自已 DBA密碼後,按以上方法查找到密碼區,把密碼值寫入到要更改的資料庫文相關區,即可隨意更改成自已想要的密碼了.以上方法 ASA5,ASA7通過

㈨ android sqlite資料庫怎麼加密

按我的理解,你可以做一個加密解密的函數,數據存進資料庫之前都加密一下,取出來的時候再解密,這樣就算別人看到了資料庫里的數據,也完全不知道是什麼意思 查看原帖>>

㈩ 資料庫加密怎麼做

資料庫加密作為近年來興起的資料庫安防技術,已經被越來越多的人所重視。這種基於存儲層加密的防護方式,不僅可以有效解決資料庫明文存儲引起的泄密風險,也可以防止來自內部或者外部的入侵及越權訪問行為,因此很多人都會請專業的公司幫助,就像我們單位用的就是安策資料庫加密再不明白自己去網路下。

閱讀全文

與安卓資料庫db加密相關的資料

熱點內容
非科班程序員自學 瀏覽:799
壓縮泡沫鞋底底材 瀏覽:217
程序員職場第一課2正確的溝通 瀏覽:677
遇到不合法app應該怎麼辦 瀏覽:90
匯編程序編譯後的文件 瀏覽:77
大智慧均線源碼 瀏覽:371
單片機排阻的作用 瀏覽:213
滴滴金融app被下架如何還款 瀏覽:210
jpg轉換成pdf免費軟體 瀏覽:741
范里安pdf 瀏覽:443
偽造pdf 瀏覽:75
能刪除android文件夾嗎 瀏覽:446
LINUX使用V2ray 瀏覽:797
找人幫忙注冊app推廣是什麼 瀏覽:820
獨立伺服器如何恢復初始化 瀏覽:11
優秀到不能被忽視pdf 瀏覽:316
導遊程序員家政 瀏覽:586
22乘28的快速演算法 瀏覽:338
軟通動力程序員節2021 瀏覽:847
安卓系統如何卸載安裝包 瀏覽:871