Skip to content

Commit f41edf5

Browse files
v1.0
1 parent c700aa1 commit f41edf5

15 files changed

Lines changed: 2079 additions & 1 deletion

README.md

Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,45 @@
11
# Stegotreon
2-
Signs image files to catch naughty leakers ;)
2+
3+
> Signs image files to catch naughty leakers ;)
4+
5+
## Description
6+
7+
Stegotreon takes a PNG file and a line-separated text file, then automatically generates files with text hidden inside through steganograpy.
8+
9+
Artists on Patreon (and elsewhere) have an issue where their art is leaked outside the paywall. Some have resorted to sending image files directly to patrons, though leaks still happen. Stegotreon creates unique variants of the image file that can be reversed to identify the leaker, even if the file name is changed.
10+
11+
<p align="center"> <img src="Screenshot.png"> </p>
12+
13+
## Usage
14+
15+
1. Browse to the Image File.
16+
2. Browse to the TXT File containing unique identifiers (e.g. usernames, emails).
17+
3. Change the Save directory if necessary.
18+
4. Select a Steganograpy type: *GUID* generates a unique identifier (e.g. 68dcd06e-a7b5-4a28-93be-612035b1d515). This is good because it doesn't reveal any PII (Personally Identifiable Information), and is confusing if someone does try to reveal the text. If GUID is selected (default), a text file with GUID:Name pairs will be generated for lookup. *Plaintext* will just simply hide the name as supplied in the TXT file in the image.
19+
5. Select an Output type: *Output as Folders* will generate a folder for each identifier in the TXT file. *Output as Files* will generate the image files in the working directory with the identifier (first 8 characters in the case of GUID) appended at the end of the filename.
20+
6. Select a Naming type: *Original* just uses the original filename of the image. Only available for Output as Folders. *Append Name* will append the full identifier from the TXT file at the end of the filename (e.g. Filename_RoC.png). *Append GUID* will append the first 8 characters of the GUID at the end of the filename (e.g. Filename_68dcd06e.png), for lookup in GUIDLookup.txt in the future.
21+
7. Embed!
22+
23+
Suggested Settings:
24+
> Stego Type - GUID | Output Type - Output as Folders | Naming Type - GUID
25+
26+
## Extraction
27+
28+
1. Hit the Extract Tab.
29+
2. Browse to the Image File.
30+
3. Extract!
31+
32+
## Limitations
33+
34+
1. Steganograpy is easily defeated if any post-processing is done to the image, especially if it is compressed or converted to JPEG.
35+
2. While this tool drastically decreases the time it takes to process batch steganograpy, it is still very time consuming to send the files.
36+
3. No error handling exists - expect errors if you don't use the tool right.
37+
4. This tool only handles PNG-24 (.png) files.
38+
39+
## License
40+
41+
[MIT License](https://github.com/ReignOfComputer/Stegotreon/blob/master/LICENSE) | &copy; 2019 ReignOfComputer
42+
43+
## Credits
44+
45+
Steganograpy Logic is taken from ktekeli's [img-stego](https://github.com/ktekeli/img-stego/).

Screenshot.png

395 KB
Loading

Stegotreon.sln

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
2+
Microsoft Visual Studio Solution File, Format Version 12.00
3+
# Visual Studio 15
4+
VisualStudioVersion = 15.0.27428.2015
5+
MinimumVisualStudioVersion = 10.0.40219.1
6+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Stegotreon", "Stegotreon\Stegotreon.csproj", "{B48740FB-47A0-4E01-8C84-2FB5B857FE51}"
7+
EndProject
8+
Global
9+
GlobalSection(SolutionConfigurationPlatforms) = preSolution
10+
Debug|Any CPU = Debug|Any CPU
11+
Release|Any CPU = Release|Any CPU
12+
EndGlobalSection
13+
GlobalSection(ProjectConfigurationPlatforms) = postSolution
14+
{B48740FB-47A0-4E01-8C84-2FB5B857FE51}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
15+
{B48740FB-47A0-4E01-8C84-2FB5B857FE51}.Debug|Any CPU.Build.0 = Debug|Any CPU
16+
{B48740FB-47A0-4E01-8C84-2FB5B857FE51}.Release|Any CPU.ActiveCfg = Release|Any CPU
17+
{B48740FB-47A0-4E01-8C84-2FB5B857FE51}.Release|Any CPU.Build.0 = Release|Any CPU
18+
EndGlobalSection
19+
GlobalSection(SolutionProperties) = preSolution
20+
HideSolutionNode = FALSE
21+
EndGlobalSection
22+
GlobalSection(ExtensibilityGlobals) = postSolution
23+
SolutionGuid = {C12277A0-B11C-4C99-BEC1-873A3174E83D}
24+
EndGlobalSection
25+
EndGlobal

Stegotreon/App.config

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<configuration>
3+
<startup>
4+
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
5+
</startup>
6+
</configuration>

Stegotreon/Form1.Designer.cs

Lines changed: 446 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)