pdfalyzer 1.17.2__tar.gz → 1.17.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pdfalyzer might be problematic. Click here for more details.

Files changed (52) hide show
  1. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/CHANGELOG.md +3 -0
  2. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/PKG-INFO +1 -1
  3. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pdfalyzer/decorators/pdf_file.py +0 -7
  4. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pdfalyzer/util/cli_tools_argument_parser.py +10 -0
  5. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pyproject.toml +1 -1
  6. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/.pdfalyzer.example +0 -0
  7. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/LICENSE +0 -0
  8. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/README.md +0 -0
  9. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pdfalyzer/__init__.py +0 -0
  10. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pdfalyzer/__main__.py +0 -0
  11. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pdfalyzer/binary/binary_scanner.py +0 -0
  12. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pdfalyzer/config.py +0 -0
  13. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pdfalyzer/decorators/document_model_printer.py +0 -0
  14. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pdfalyzer/decorators/indeterminate_node.py +0 -0
  15. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pdfalyzer/decorators/pdf_object_properties.py +0 -0
  16. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pdfalyzer/decorators/pdf_tree_node.py +0 -0
  17. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pdfalyzer/decorators/pdf_tree_verifier.py +0 -0
  18. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pdfalyzer/detection/constants/binary_regexes.py +0 -0
  19. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pdfalyzer/detection/constants/javascript_reserved_keywords.py +0 -0
  20. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pdfalyzer/detection/javascript_hunter.py +0 -0
  21. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pdfalyzer/detection/yaralyzer_helper.py +0 -0
  22. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pdfalyzer/font_info.py +0 -0
  23. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pdfalyzer/helpers/dict_helper.py +0 -0
  24. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pdfalyzer/helpers/filesystem_helper.py +0 -0
  25. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pdfalyzer/helpers/image_helper.py +0 -0
  26. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pdfalyzer/helpers/number_helper.py +0 -0
  27. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pdfalyzer/helpers/pdf_object_helper.py +0 -0
  28. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pdfalyzer/helpers/rich_text_helper.py +0 -0
  29. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pdfalyzer/helpers/string_helper.py +0 -0
  30. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pdfalyzer/output/character_mapping.py +0 -0
  31. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pdfalyzer/output/layout.py +0 -0
  32. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pdfalyzer/output/pdfalyzer_presenter.py +0 -0
  33. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pdfalyzer/output/styles/node_colors.py +0 -0
  34. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pdfalyzer/output/styles/rich_theme.py +0 -0
  35. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pdfalyzer/output/tables/decoding_stats_table.py +0 -0
  36. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pdfalyzer/output/tables/font_summary_table.py +0 -0
  37. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pdfalyzer/output/tables/pdf_node_rich_table.py +0 -0
  38. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pdfalyzer/output/tables/stream_objects_table.py +0 -0
  39. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pdfalyzer/pdf_object_relationship.py +0 -0
  40. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pdfalyzer/pdfalyzer.py +0 -0
  41. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pdfalyzer/util/adobe_strings.py +0 -0
  42. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pdfalyzer/util/argument_parser.py +0 -0
  43. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pdfalyzer/util/debugging.py +0 -0
  44. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pdfalyzer/util/exceptions.py +0 -0
  45. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pdfalyzer/util/page_range.py +0 -0
  46. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pdfalyzer/util/pdf_parser_manager.py +0 -0
  47. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pdfalyzer/yara_rules/PDF.yara +0 -0
  48. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pdfalyzer/yara_rules/PDF_binary_stream.yara +0 -0
  49. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pdfalyzer/yara_rules/__init.py__ +0 -0
  50. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pdfalyzer/yara_rules/didier_stevens.yara +0 -0
  51. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pdfalyzer/yara_rules/lprat.static_file_analysis.yara +0 -0
  52. {pdfalyzer-1.17.2 → pdfalyzer-1.17.3}/pdfalyzer/yara_rules/pdf_malware.yara +0 -0
@@ -1,5 +1,8 @@
1
1
  # NEXT RELEASE
2
2
 
3
+ ### 1.17.3
4
+ * Put back `--debug` arg for CLI tools
5
+
3
6
  ### 1.17.2
4
7
  * Remove unused `--debug` args for CLI tools
5
8
  * Rename `extract_text_from_pdfs` to `extract_pdf_text`
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pdfalyzer
3
- Version: 1.17.2
3
+ Version: 1.17.3
4
4
  Summary: Analyze PDFs with colors (and YARA). Visualize a PDF's inner tree-like data structure, check it against a library of YARA rules, force decodes of suspicious font binaries, and more.
5
5
  Home-page: https://github.com/michelcrypt4d4mus/pdfalyzer
6
6
  License: GPL-3.0-or-later
@@ -215,10 +215,3 @@ class PdfFile:
215
215
  return
216
216
 
217
217
  stderr_console.print(msg, style=style or "")
218
-
219
- # def _num_pages(self) -> int:
220
- # pdf_reader = PdfReader(self.file_path)
221
- # page_count = len(pdf_reader.pages)
222
- # log.debug(f"PDF Page count: {page_count}")
223
-
224
- # for page_number, page in enumerate(pdf_reader.pages, start=1):
@@ -5,6 +5,7 @@ Argument parsers for the command line tools other than `pdfalyze` that are inclu
5
5
  2. extract_pdf_pages
6
6
  3. extract_pdf_text
7
7
  """
8
+ import logging
8
9
  import sys
9
10
  from argparse import ArgumentParser, Namespace
10
11
  from pathlib import Path
@@ -88,6 +89,7 @@ extract_pdf_parser = ArgumentParser(
88
89
  )
89
90
 
90
91
  extract_pdf_parser.add_argument('pdf_file', metavar='PDF_FILE', help='PDF to extract pages from')
92
+ extract_pdf_parser.add_argument('--debug', action='store_true', help='turn on debug level logging')
91
93
 
92
94
  extract_pdf_parser.add_argument('--page-range', '-r',
93
95
  type=page_range_validator,
@@ -109,6 +111,7 @@ def parse_pdf_page_extraction_args() -> Namespace:
109
111
  log.error(f"Destination dir '{args.destination_dir}' does not exist.")
110
112
  sys.exit(1)
111
113
 
114
+ _set_log_level(args)
112
115
  return args
113
116
 
114
117
 
@@ -122,6 +125,7 @@ extract_text_parser = ArgumentParser(
122
125
  )
123
126
 
124
127
  extract_text_parser.add_argument('file_or_dir', nargs='+', metavar='FILE_OR_DIR')
128
+ extract_text_parser.add_argument('--debug', action='store_true', help='turn on debug level logging')
125
129
 
126
130
  extract_text_parser.add_argument('--page-range', '-r',
127
131
  type=page_range_validator,
@@ -151,4 +155,10 @@ def parse_text_extraction_args() -> Namespace:
151
155
  log.error(f"--page-range can only be specified for a single PDF")
152
156
  sys.exit(-1)
153
157
 
158
+ _set_log_level(args)
154
159
  return args
160
+
161
+
162
+ def _set_log_level(args: Namespace):
163
+ if args.debug:
164
+ log.setLevel(logging.DEBUG)
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "pdfalyzer"
3
- version = "1.17.2"
3
+ version = "1.17.3"
4
4
  description = "Analyze PDFs with colors (and YARA). Visualize a PDF's inner tree-like data structure, check it against a library of YARA rules, force decodes of suspicious font binaries, and more."
5
5
  authors = ["Michel de Cryptadamus <michel@cryptadamus.com>"]
6
6
  license = "GPL-3.0-or-later"
File without changes
File without changes