Skip to content

kay-a11y/aftermark

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

aftermark

PyPI CLI Tool Anti-Watermark Forensic Clean

Obliterate hidden watermarks from platform screenshots.

Why

Many modern platforms embed user-specific watermarks into app screenshots. These watermarks are invisible to the eye but detectable via equalization or frequency analysis. Some are LSB-based, some render snow-like patterns across RGB channels. Some even survive compression. They are all a form of tracking. And no one should be silently tagged just for sharing a screenshot.

Two-thirds of high-traffic mobile apps in China now tag screenshots; many started in 2022 after Douban & Zhihu incidents. Outside China, it's still niche. Except for DRM-heavy verticals (video streaming, enterprise VDI) where "forensic" marks are universal. While tech diversity is widening, we still see classic LSB and DCT hacks. But 2024-25 papers (ScreenMark, CoreMark) chase camera-shot-robust patterns that sit in mid-frequency bands or irregular point clouds.

Features

  • Crop status bar or header manually
  • Jitter, blur, and add noise to disrupt invisible alignment
  • Median filtering to dissolve patterned bands
  • All automated with CLI, batchable

Quick Install

pip install aftermark
nuke myshot.png

Tinker / Contribute

git clone https://github.com/kay-a11y/aftermark.git
cd aftermark
pip install -e ".[dev]"
Optional OS tools
sudo apt install -y imagemagick libimage-exiftool-perl
  • ImageMagick - equalize / compare / attacks
  • ExifTool - deep metadata wipe

Usage

  1. One-off file → result is saved next to your shell's CWD

    nuke demo/demo.jpg
    # ➜ ./demo_clean.jpg
  2. One-off file with explicit output folder

    nuke demo/demo.jpg out/
    # ➜ out/demo_clean.jpg
  3. Batch clean a whole folder

    nuke raw_screens/ out/
    # ➜ out/<each>_clean.jpg

Arguments:

input: Path to an image file or a directory of images.

outdir: Destination folder (created if missing). Optional for single-file mode; defaults to the current working directory (".").

--crop: crops a configurable top margin (default=0 px)

--header: applies a 3*3 median to the first PX pixels (default=32 px)

--quality: rewrites the image as low-quality JPEG (default=40)

Before & After

All comparisons below are shown after applying convert -equalize for visibility. See nuke folder for more examples.

Original (Douban) Cleaned (aftermark)
Before After

This was scraped from a third party. The snow-pattern fingerprint of the original user still lingers beneath the surface.

Documentation

See the full walkthrough.

Further Reading

About

CLI to nuke hidden UID watermarks from screenshots. Forensic-grade clean.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors