欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報邀請碼778899分享:SQLite加密解密

柚子快報邀請碼778899分享:SQLite加密解密

http://yzkb.51969.com/

Android 微信備份

微信聊天記錄導(dǎo)出(2020新版) Android數(shù)據(jù)庫加解密逆向分析(三)——微信數(shù)據(jù)庫密碼破解 微備份 論壇討論

解密sqlite db數(shù)據(jù)庫文件

轉(zhuǎn)自windwos 安裝 pysqlcipher3

下載 pysqlcipher

去https://pypi.org/search/?q=pysqlcipher&o=下載pysqlcipher3 1.2.0文件

安裝python

推薦安裝 python3.7 日常使用夠了,不要追求新出來的版本,不太完善。

安裝visual studio

Visual Studio下載地址(本文安裝的是2022版本) 安裝只選擇 使用C++的桌面開發(fā) 的組件就好了(安裝大約 下載3G,安裝占用10G)

安裝openssl

注意需要將OpenSSL的dll安裝到系統(tǒng)目錄,如果只是安裝在OpenSSL的bin目錄的話,使用的時候需要將bin目錄加入系統(tǒng)PATH,或者自行拷貝相關(guān)dll到調(diào)用程序目錄。

這個版本是 1.1.1t,與之前的版本不太一樣,部分文件名稱改了(之后有填坑)

安裝Tcl Windows(64-bit, x64)

編譯時要用到這個東西。 下載地址:Download & Install Tcl | ActiveState

開始編譯

解壓pysqlcipher3-1.2.0.tar.gz文件,進入C:\pysqlcipher3-1.2.0目錄

cd C:\pysqlcipher3-1.2.0

python setup.py build_amalgamation

編譯會有很多坑,填坑內(nèi)容在后邊。

完成編譯

正在創(chuàng)建庫 build\temp.win-amd64-3.7\Release\src\python3\_sqlite3.cp37-win_amd64.lib 和對象 build\temp.win-amd64-3.7\Release\src\python3\_sqlite3.cp37-win_amd64.exp

正在生成代碼

已完成代碼的生成

安裝模塊

python setup.py install

pip list

##############################

# Package Version

# ------------ -------

# pip 23.1.2

# pysqlcipher3 1.2.0

# pysqleet 0.0.0

# setuptools 47.1.0

##############################

解密EnMicroMsg.db聊天數(shù)據(jù)

下載腳本,https://github.com/chg-hou/EnMicroMsg.db-Password-Cracker/,

編譯填坑

報錯 - Fatal error: OpenSSL could not be detected!

C:\Users\Administrator\Desktop\新建文件夾\pysqlcipher3-1.2.0>python setup.py build_amalgamation

running build_amalgamation

Builds a C extension using a sqlcipher amalgamation

Fatal error: OpenSSL could not be detected!

添加環(huán)境遍歷OPENSSL_CONF,值是 “安裝位置\OpenSSL-Win64\bin\openssl.cfg” 分析 setup.py 源碼代碼發(fā)現(xiàn) : 需要有一個OPENSSL_CONF的環(huán)境變量,存放openssl的配置

# Try to locate openssl

openssl_conf = os.environ.get('OPENSSL_CONF')

if not openssl_conf:

error_message = 'Fatal error: OpenSSL could not be detected!'

raise RuntimeError(error_message)

os.environ.get() 是 python 中 os 模塊獲取環(huán)境變量的一個方法,如果有這個鍵,返回對應(yīng)的值,如果沒有,則返回 none

報錯 - amalgamation中沒有sqlite3.h, sqlite3.c

running build_amalgamation

Builds a C extension using a sqlcipher amalgamation

SQL Cipher amalgamation not found. Please download or build the

amalgamation and make sure the following files are present in the

amalgamation folder: sqlite3.h, sqlite3.c

方法一:(新手慎用,有大坑,安裝成功后文件可能加密不生效) 下載pysqlcipher-amalgamation, 選Source Code,里面有sqlite3.h, sqlite3.c文件 SQLite Download Page 方法二: 下載 sqlcipher,編譯文件

git clone https://github.com/sqlcipher/sqlcipher.git``

nmake /f Makefile.msc`

nmake需要在 x64 Native Tools Command Prompt for VS 2022的終端下使用(開始菜單搜索)

編譯會報錯,只要生成sqlite3.h, sqlite3.c文件即可 想完整編譯需要修改Makefile.msc再構(gòu)建,https://youtu.be/SFHGeetZ0po 完整編譯視頻

報錯 - 沒有sqlcipher/sqlite3.h

C:\Users\Administrator\Desktop\新建文件夾\pysqlcipher3-1.2.0\src\python3\connection.h(33): fatal error C1083: 無法打開包括文件: “sqlcipher/sqlite3.h”: No such file or directory

在amalgamation文件夾中創(chuàng)建sqlcipher文件夾,將sqlite3.h復(fù)制一份到sqlcipher文件夾

報錯 - LNK1181: 無法打開輸入文件“l(fā)ibeay32.lib”

LINK : fatal error LNK1181: 無法打開輸入文件“l(fā)ibeay32.lib”

error: command 'D:\\software\\Microsoft Visual Studio\\Community2022\\VC\\Tools\\MSVC\\14.36.32532\\bin\\HostX86\\x64\\link.exe' failed with exit status 1181

從 1.1.0 版本開始,OpenSSL 將它們的庫名稱從: libeay32.dll -> libcrypto.dll ssleay32.dll -> libssl.dll版本問題,改名了

方法1:

# 完整處理方法

- 復(fù)制 libcrypto.def 為 libeay32.def

- 復(fù)制 libcrypto.lib 為 libeay32.lib

- 復(fù)制 libssl.def 為 ssleay32.def

- 復(fù)制 libssl.lib 為 ssleay32.lib

# 偷懶復(fù)制一個就夠了,這里就用了libeay32.lib

- 復(fù)制 libcrypto.lib 為 libeay32.lib

方法2: 文件名稱在 setup.py 代碼寫的,改成 libcrypto.lib 也可以實現(xiàn)(注意是lib文件)

# Configure the linker

ext.extra_link_args.append("libeay32.lib")

ext.extra_link_args.append('/LIBPATH:' + openssl_lib_path)

報錯 - failed with exit code 2

系統(tǒng)環(huán)境可以正常使用,虛擬環(huán)境使用常報的錯誤

src\python3\cache.c(261): error C2017: 非法的轉(zhuǎn)義序列

src\python3\cache.c(261): error C2061: 語法錯誤: 標識符“Node”

src\python3\cache.c(261): error C2001: 常量中有換行符

src\python3\cache.c(303): error C2017: 非法的轉(zhuǎn)義序列

src\python3\cache.c(303): error C2224: “.Cache”的左側(cè)必須具有結(jié)構(gòu)/聯(lián)合類型

src\python3\cache.c(303): error C2001: 常量中有換行符

src\python3\cache.c(303): error C2059: 語法錯誤:“字符串”

error: command 'D:\\software\\Microsoft Visual Studio\\Community2022\\VC\\Tools\\MSVC\\14.36.32532\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2

報錯文件指向src\python3\cache.c打開看看

# 分析報錯文件,MODULE_NAME有問題

261 MODULE_NAME "Node", /* tp_name */

303 MODULE_NAME ".Cache", /* tp_name */

宏MODULE_NAME在編譯前沒有進行正確的分析,就是這個不能用 分析py文件看看 MODULE_NAME 是個啥

define_macros = [('MODULE_NAME', quote_argument(PACKAGE_NAME + '.dbapi2'))]

print(define_macros) # 搞一個輸出看看是啥 我的是 pysqlcipher3.dbapi2

分析py文件發(fā)現(xiàn),MODULE_NAME 的值應(yīng)該是 pysqlcipher3.dbapi2 將src\python3\cache.c文件中的MODULE_NAME替換成pysqlcipher3.dbapi2試試 新的報錯

src\python3\connection.c(1546): warning C4090: “=”: 不同的“const”限定符

src\python3\connection.c(1697): error C2017: 非法的轉(zhuǎn)義序列

查看報錯文件(1546 是個告警),發(fā)現(xiàn)還是MODULE_NAME

1697 MODULE_NAME ".Connection", /* tp_name */

改了MODULE_NAME在嘗試,最后發(fā)現(xiàn)src\python3*.c 幾乎都用了MODULE_NAME,都改成pysqlcipher3.dbapi2就可以了

柚子快報邀請碼778899分享:SQLite加密解密

http://yzkb.51969.com/

精彩內(nèi)容

評論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。

轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/15791460.html

發(fā)布評論

您暫未設(shè)置收款碼

請在主題配置——文章設(shè)置里上傳

掃描二維碼手機訪問

文章目錄