Never ever ever use pixelation as a redaction technique
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Dan Petro fc383c7af1
Merge pull request #13 from novedevo/patch-1
1 year ago
img Public release 1 year ago
src Merge pull request #2 from n3rada/patch-1 1 year ago
.eslintrc Public release 1 year ago
.gitignore Public release 1 year ago
LICENSE Initial commit 2 years ago
README.md Fix minor typos/grammar 1 year ago
index.css Add background color 1 year ago
index.html Public release 1 year ago
package-lock.json Public release 1 year ago
package.json Public release 1 year ago
secret.png Changed default font to Arial 1 year ago
test.html Changed default font to Arial 1 year ago
tsconfig.json Public release 1 year ago

README.md

Unredacter

Shows you why you should never ever ever use pixelation as a redaction technique. For a more complete writeup of how this works, check out my blog post here.

wow such secrets

How to Try it Out

Install the dependencies:

npm install

Then start with

npm start

That's it.

How to Crack Your Own Pixelated Image

This is a bit manual and not at all streamlined. I think you'll see why. If someone feels like taking a shot at making this process more in-app, I'm all ears. What do I look like, an Electron developer? But yea here it is:

  1. Crop your image down to just the pixelated area. No borders, no other text. Replace secret.png with that. I recommend doing it in GiMP.

  2. Make note of the block size (it's just the size of each pixelated block). Replace blockSize in the code with that.

  3. Get the CSS just right. This is the hardest and most time-consuming part. Try entering it into test.html and view it in Chrome. Tweak it until you can replicate some sample text as exactly as possible. Pay particular attention to the word and letter spacing. If it skews, then it'll all mess up. Also the font-weight, or else things will end up too light or dark. I can't emphasize enough how critical this step is, as the whole thing really depends on being able to correctly replicate the redacted characters.

  4. Determine what character set you want to try. It's at the top of preload.ts.

  5. Press the go button and see if it works!