origami 1.0.2

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.
Files changed (108) hide show
  1. data/COPYING.LESSER +165 -0
  2. data/README +77 -0
  3. data/VERSION +1 -0
  4. data/bin/config/pdfcop.conf.yml +237 -0
  5. data/bin/gui/about.rb +46 -0
  6. data/bin/gui/config.rb +132 -0
  7. data/bin/gui/file.rb +385 -0
  8. data/bin/gui/hexdump.rb +74 -0
  9. data/bin/gui/hexview.rb +91 -0
  10. data/bin/gui/imgview.rb +72 -0
  11. data/bin/gui/menu.rb +392 -0
  12. data/bin/gui/properties.rb +132 -0
  13. data/bin/gui/signing.rb +635 -0
  14. data/bin/gui/textview.rb +107 -0
  15. data/bin/gui/treeview.rb +409 -0
  16. data/bin/gui/walker.rb +282 -0
  17. data/bin/gui/xrefs.rb +79 -0
  18. data/bin/pdf2graph +121 -0
  19. data/bin/pdf2ruby +353 -0
  20. data/bin/pdfcocoon +104 -0
  21. data/bin/pdfcop +455 -0
  22. data/bin/pdfdecompress +104 -0
  23. data/bin/pdfdecrypt +95 -0
  24. data/bin/pdfencrypt +112 -0
  25. data/bin/pdfextract +221 -0
  26. data/bin/pdfmetadata +123 -0
  27. data/bin/pdfsh +13 -0
  28. data/bin/pdfwalker +7 -0
  29. data/bin/shell/.irbrc +104 -0
  30. data/bin/shell/console.rb +136 -0
  31. data/bin/shell/hexdump.rb +83 -0
  32. data/origami.rb +36 -0
  33. data/origami/3d.rb +239 -0
  34. data/origami/acroform.rb +321 -0
  35. data/origami/actions.rb +299 -0
  36. data/origami/adobe/fdf.rb +259 -0
  37. data/origami/adobe/ppklite.rb +489 -0
  38. data/origami/annotations.rb +775 -0
  39. data/origami/array.rb +187 -0
  40. data/origami/boolean.rb +101 -0
  41. data/origami/catalog.rb +486 -0
  42. data/origami/destinations.rb +213 -0
  43. data/origami/dictionary.rb +188 -0
  44. data/origami/docmdp.rb +96 -0
  45. data/origami/encryption.rb +1293 -0
  46. data/origami/export.rb +283 -0
  47. data/origami/file.rb +222 -0
  48. data/origami/filters.rb +250 -0
  49. data/origami/filters/ascii.rb +189 -0
  50. data/origami/filters/ccitt.rb +515 -0
  51. data/origami/filters/crypt.rb +47 -0
  52. data/origami/filters/dct.rb +61 -0
  53. data/origami/filters/flate.rb +112 -0
  54. data/origami/filters/jbig2.rb +63 -0
  55. data/origami/filters/jpx.rb +53 -0
  56. data/origami/filters/lzw.rb +195 -0
  57. data/origami/filters/predictors.rb +276 -0
  58. data/origami/filters/runlength.rb +117 -0
  59. data/origami/font.rb +209 -0
  60. data/origami/functions.rb +93 -0
  61. data/origami/graphics.rb +33 -0
  62. data/origami/graphics/colors.rb +191 -0
  63. data/origami/graphics/instruction.rb +126 -0
  64. data/origami/graphics/path.rb +154 -0
  65. data/origami/graphics/patterns.rb +180 -0
  66. data/origami/graphics/state.rb +164 -0
  67. data/origami/graphics/text.rb +224 -0
  68. data/origami/graphics/xobject.rb +493 -0
  69. data/origami/header.rb +90 -0
  70. data/origami/linearization.rb +318 -0
  71. data/origami/metadata.rb +114 -0
  72. data/origami/name.rb +170 -0
  73. data/origami/null.rb +75 -0
  74. data/origami/numeric.rb +188 -0
  75. data/origami/obfuscation.rb +233 -0
  76. data/origami/object.rb +527 -0
  77. data/origami/outline.rb +59 -0
  78. data/origami/page.rb +559 -0
  79. data/origami/parser.rb +268 -0
  80. data/origami/parsers/fdf.rb +45 -0
  81. data/origami/parsers/pdf.rb +27 -0
  82. data/origami/parsers/pdf/linear.rb +113 -0
  83. data/origami/parsers/ppklite.rb +86 -0
  84. data/origami/pdf.rb +1144 -0
  85. data/origami/reference.rb +113 -0
  86. data/origami/signature.rb +474 -0
  87. data/origami/stream.rb +575 -0
  88. data/origami/string.rb +416 -0
  89. data/origami/trailer.rb +173 -0
  90. data/origami/webcapture.rb +87 -0
  91. data/origami/xfa.rb +3027 -0
  92. data/origami/xreftable.rb +447 -0
  93. data/templates/patterns.rb +66 -0
  94. data/templates/widgets.rb +173 -0
  95. data/templates/xdp.rb +92 -0
  96. data/tests/dataset/test.dummycrt +28 -0
  97. data/tests/dataset/test.dummykey +27 -0
  98. data/tests/tc_actions.rb +32 -0
  99. data/tests/tc_annotations.rb +85 -0
  100. data/tests/tc_pages.rb +37 -0
  101. data/tests/tc_pdfattach.rb +24 -0
  102. data/tests/tc_pdfencrypt.rb +110 -0
  103. data/tests/tc_pdfnew.rb +32 -0
  104. data/tests/tc_pdfparse.rb +98 -0
  105. data/tests/tc_pdfsig.rb +37 -0
  106. data/tests/tc_streams.rb +129 -0
  107. data/tests/ts_pdf.rb +45 -0
  108. metadata +193 -0
