sqlite學習筆記1:編譯資料庫,sqlite學習筆記
首先說下我使用的是Linux環境
一 下載源碼
官網下載:點這裡
二 編譯
1 解壓
下載完成之後一般會在目前使用者的“下載”目錄中,首先cd到下載目錄,然後建立一個檔案件,用來放解壓之後的檔案:
mkdir sqlite
然後cd到建立的目錄中,運行如下命令解壓
unzip ../sqlite-amalgamation-201408081749.zip
解壓之後會有四個檔案:shell.c,sqlite3.c,sqlite3.h,sqlite3ext.h
2 編譯
執行命令:
gcc *.c -o sqlite3 -lpthread -ldl
執行完之後將會產生一個sqlite可執行檔
SQLite資料庫資料逆向編譯進
想逆向編譯 難度很大 我推薦你 想想自己常用的密碼設定進入一個新的用戶端裡 再在資料庫裡尋找加密後的密碼字串 如果和你現在的這個字串密碼相同 就可以用那個了
用C語言做個sqlite資料庫
). 開啟VC建立一個“Win32 Dynamic-Link Library”工程,命名為:sqlite32). 在接下來的對話方塊中選擇"An empty DLL project",點 FINISH->OK3). 將源碼中所有的 *.c *.h *.def 複製到工程檔案夾下4). 在工程的Source File中添加你下載到的SQLite源檔案中所有*.c檔案,注意這裡不要添加shell.c和tclsqlite.c這兩個檔案。5). 將 SQLite 源檔案中的 sqlite3.def 檔案添加到在工程的Source File中6). 在Header File中添加你下載到的SQLite源檔案中所有*.h檔案,7). 開始編譯,Build(F7)一下也許到這裡會遇到一個錯誤:e:\zieckey\sqlite\sqlite3\sqlite3ext.h(22) : fatal error C1083: Cannot open include file: 'sqlite3.h': No such file or directory經檢查發現,源碼中包含sqlite3.h都是以 #include <sqlite3.h> 方式包含的,這就是說編譯器在系統預設路徑中搜尋,這樣當然搜尋不到 sqlite3.h 這個標頭檔啦,這時可以改為 #include "sqlite3.h" ,讓編譯器在工程路徑中搜尋,但是如果還有其他地方也是以 #include <sqlite3.h> 方式包含的,那麼改源碼就顯得有點麻煩,好了,我們可以這樣,在功能表列依次選擇:Tools->Options...->Directeries在下面的Directeries選項中輸入你的 sqlite3.h 的路徑,這裡也就是你的工程目錄.添加好後,我們在編譯一下就好了,最後我們在工程目錄的 Debug 目錄產生了下面兩個重要檔案:動態連結程式庫檔案 sqlite3.dll 和引入庫檔案 sqlite3.lib二. 使用動態連結程式庫下面我們來編寫個程式來測試下我們的動態連結程式庫.在VC下建立一個空的"Win32 Console Application" Win32控制台程式,工程命名為:TestSqliteOnWindows再建立一個 test.cpp 的C++語言來源程式,原始碼如下:// name: test.cpp// This prog is used to test C/C++ API for sqlite3 .It is very simple,ha !// Author : zieckey// data : 2006/11/28#include <stdio.h>#include <stdlib.h>#include "sqlite3.h" #define _DEBUG_int main( void ){sqlite3 *db=NULL;char *zErrMsg = 0;int rc;rc = sqlite3_open("zieckey.db", &db); //開啟指定的資料庫檔案,如果不存在將建立一個同名的資料庫檔案if( rc ){fprintf(stderr, &q......餘下全文>>