{"id":16876891,"url":"https://github.com/soxoj/files-search-guide","last_synced_at":"2025-03-19T04:44:30.656Z","repository":{"id":103371155,"uuid":"485146118","full_name":"soxoj/files-search-guide","owner":"soxoj","description":"Guide to searching in different file types (documents, breaches, databases, etc.)","archived":false,"fork":false,"pushed_at":"2024-05-11T17:39:05.000Z","size":35,"stargazers_count":49,"open_issues_count":4,"forks_count":3,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-10T15:07:18.946Z","etag":null,"topics":["breach-check","datashare","ediscovery","grep","grepping","regex","regexp","search"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/soxoj.png","metadata":{"files":{"readme":"README-RU.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-04-24T21:37:36.000Z","updated_at":"2025-01-25T17:38:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"3c5cdc0e-b979-4061-ab01-afdba85d7e79","html_url":"https://github.com/soxoj/files-search-guide","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soxoj%2Ffiles-search-guide","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soxoj%2Ffiles-search-guide/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soxoj%2Ffiles-search-guide/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soxoj%2Ffiles-search-guide/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/soxoj","download_url":"https://codeload.github.com/soxoj/files-search-guide/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244358336,"owners_count":20440356,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["breach-check","datashare","ediscovery","grep","grepping","regex","regexp","search"],"created_at":"2024-10-13T15:40:50.303Z","updated_at":"2025-03-19T04:44:30.636Z","avatar_url":"https://github.com/soxoj.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Руководство по поиску в разных типах файлов\n\nЦель этого руководства - описать инструменты для поиска и его упрощения относительно большинства популярных типов файлов и баз данных.\nВ большей степени руководство применимо к поиску в утечках разных сайтов (большие текстовые файлы в архивах, csv/sql), документах (pdf, xls(x), doc(x))\nи в специализированных базах (1С, Cronos и т.д.).\n\nRussian version | [English version](./README.md)\n\n## Содержание\n\n- [Универсальный поиск](#универсальный-поиск)\n  - [dnGrep](#dngrep)\n- [Текстовые файлы](#текстовые-файлы)\n- [Документы](#документы)\n  - [xlsxgrep](#xlsxgrep)\n- [Архивы](#архивы)\n  - [zgrep](#zgrep)\n  - [7zip](#7zip)\n  - [unrar](#unrar)\n- [Базы данных](#базы-данных)\n  - [cronodump (Cronos)](#cronodump)\n  - [1c-database-converter (1C)](#1c)\n\n## Универсальный поиск\n\n### dnGrep\n\n[dnGrep](http://dngrep.github.io/) - универсальная утилита с графическим интерфейсом для Windows, умеет искать в текстовых файлах, документах,\nPDF и во всех популярных форматах архивов. Поддерживается поиск по регулярному выражению и по всем файлам в директории, есть интеграция с Проводником.\n\nНесмотря на некоторые неудобства с подсветкой результатов и сбои применительно к большим архивам, выглядит одной из самых перспективных для массового поиска\nв файлах с текстовым содержимым.\n\n![image](https://github.com/dnGrep/dnGrep/wiki/Images/grep-main.png)\n\n## Текстовые файлы\n\n### grep\n\nЭталон отрасли для поиска в текстовых файлах - это unix-утилита `grep`. Вы указываете при её запуске два параметра: шаблон для поиска и файл;\nпосле чего утилита выводит строки, совпавшие с шаблоном. В простейшем случае шаблоном является некая строка, которую мы хотим найти в файле\n(например, номер телефона или почтовый ящик).\n\nНа базе `grep` также построены другие утилиты, так что запомним основные параметры для запуска:\n\n`-A number` - вывод некоторого количества строк после (`after`) найденной: полезно, если дополнительные сведения хранятся в файле после нашей строки\n\n`-B number` - вывод некоторого количества строк до (`before`) найденной: полезно, если дополнительные сведения хранятся в файле до нашей строки\n\n`-С number` - вывод некоторого количества строк до и после найденной\n\n`-i` - регистронезависимый поиск, только при этом режиме поиск по `Target` и `target` найдёт строку \"TARGET\"\n\n`-R` - рекурсивный поиск, в этом режиме утилита сможет искать во всех вложенных директориях (для поиска по любым файлам в текущей достаточно указать * вместо названия файла)\n\n`-a` - воспринимать все файлы как текстовые, использовать при ошибке `Двоичный файл (стандартный ввод) совпадает`\n\nПример поиска через `grep`:\n\n`grep -iR target dumps/*` - будет произведён поиск по слову `target` во всех регистрах во всех текстовых файлах в директории `dumps`\n\n## Документы\n\n### xlsxgrep\n\nДля поиска в документах XLSX можно использовать либо `grep`, предварительно сконвертировав таблицу в CSV, либо использовать утилиту\n`xlsxgrep`. Пример поиска:\n\n`xlsxgrep target -H -N -r dumps/*`\n\n## Архивы\n\n- [ ] Написать универсальный скрипт для поиска во всех типах архивов\n\n### zgrep\n\nДля поиска в архивах .gz, .tgz можно использовать утилиту `zgrep`.\n\nИспользование аналогично обычному `grep`, за исключением следующих особенностей:\n- режим рекурсивного поиска `-R` не поддерживается\n- наряду с архивами утилита также может искать по текстовым файлам\n\nПример поиска через `zgrep`:\n\n`zgrep -ia target dumps/*` - будет произведён поиск по слову `target` во всех регистрах во всех текстовых файлах и gz-архивах в директории `dumps`\n\n### 7zip\n\nДля поиска в архивах `7zip` можно использовать соответствующую утилиту для полной распаковки в цепочке с `grep`:\n\nПример использования:\n\n`7z x archive.7z -so | grep ...`\n\n`7zip` также умеет работать со многими другими типами архивов.\n\n### unrar\n\nДля поиска в архивах `rar` можно использовать соответствующую утилиту для полной распаковки в цепочке с `grep`:\n\nПример использования:\n\n`unrar p archive.rar | grep ...`\n\n## Базы данных\n\n### cronodump\n\nДля популярного в России формата баз данных Cronos следует использовать либо соответствующую версию клиента (Cronos, CronosPlus, CronosPro)\nлибо можно сконвертировать базу в формат таблицы CSV с помощью утилиты [cronodump](https://github.com/alephdata/cronodump):\n\n```\ngit clone https://github.com/alephdata/cronodump \u0026\u0026 cd cronodump\npython3 setup.py install\ncroconvert --csv cronos_db_directory/\n\n# будет создана новая директория c файлами\nls cronodump-2022-04-25-02-53-57-293000\nБТК.csv  Files-FL\n\ngrep ...\n```\n\n### 1C\n\nДля анализа файлов баз данных 1C можно использовать библиотеку [onec_dtools](https://github.com/Infactum/onec_dtools) или готовую утилиту [1c-database-converter](https://github.com/soxoj/1c-database-converter), способную вытащить все текстовые строки и бинарные данные из базы любого формата.\n\n```\n./run.py 8-2-14.1CD\nTarget: 8-2-14.1CD\nResults found: 1\n1) Out Dir: 8-2-14.1CD_csv\nFile Type: 1CD\nStatus: Exported content of 1CD file\n\n------------------------------\nTotal found: 1\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoxoj%2Ffiles-search-guide","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsoxoj%2Ffiles-search-guide","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoxoj%2Ffiles-search-guide/lists"}