metadata ADDED
@@ -0,0 +1,193 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: origami
3
+ version: !ruby/object:Gem::Version
4
+ hash: 19
5
+ prerelease: false
6
+ segments:
7
+ - 1
8
+ - 0
9
+ - 2
10
+ version: 1.0.2
11
+ platform: ruby
12
+ authors:
13
+ - "Guillaume Delugr\xC3\xA9"
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-05-25 00:00:00 +02:00
19
+ default_executable:
20
+ dependencies: []
21
+
22
+ description: |
23
+ This is NOT a PDF rendering library. It aims at providing a scripting tool to generate and analyze malicious PDF files.
24
+ As well, it can be used to create on-the-fly customized PDFs, or to inject (evil) code into already existing documents.
25
+
26
+ - Create PDF documents from scratch.
27
+ - Parse existing documents, modify them and recompile them.
28
+ - Explore documents at the object level, going deep into the document structure, uncompressing PDF object streams and desobfuscating names and strings.
29
+ - High-level operations, such as encryption/decryption, signature, file attachments...
30
+ - A GTK interface to quickly browse into the document contents.
31
+ - A set of command-line tools for PDF analysis.
32
+
33
+ email: guillaume at security-labs dot org
34
+ executables:
35
+ - pdfdecompress
36
+ - pdfdecrypt
37
+ - pdfencrypt
38
+ - pdfmetadata
39
+ - pdf2graph
40
+ - pdf2ruby
41
+ - pdfextract
42
+ - pdfcop
43
+ - pdfcocoon
44
+ - pdfsh
45
+ - pdfwalker
46
+ extensions: []
47
+
48
+ extra_rdoc_files: []
49
+
50
+ files:
51
+ - README
52
+ - COPYING.LESSER
53
+ - VERSION
54
+ - origami.rb
55
+ - origami/graphics.rb
56
+ - origami/file.rb
57
+ - origami/object.rb
58
+ - origami/outline.rb
59
+ - origami/array.rb
60
+ - origami/filters/ccitt.rb
61
+ - origami/filters/predictors.rb
62
+ - origami/filters/jpx.rb
63
+ - origami/filters/flate.rb
64
+ - origami/filters/lzw.rb
65
+ - origami/filters/runlength.rb
66
+ - origami/filters/dct.rb
67
+ - origami/filters/ascii.rb
68
+ - origami/filters/jbig2.rb
69
+ - origami/filters/crypt.rb
70
+ - origami/acroform.rb
71
+ - origami/parser.rb
72
+ - origami/encryption.rb
73
+ - origami/xfa.rb
74
+ - origami/reference.rb
75
+ - origami/metadata.rb
76
+ - origami/stream.rb
77
+ - origami/actions.rb
78
+ - origami/pdf.rb
79
+ - origami/name.rb
80
+ - origami/numeric.rb
81
+ - origami/string.rb
82
+ - origami/webcapture.rb
83
+ - origami/destinations.rb
84
+ - origami/parsers/pdf/linear.rb
85
+ - origami/parsers/ppklite.rb
86
+ - origami/parsers/fdf.rb
87
+ - origami/parsers/pdf.rb
88
+ - origami/catalog.rb
89
+ - origami/filters.rb
90
+ - origami/page.rb
91
+ - origami/header.rb
92
+ - origami/obfuscation.rb
93
+ - origami/graphics/xobject.rb
94
+ - origami/graphics/state.rb
95
+ - origami/graphics/patterns.rb
96
+ - origami/graphics/colors.rb
97
+ - origami/graphics/instruction.rb
98
+ - origami/graphics/path.rb
99
+ - origami/graphics/text.rb
100
+ - origami/trailer.rb
101
+ - origami/adobe/ppklite.rb
102
+ - origami/adobe/fdf.rb
103
+ - origami/font.rb
104
+ - origami/null.rb
105
+ - origami/docmdp.rb
106
+ - origami/dictionary.rb
107
+ - origami/export.rb
108
+ - origami/xreftable.rb
109
+ - origami/linearization.rb
110
+ - origami/annotations.rb
111
+ - origami/boolean.rb
112
+ - origami/3d.rb
113
+ - origami/signature.rb
114
+ - origami/functions.rb
115
+ - bin/pdf2graph
116
+ - bin/shell/console.rb
117
+ - bin/shell/hexdump.rb
118
+ - bin/gui/file.rb
119
+ - bin/gui/textview.rb
120
+ - bin/gui/about.rb
121
+ - bin/gui/walker.rb
122
+ - bin/gui/config.rb
123
+ - bin/gui/menu.rb
124
+ - bin/gui/properties.rb
125
+ - bin/gui/imgview.rb
126
+ - bin/gui/signing.rb
127
+ - bin/gui/treeview.rb
128
+ - bin/gui/hexview.rb
129
+ - bin/gui/hexdump.rb
130
+ - bin/gui/xrefs.rb
131
+ - bin/pdfdecompress
132
+ - bin/pdfwalker
133
+ - bin/pdfdecrypt
134
+ - bin/config/pdfcop.conf.yml
135
+ - bin/pdfcop
136
+ - bin/pdfextract
137
+ - bin/pdfmetadata
138
+ - bin/pdfencrypt
139
+ - bin/pdf2ruby
140
+ - bin/pdfcocoon
141
+ - bin/pdfsh
142
+ - tests/tc_pdfsig.rb
143
+ - tests/tc_pdfnew.rb
144
+ - tests/tc_streams.rb
145
+ - tests/tc_pdfattach.rb
146
+ - tests/dataset/test.dummykey
147
+ - tests/dataset/test.dummycrt
148
+ - tests/tc_actions.rb
149
+ - tests/ts_pdf.rb
150
+ - tests/tc_pdfencrypt.rb
151
+ - tests/tc_pdfparse.rb
152
+ - tests/tc_pages.rb
153
+ - tests/tc_annotations.rb
154
+ - templates/xdp.rb
155
+ - templates/patterns.rb
156
+ - templates/widgets.rb
157
+ - bin/shell/.irbrc
158
+ has_rdoc: true
159
+ homepage: http://seclabs.org/origami
160
+ licenses: []
161
+
162
+ post_install_message:
163
+ rdoc_options: []
164
+
165
+ require_paths:
166
+ - .
167
+ required_ruby_version: !ruby/object:Gem::Requirement
168
+ none: false
169
+ requirements:
170
+ - - ">="
171
+ - !ruby/object:Gem::Version
172
+ hash: 3
173
+ segments:
174
+ - 0
175
+ version: "0"
176
+ required_rubygems_version: !ruby/object:Gem::Requirement
177
+ none: false
178
+ requirements:
179
+ - - ">="
180
+ - !ruby/object:Gem::Version
181
+ hash: 3
182
+ segments:
183
+ - 0
184
+ version: "0"
185
+ requirements:
186
+ - ruby-gtk2 if you plan to run the PDF Walker interface
187
+ rubyforge_project:
188
+ rubygems_version: 1.3.7
189
+ signing_key:
190
+ specification_version: 3
191
+ summary: Origami aims at providing a scripting tool to generate and analyze malicious PDF files.
192
+ test_files:
193
+ - tests/ts_pdf.rb