前端時間一直在做YH收銀系統重構的需求。下載了幾個收銀軟體,都是cs的,功能分析得差不多了,就想看看錶結構,結果發現有2個系統是db的,1個mdf的,1個mdb的,剩餘一個居然沒有探索資料庫。
第一個查詢都有什麼資料庫檔案是db格式的,結果一查,太多了,還是拿不準。然後去下載db資料庫查看器,挨個測試。不過效率很低。突然想到,一般檔案的檔案頭,都會“暴露”一些資訊,UltraEdit開啟了db發現第一個單詞是“SQLite”,
原來是SQLite資料庫呀,經過百度,得知SQLite主要是在Android中經常用到的資料庫格式類型。去下載了一個SQLite資料庫查看器(SQLite Database Browser),終於可以查看錶結構了。
第二個資料是db,用了各種db資料庫查看器,依舊打不開,只得作罷。
第三個是mdf的,直接附加到sqlserver上,居然不允許:
只好下載一個mdf資料庫查看器(systools-mdf-viewer),終於也可以查看了
另一個是mdb的,一看就是Access資料庫,由於沒有安裝Access,所以直接下載了一個mdb資料庫查看器(MDBPlus),把資料庫拖入到MDBPlus上,結果提示要求輸入密碼:
沒辦法了,還得找MDB資料庫密碼破解軟體,被金山毒霸自動刪除了N個下載的破解軟體後,終於有一個經過了“黨的檢驗”——MDB密碼破解專家soft_VAP,用這款軟體,終於破解了密碼:
最後一個系統,在安裝目錄的db檔案夾下面,只有dat檔案,dat一般是一個二進位檔案,所以很難想到它是一個資料庫。不過突然想起來,以前寫程式記錄一些資訊,但不想用一般使用者看到,所以不用txt,而使用dat或者dll等尾碼來儲存資訊。只不過讀取的時候用文本方式開啟。想到這裡,覺得這個bat可能是一個修改了副檔名的資料庫。然後用剛才的MDBPlus試著開啟,居然彈出了輸入密碼,用“MDB密碼破解專家soft_VAP”來破解了一下,也成功了:
欣喜若狂呀,後來用UltraEdit查看了一下,果然有Standard Jet DB,跟mdb的檔案頭資訊一樣,從而也證明了dat是一個偽裝過的mdb資料庫。
有了這幾個系統的資料庫,再結合對功能的分析,分析起來系列多了。