4
Sqlite 데이터베이스의 모든 테이블과 열을 검색 할 수있는 라이브러리 또는 오픈 소스 유틸리티가 있습니까? 유일한 입력은 sqlite DB 파일의 이름입니다.검색 Sqlite 데이터베이스 - 모든 테이블 및 열
포렌식 도구를 작성하려고하고 특정 문자열에 대해 sqlite 파일을 검색하려고합니다.
Sqlite 데이터베이스의 모든 테이블과 열을 검색 할 수있는 라이브러리 또는 오픈 소스 유틸리티가 있습니까? 유일한 입력은 sqlite DB 파일의 이름입니다.검색 Sqlite 데이터베이스 - 모든 테이블 및 열
포렌식 도구를 작성하려고하고 특정 문자열에 대해 sqlite 파일을 검색하려고합니다.
"SELECT name FROM sqlite_master WHERE type='table'"
을 사용하여 데이터베이스의 테이블 이름을 확인할 수 있습니다. 거기에서 각 테이블의 모든 행을 선택하기 쉽습니다. 예를 들어
:
import sqlite3
import os
filename = ...
with sqlite3.connect(filename) as conn:
conn.row_factory = sqlite3.Row
cursor = conn.cursor()
cursor.execute("SELECT name FROM sqlite_master WHERE type='table'")
for tablerow in cursor.fetchall():
table = tablerow[0]
cursor.execute("SELECT * FROM {t}".format(t = table))
for row in cursor:
for field in row.keys():
print(table, field, row[field])
환상적인! 방금 추가 한 질문이 하나 더 있습니다 --- 한 번 발견 된 테이블에서 문자열 "sms"를 검색하고 있습니다. 위의 코드 조각에서 열 이름 + 테이블 이름을 어떻게 인쇄 할 수 있습니까? –
'sqlite3.Row' 행 팩토리를 사용하도록 코드를 변경했습니다. 이것은'cursor'를 dict-like 행으로 반환합니다. 행 키는 열 이름입니다. – unutbu
내 친구가 많이 고마워! –