https://github.com/soxoj/files-search-guide
Guide to searching in different file types (documents, breaches, databases, etc.)
https://github.com/soxoj/files-search-guide
breach-check datashare ediscovery grep grepping regex regexp search
Last synced: 2 months ago
JSON representation
Guide to searching in different file types (documents, breaches, databases, etc.)
- Host: GitHub
- URL: https://github.com/soxoj/files-search-guide
- Owner: soxoj
- License: mit
- Created: 2022-04-24T21:37:36.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-05-11T17:39:05.000Z (about 1 year ago)
- Last Synced: 2025-03-10T15:07:18.946Z (2 months ago)
- Topics: breach-check, datashare, ediscovery, grep, grepping, regex, regexp, search
- Homepage:
- Size: 34.2 KB
- Stars: 49
- Watchers: 3
- Forks: 3
- Open Issues: 4
-
Metadata Files:
- Readme: README-RU.md
- License: LICENSE
Awesome Lists containing this project
README
# Руководство по поиску в разных типах файлов
Цель этого руководства - описать инструменты для поиска и его упрощения относительно большинства популярных типов файлов и баз данных.
В большей степени руководство применимо к поиску в утечках разных сайтов (большие текстовые файлы в архивах, csv/sql), документах (pdf, xls(x), doc(x))
и в специализированных базах (1С, Cronos и т.д.).Russian version | [English version](./README.md)
## Содержание
- [Универсальный поиск](#универсальный-поиск)
- [dnGrep](#dngrep)
- [Текстовые файлы](#текстовые-файлы)
- [Документы](#документы)
- [xlsxgrep](#xlsxgrep)
- [Архивы](#архивы)
- [zgrep](#zgrep)
- [7zip](#7zip)
- [unrar](#unrar)
- [Базы данных](#базы-данных)
- [cronodump (Cronos)](#cronodump)
- [1c-database-converter (1C)](#1c)## Универсальный поиск
### dnGrep
[dnGrep](http://dngrep.github.io/) - универсальная утилита с графическим интерфейсом для Windows, умеет искать в текстовых файлах, документах,
PDF и во всех популярных форматах архивов. Поддерживается поиск по регулярному выражению и по всем файлам в директории, есть интеграция с Проводником.Несмотря на некоторые неудобства с подсветкой результатов и сбои применительно к большим архивам, выглядит одной из самых перспективных для массового поиска
в файлах с текстовым содержимым.
## Текстовые файлы
### grep
Эталон отрасли для поиска в текстовых файлах - это unix-утилита `grep`. Вы указываете при её запуске два параметра: шаблон для поиска и файл;
после чего утилита выводит строки, совпавшие с шаблоном. В простейшем случае шаблоном является некая строка, которую мы хотим найти в файле
(например, номер телефона или почтовый ящик).На базе `grep` также построены другие утилиты, так что запомним основные параметры для запуска:
`-A number` - вывод некоторого количества строк после (`after`) найденной: полезно, если дополнительные сведения хранятся в файле после нашей строки
`-B number` - вывод некоторого количества строк до (`before`) найденной: полезно, если дополнительные сведения хранятся в файле до нашей строки
`-С number` - вывод некоторого количества строк до и после найденной
`-i` - регистронезависимый поиск, только при этом режиме поиск по `Target` и `target` найдёт строку "TARGET"
`-R` - рекурсивный поиск, в этом режиме утилита сможет искать во всех вложенных директориях (для поиска по любым файлам в текущей достаточно указать * вместо названия файла)
`-a` - воспринимать все файлы как текстовые, использовать при ошибке `Двоичный файл (стандартный ввод) совпадает`
Пример поиска через `grep`:
`grep -iR target dumps/*` - будет произведён поиск по слову `target` во всех регистрах во всех текстовых файлах в директории `dumps`
## Документы
### xlsxgrep
Для поиска в документах XLSX можно использовать либо `grep`, предварительно сконвертировав таблицу в CSV, либо использовать утилиту
`xlsxgrep`. Пример поиска:`xlsxgrep target -H -N -r dumps/*`
## Архивы
- [ ] Написать универсальный скрипт для поиска во всех типах архивов
### zgrep
Для поиска в архивах .gz, .tgz можно использовать утилиту `zgrep`.
Использование аналогично обычному `grep`, за исключением следующих особенностей:
- режим рекурсивного поиска `-R` не поддерживается
- наряду с архивами утилита также может искать по текстовым файламПример поиска через `zgrep`:
`zgrep -ia target dumps/*` - будет произведён поиск по слову `target` во всех регистрах во всех текстовых файлах и gz-архивах в директории `dumps`
### 7zip
Для поиска в архивах `7zip` можно использовать соответствующую утилиту для полной распаковки в цепочке с `grep`:
Пример использования:
`7z x archive.7z -so | grep ...`
`7zip` также умеет работать со многими другими типами архивов.
### unrar
Для поиска в архивах `rar` можно использовать соответствующую утилиту для полной распаковки в цепочке с `grep`:
Пример использования:
`unrar p archive.rar | grep ...`
## Базы данных
### cronodump
Для популярного в России формата баз данных Cronos следует использовать либо соответствующую версию клиента (Cronos, CronosPlus, CronosPro)
либо можно сконвертировать базу в формат таблицы CSV с помощью утилиты [cronodump](https://github.com/alephdata/cronodump):```
git clone https://github.com/alephdata/cronodump && cd cronodump
python3 setup.py install
croconvert --csv cronos_db_directory/# будет создана новая директория c файлами
ls cronodump-2022-04-25-02-53-57-293000
БТК.csv Files-FLgrep ...
```### 1C
Для анализа файлов баз данных 1C можно использовать библиотеку [onec_dtools](https://github.com/Infactum/onec_dtools) или готовую утилиту [1c-database-converter](https://github.com/soxoj/1c-database-converter), способную вытащить все текстовые строки и бинарные данные из базы любого формата.
```
./run.py 8-2-14.1CD
Target: 8-2-14.1CD
Results found: 1
1) Out Dir: 8-2-14.1CD_csv
File Type: 1CD
Status: Exported content of 1CD file------------------------------
Total found: 1
```