zsteg 0.2.2 → 0.2.3
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.
- checksums.yaml +4 -4
- data/Gemfile +1 -1
- data/Gemfile.lock +25 -21
- data/README.md +43 -10
- data/README.md.tpl +5 -0
- data/VERSION +1 -1
- data/zsteg.gemspec +12 -18
- metadata +9 -10
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 03b8c9494bd4dfb5953973438b62cd909abb1a0d6fc46363928e9a3773e1e47a
|
|
4
|
+
data.tar.gz: a46faa826bc3781860881b4c15d9e6c04fb86da6dedfd5df2487f62fa09fcbf1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5f4243a62114c5098d56c59d273deaff5addf89b334377ba0d63032a6aee9759720ff3772805ae6a445179d3487a40b436024cc1c431f9a723e8de5140e2f683
|
|
7
|
+
data.tar.gz: 86eed1938f6c92812ab461f25b8647a25034e06b1b8c23b81187c253ef987de84d49a5e6d1521874fc480cf9cbe136559d921ab91ea8d2501383a13688dcb49d
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -5,10 +5,11 @@ GEM
|
|
|
5
5
|
builder (3.2.4)
|
|
6
6
|
descendants_tracker (0.0.4)
|
|
7
7
|
thread_safe (~> 0.3, >= 0.3.1)
|
|
8
|
-
diff-lcs (1.
|
|
8
|
+
diff-lcs (1.4.4)
|
|
9
9
|
faraday (0.9.2)
|
|
10
10
|
multipart-post (>= 1.2, < 3)
|
|
11
|
-
git (1.
|
|
11
|
+
git (1.8.1)
|
|
12
|
+
rchardet (~> 1.8)
|
|
12
13
|
github_api (0.16.0)
|
|
13
14
|
addressable (~> 2.4.0)
|
|
14
15
|
descendants_tracker (~> 0.0.4)
|
|
@@ -16,9 +17,9 @@ GEM
|
|
|
16
17
|
hashie (>= 3.4)
|
|
17
18
|
mime-types (>= 1.16, < 3.0)
|
|
18
19
|
oauth2 (~> 1.0)
|
|
19
|
-
hashie (4.
|
|
20
|
+
hashie (4.1.0)
|
|
20
21
|
highline (2.0.3)
|
|
21
|
-
iostruct (0.0.
|
|
22
|
+
iostruct (0.0.4)
|
|
22
23
|
jeweler (2.3.9)
|
|
23
24
|
builder
|
|
24
25
|
bundler
|
|
@@ -30,52 +31,55 @@ GEM
|
|
|
30
31
|
rake
|
|
31
32
|
rdoc
|
|
32
33
|
semver2
|
|
33
|
-
jwt (2.2.
|
|
34
|
+
jwt (2.2.2)
|
|
34
35
|
mime-types (2.99.3)
|
|
35
|
-
mini_portile2 (2.
|
|
36
|
-
multi_json (1.
|
|
36
|
+
mini_portile2 (2.5.0)
|
|
37
|
+
multi_json (1.15.0)
|
|
37
38
|
multi_xml (0.6.0)
|
|
38
39
|
multipart-post (2.1.1)
|
|
39
|
-
nokogiri (1.
|
|
40
|
-
mini_portile2 (~> 2.
|
|
41
|
-
|
|
40
|
+
nokogiri (1.11.1)
|
|
41
|
+
mini_portile2 (~> 2.5.0)
|
|
42
|
+
racc (~> 1.4)
|
|
43
|
+
oauth2 (1.4.4)
|
|
42
44
|
faraday (>= 0.8, < 2.0)
|
|
43
45
|
jwt (>= 1.0, < 3.0)
|
|
44
46
|
multi_json (~> 1.3)
|
|
45
47
|
multi_xml (~> 0.5)
|
|
46
48
|
rack (>= 1.2, < 3)
|
|
47
|
-
psych (3.
|
|
48
|
-
|
|
49
|
+
psych (3.3.0)
|
|
50
|
+
racc (1.5.2)
|
|
51
|
+
rack (2.2.3)
|
|
49
52
|
rainbow (3.0.0)
|
|
50
|
-
rake (13.0.
|
|
51
|
-
|
|
53
|
+
rake (13.0.3)
|
|
54
|
+
rchardet (1.8.0)
|
|
55
|
+
rdoc (6.3.0)
|
|
52
56
|
rspec (3.9.0)
|
|
53
57
|
rspec-core (~> 3.9.0)
|
|
54
58
|
rspec-expectations (~> 3.9.0)
|
|
55
59
|
rspec-mocks (~> 3.9.0)
|
|
56
|
-
rspec-core (3.9.
|
|
57
|
-
rspec-support (~> 3.9.
|
|
58
|
-
rspec-expectations (3.9.
|
|
60
|
+
rspec-core (3.9.3)
|
|
61
|
+
rspec-support (~> 3.9.3)
|
|
62
|
+
rspec-expectations (3.9.4)
|
|
59
63
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
60
64
|
rspec-support (~> 3.9.0)
|
|
61
65
|
rspec-mocks (3.9.1)
|
|
62
66
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
63
67
|
rspec-support (~> 3.9.0)
|
|
64
|
-
rspec-support (3.9.
|
|
68
|
+
rspec-support (3.9.4)
|
|
65
69
|
semver2 (3.4.2)
|
|
66
70
|
thread_safe (0.3.6)
|
|
67
|
-
zpng (0.3.
|
|
71
|
+
zpng (0.3.2)
|
|
68
72
|
rainbow
|
|
69
73
|
|
|
70
74
|
PLATFORMS
|
|
71
75
|
ruby
|
|
72
76
|
|
|
73
77
|
DEPENDENCIES
|
|
74
|
-
bundler (~> 2.
|
|
78
|
+
bundler (~> 2.2.3)
|
|
75
79
|
iostruct
|
|
76
80
|
jeweler (~> 2.3.9)
|
|
77
81
|
rspec (~> 3.9.0)
|
|
78
82
|
zpng (>= 0.3.1)
|
|
79
83
|
|
|
80
84
|
BUNDLED WITH
|
|
81
|
-
2.
|
|
85
|
+
2.2.3
|
data/README.md
CHANGED
|
@@ -29,17 +29,26 @@ Usage
|
|
|
29
29
|
Usage: zsteg [options] filename.png [param_string]
|
|
30
30
|
|
|
31
31
|
-c, --channels X channels (R/G/B/A) or any combination, comma separated
|
|
32
|
-
valid values: r,g,b,a,rg,
|
|
32
|
+
valid values: r,g,b,a,rg,bgr,rgba,r3g2b3,...
|
|
33
33
|
-l, --limit N limit bytes checked, 0 = no limit (default: 256)
|
|
34
|
-
-b, --bits N number of bits
|
|
34
|
+
-b, --bits N number of bits, single int value or '1,3,5' or range '1-8'
|
|
35
|
+
advanced: specify individual bits like '00001110' or '0x88'
|
|
35
36
|
--lsb least significant BIT comes first
|
|
36
37
|
--msb most significant BIT comes first
|
|
37
38
|
-P, --prime analyze/extract only prime bytes/pixels
|
|
39
|
+
--invert invert bits (XOR 0xff)
|
|
38
40
|
-a, --all try all known methods
|
|
39
41
|
-o, --order X pixel iteration order (default: 'auto')
|
|
40
42
|
valid values: ALL,xy,yx,XY,YX,xY,Xy,bY,...
|
|
41
43
|
-E, --extract NAME extract specified payload, NAME is like '1b,rgb,lsb'
|
|
42
44
|
|
|
45
|
+
--[no-]file use 'file' command to detect data type (default: YES)
|
|
46
|
+
--no-strings disable ASCII strings finding (default: enabled)
|
|
47
|
+
-s, --strings X ASCII strings find mode: first, all, longest, none
|
|
48
|
+
(default: first)
|
|
49
|
+
-n, --min-str-len X minimum string length (default: 8)
|
|
50
|
+
--shift N prepend N zero bits
|
|
51
|
+
|
|
43
52
|
-v, --verbose Run verbosely (can be used multiple times)
|
|
44
53
|
-q, --quiet Silent any warnings (can be used multiple times)
|
|
45
54
|
-C, --[no-]color Force (or disable) color output (default: auto)
|
|
@@ -54,7 +63,8 @@ Examples
|
|
|
54
63
|
|
|
55
64
|
# zsteg flower_rgb3.png
|
|
56
65
|
|
|
57
|
-
|
|
66
|
+
imagedata .. file: 370 XA sysV pure executable not stripped - version 768
|
|
67
|
+
b3,rgb,lsb,xy .. text: "SuperSecretMessage"
|
|
58
68
|
|
|
59
69
|
### Multi-result file
|
|
60
70
|
|
|
@@ -65,16 +75,34 @@ Examples
|
|
|
65
75
|
meta A .. [same as "meta F"]
|
|
66
76
|
meta date:create .. text: "2012-03-15T23:32:46+07:00"
|
|
67
77
|
meta date:modify .. text: "2012-03-15T23:32:14+07:00"
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
78
|
+
imagedata .. file: 68K BCS executable
|
|
79
|
+
b1,r,lsb,xy .. text: "Second cat is Marussia"
|
|
80
|
+
b1,g,lsb,xy .. text: "Good, but look a bit deeper..."
|
|
81
|
+
b1,bgr,lsb,xy .. text: "MF_WIhf>"
|
|
82
|
+
b2,g,lsb,xy .. text: "VHello, third kitten is Bessy"
|
|
72
83
|
|
|
73
84
|
### wbStego even distributed
|
|
74
85
|
|
|
75
86
|
# zsteg wbstego/wbsteg_noenc_even.bmp 1b,lsb,bY -v
|
|
76
87
|
|
|
77
|
-
|
|
88
|
+
imagedata .. file: FoxPro FPT, blocks size 1, next free block index 65537
|
|
89
|
+
00000000: 00 01 00 01 00 00 00 01 00 00 00 00 00 00 00 00 |................|
|
|
90
|
+
00000010: 00 00 00 00 00 00 00 00 00 00 00 01 00 01 01 00 |................|
|
|
91
|
+
00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
|
|
92
|
+
00000030: 00 01 01 01 00 01 00 00 00 00 00 00 01 01 00 01 |................|
|
|
93
|
+
00000040: 01 00 01 01 00 01 00 01 00 01 01 01 01 00 00 00 |................|
|
|
94
|
+
00000050: 00 00 00 01 01 01 01 00 01 00 01 00 00 00 00 01 |................|
|
|
95
|
+
00000060: 00 00 01 01 01 00 00 01 00 01 01 01 00 01 00 00 |................|
|
|
96
|
+
00000070: 01 01 01 00 01 00 00 00 00 00 01 01 01 00 00 00 |................|
|
|
97
|
+
00000080: 00 01 00 01 00 00 01 01 01 01 00 00 00 01 01 00 |................|
|
|
98
|
+
00000090: 00 01 00 01 00 01 01 00 01 00 00 01 00 01 00 00 |................|
|
|
99
|
+
000000a0: 00 01 01 01 00 01 00 01 01 01 00 01 00 00 00 01 |................|
|
|
100
|
+
000000b0: 01 00 01 00 00 01 00 01 00 01 01 01 00 00 00 00 |................|
|
|
101
|
+
000000c0: 01 00 00 00 00 01 00 00 01 01 00 00 01 00 00 00 |................|
|
|
102
|
+
000000d0: 00 00 01 00 00 01 01 01 00 01 01 00 00 01 00 01 |................|
|
|
103
|
+
000000e0: 01 01 01 01 01 01 01 00 00 00 00 00 01 00 00 00 |................|
|
|
104
|
+
000000f0: 00 01 01 01 00 00 01 00 00 00 01 01 00 01 00 01 |................|
|
|
105
|
+
b1,lsb,bY .. <wbStego size=22, data="xtSuperSecretMessage\n", even=true, mix=true, controlbyte="t">
|
|
78
106
|
00000000: 51 00 00 16 00 00 74 0d b5 78 1e a1 39 74 e8 38 |Q.....t..x..9t.8|
|
|
79
107
|
00000010: 53 c6 56 94 75 d1 a5 70 84 c8 27 65 fe 08 72 35 |S.V.u..p..'e..r5|
|
|
80
108
|
00000020: 1f 3e 53 5d a7 65 8b 6e 3b 63 6b 1d bf 72 ee 27 |.>S].e.n;ck..r.'|
|
|
@@ -86,7 +114,7 @@ Examples
|
|
|
86
114
|
|
|
87
115
|
# zsteg wbstego/wbsteg_blowfish_pass_1.bmp 1b,lsb,bY -v
|
|
88
116
|
|
|
89
|
-
|
|
117
|
+
b1,lsb,bY .. <wbStego size=26, data="\rC\xF5\xBF#\xFF[6\e\xB3"..., even=false, hdr="\x01", enc="Blowfish">
|
|
90
118
|
00000000: 1a 00 00 00 ff 01 01 0d 43 f5 bf 23 ff 5b 36 1b |........C..#.[6.|
|
|
91
119
|
00000010: b3 17 42 4a 3f ba eb c7 ee 9c d7 7a 2b |..BJ?......z+ |
|
|
92
120
|
|
|
@@ -94,7 +122,7 @@ Examples
|
|
|
94
122
|
|
|
95
123
|
# zsteg ndh2k12_sp113.bmp -b 1 -o yx -v
|
|
96
124
|
|
|
97
|
-
|
|
125
|
+
b1,rgb,lsb,yx .. zlib: data="%PDF-1.4\n%\xC3\xA4\xC3\xBC\xC3\xB6\xC3\x9F\n2 0 obj\n<</Length 3 0 R/Filter/FlateDecode>>\nstream\nx\x9C\x8DT\xC9n\xDB@\f\xBD\xCFW\xF0\x1C \x13\x92\xB3\x03\x86\x80\xC8K\xD1\xDE\\\b\xE8\xA1...", offset=4, size=186
|
|
98
126
|
00000000: 00 02 eb 9b 78 9c d4 b9 65 54 24 cc 92 36 58 b8 |....x...eT$..6X.|
|
|
99
127
|
00000010: d3 68 e3 ee ee 4e e3 ee ee 0e 85 bb 3b dd 68 23 |.h...N......;.h#|
|
|
100
128
|
00000020: 8d bb bb bb 3b 8d bb bb 3b 34 ee 6e 1f ef 7b ef |....;...;4.n..{.|
|
|
@@ -112,6 +140,11 @@ Examples
|
|
|
112
140
|
000000e0: fd bb 13 a9 e6 3a c9 da 19 34 ae f0 43 bb 90 90 |.....:...4..C...|
|
|
113
141
|
000000f0: 58 88 de 46 ce 91 6f aa 8d d9 7d b8 d6 88 a6 65 |X..F..o...}....e|
|
|
114
142
|
|
|
143
|
+
See also
|
|
144
|
+
--------
|
|
145
|
+
1. https://29a.ch/photo-forensics/
|
|
146
|
+
2. https://holloway.nz/steg/
|
|
147
|
+
|
|
115
148
|
License
|
|
116
149
|
-------
|
|
117
150
|
Released under the MIT License. See the [LICENSE](https://github.com/zed-0xff/zsteg/blob/master/LICENSE.txt) file for further details.
|
data/README.md.tpl
CHANGED
|
@@ -49,6 +49,11 @@ Examples
|
|
|
49
49
|
|
|
50
50
|
% zsteg ndh2k12_sp113.bmp -b 1 -o yx -v
|
|
51
51
|
|
|
52
|
+
See also
|
|
53
|
+
--------
|
|
54
|
+
1. https://29a.ch/photo-forensics/
|
|
55
|
+
2. https://holloway.nz/steg/
|
|
56
|
+
|
|
52
57
|
License
|
|
53
58
|
-------
|
|
54
59
|
Released under the MIT License. See the [LICENSE](https://github.com/zed-0xff/zsteg/blob/master/LICENSE.txt) file for further details.
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.2.
|
|
1
|
+
0.2.3
|
data/zsteg.gemspec
CHANGED
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
|
4
4
|
# -*- encoding: utf-8 -*-
|
|
5
|
-
# stub: zsteg 0.2.
|
|
5
|
+
# stub: zsteg 0.2.3 ruby lib
|
|
6
6
|
|
|
7
7
|
Gem::Specification.new do |s|
|
|
8
8
|
s.name = "zsteg".freeze
|
|
9
|
-
s.version = "0.2.
|
|
9
|
+
s.version = "0.2.3"
|
|
10
10
|
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
|
12
12
|
s.require_paths = ["lib".freeze]
|
|
13
13
|
s.authors = ["Andrey \"Zed\" Zaikin".freeze]
|
|
14
|
-
s.date = "
|
|
14
|
+
s.date = "2021-02-18"
|
|
15
15
|
s.email = "zed.0xff@gmail.com".freeze
|
|
16
16
|
s.executables = ["zsteg".freeze, "zsteg-mask".freeze, "zsteg-reflow".freeze]
|
|
17
17
|
s.extra_rdoc_files = [
|
|
@@ -103,30 +103,24 @@ Gem::Specification.new do |s|
|
|
|
103
103
|
]
|
|
104
104
|
s.homepage = "http://github.com/zed-0xff/zsteg".freeze
|
|
105
105
|
s.licenses = ["MIT".freeze]
|
|
106
|
-
s.rubygems_version = "2.
|
|
106
|
+
s.rubygems_version = "3.2.3".freeze
|
|
107
107
|
s.summary = "Detect stegano-hidden data in PNG & BMP files.".freeze
|
|
108
108
|
|
|
109
109
|
if s.respond_to? :specification_version then
|
|
110
110
|
s.specification_version = 4
|
|
111
|
+
end
|
|
111
112
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
else
|
|
119
|
-
s.add_dependency(%q<zpng>.freeze, [">= 0.3.1"])
|
|
120
|
-
s.add_dependency(%q<iostruct>.freeze, [">= 0"])
|
|
121
|
-
s.add_dependency(%q<rspec>.freeze, ["~> 3.9.0"])
|
|
122
|
-
s.add_dependency(%q<bundler>.freeze, ["~> 2.1.4"])
|
|
123
|
-
s.add_dependency(%q<jeweler>.freeze, ["~> 2.3.9"])
|
|
124
|
-
end
|
|
113
|
+
if s.respond_to? :add_runtime_dependency then
|
|
114
|
+
s.add_runtime_dependency(%q<zpng>.freeze, [">= 0.3.1"])
|
|
115
|
+
s.add_runtime_dependency(%q<iostruct>.freeze, [">= 0"])
|
|
116
|
+
s.add_development_dependency(%q<rspec>.freeze, ["~> 3.9.0"])
|
|
117
|
+
s.add_development_dependency(%q<bundler>.freeze, ["~> 2.2.3"])
|
|
118
|
+
s.add_development_dependency(%q<jeweler>.freeze, ["~> 2.3.9"])
|
|
125
119
|
else
|
|
126
120
|
s.add_dependency(%q<zpng>.freeze, [">= 0.3.1"])
|
|
127
121
|
s.add_dependency(%q<iostruct>.freeze, [">= 0"])
|
|
128
122
|
s.add_dependency(%q<rspec>.freeze, ["~> 3.9.0"])
|
|
129
|
-
s.add_dependency(%q<bundler>.freeze, ["~> 2.
|
|
123
|
+
s.add_dependency(%q<bundler>.freeze, ["~> 2.2.3"])
|
|
130
124
|
s.add_dependency(%q<jeweler>.freeze, ["~> 2.3.9"])
|
|
131
125
|
end
|
|
132
126
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: zsteg
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.2.
|
|
4
|
+
version: 0.2.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Andrey "Zed" Zaikin
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2021-02-18 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: zpng
|
|
@@ -58,14 +58,14 @@ dependencies:
|
|
|
58
58
|
requirements:
|
|
59
59
|
- - "~>"
|
|
60
60
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: 2.
|
|
61
|
+
version: 2.2.3
|
|
62
62
|
type: :development
|
|
63
63
|
prerelease: false
|
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
65
|
requirements:
|
|
66
66
|
- - "~>"
|
|
67
67
|
- !ruby/object:Gem::Version
|
|
68
|
-
version: 2.
|
|
68
|
+
version: 2.2.3
|
|
69
69
|
- !ruby/object:Gem::Dependency
|
|
70
70
|
name: jeweler
|
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -80,7 +80,7 @@ dependencies:
|
|
|
80
80
|
- - "~>"
|
|
81
81
|
- !ruby/object:Gem::Version
|
|
82
82
|
version: 2.3.9
|
|
83
|
-
description:
|
|
83
|
+
description:
|
|
84
84
|
email: zed.0xff@gmail.com
|
|
85
85
|
executables:
|
|
86
86
|
- zsteg
|
|
@@ -176,7 +176,7 @@ homepage: http://github.com/zed-0xff/zsteg
|
|
|
176
176
|
licenses:
|
|
177
177
|
- MIT
|
|
178
178
|
metadata: {}
|
|
179
|
-
post_install_message:
|
|
179
|
+
post_install_message:
|
|
180
180
|
rdoc_options: []
|
|
181
181
|
require_paths:
|
|
182
182
|
- lib
|
|
@@ -191,9 +191,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
191
191
|
- !ruby/object:Gem::Version
|
|
192
192
|
version: '0'
|
|
193
193
|
requirements: []
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
signing_key:
|
|
194
|
+
rubygems_version: 3.2.3
|
|
195
|
+
signing_key:
|
|
197
196
|
specification_version: 4
|
|
198
197
|
summary: Detect stegano-hidden data in PNG & BMP files.
|
|
199
198
|
test_files: []
|