steganologgerA VSCode extension/python script duo to encode and decode data in plots. NOTE: Somehow, this extension does not always work on remote systems if you install from the Marketplace on the remote. You can install the .vsix package from the release on GitHub to install the extension on remote systems manually. UsageDecodingThis is done by the VSCode extension (for the usage of the python script, see below).
Right click an png, pdf or svg file in the explorer window. At the bottom of the context menu, the option "Decode image" will appear. If this option is chosen, the decoded text (if any) will be shown in the EncodingThis uses the python script https://github.com/juupje/steganologger/blob/main/python/steganologger.py. Download the script and put it somewhere in your python path. You can then include the script and use the
The The file in which the data should be encoded, can either be a PNG image, a PDF document or an SVG file. The data will be encoded as follows:
For more details on the usage of the Using the python script from the commandlineYou can also call the python file mentioned above from the commandline. For example, to see data saved in the image above, use
In VSCodeThe extension adds a new tab to the panel. After decoding the image created in the example above by right-clicking on the image in the file explorer and delecting Comparing decoded informationGiven that this tool's main use-case is the encoding of the configuration file(s) used to create a plot, a very useful feature of the extension is the compare mode. By clicking on the book-icon in the panel when the Steganologger view is active, the comparison mode is toggled. Use the two dropdown menus to select two decoded files and click on the Note: this feature only supports json data. That means, if you use yaml configuration files, you will not be able to use this feature. I might add yaml support in the future, if enough people ask for it :). InstallationPython script
VSCode extensionSearch for 'Steganologger' in the VSCode Marketplace and install it. Note: DO NOT install the extension on remote systems using the 'install on ...' button in VSCode. Somehow, it will not work but get stuck on loading the extension. Instead, download the .vsix package from the release on GitHub (make sure it is the newest version) to your remote system, and from within VSCode, right-click it and click 'Install extension VSIX" to install the extension on remote systems manually. Known bugs/issues
This extension has been tested to a reasonable extent, but more bugs are likely to exist. If you find a bug or have a feature request, let me know: |