frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Open in hackernews

Decoding the obfuscated bash script on a Uniqlo t-shirt

https://tris.sherliker.net/blog/obfuscated-self-evaluating-bash-script-by-cdn-akamai-being-supplied-to-consumers-via-retail-stores/
139•speerer•1h ago

Comments

Tiberium•1h ago
OCRing this is a nightmare and is a good benchmark to any self-proclaimed good OCR/vision model.

I think though it could likely be easily OCR'd if you give the image to any decent agentic harness with a good vision model, e.g. newest Claude/GPT ones, and tell them to split the image per lines, and then just OCR each line individually.

I wonder if the script itself was written by an LLM before obfuscation? There seem to be a lot of comments in it, but in this case it's still ok :)

IshKebab•46m ago
Definitely LLM. No humans write that many comments.
Tiberium•43m ago
Honestly it's a bit of a shame. I checked and they could've shortened their base64 payload by 304 chars by removing all comments except the top two congratulatory ones, or by 524 if they removed those too.
saidnooneever•38m ago
im just sad it didnt render a qr code leading to malware :'). the different ways ppl look at obfuscated codes and scripts hah
OtherShrezzing•7m ago
Would they still get the highlighted "PEACE FOR ALL" text throughout the shortened string? It looks like the length, and presence of those characters, was an explicit design choice.
lemagedurage•2m ago
Maybe they added the comments to get a longer payload for the sake of the shirt's design.

The comments can be more cute/awe inspiring for people who aren't as familiar with bash but like solving puzzles as well.

petu•23m ago
Human could write that many comments to get enough base64 text for a design. Maybe to even get some of the highlighted characters in places they want (roughly equally spaced apart).
ChrisMarshallNY•9m ago
Ahem...

My code usually clocs at 50/50 (or thereabouts)[0]. Has, since my very first real engineering project (in 1987)[1]. I discuss in detail, here[2].

But one reason that I like LLMs, is that they help me to write even more documentation. I have found that I can instruct an LLM to revise my documentation, and make it even more effective.

[0] https://github.com/ChrisMarshallNY (My GH profile. Pretty much everything there, is like that -has, since long before LLMs were a broken rubber on the drug store shelf).

[1] https://littlegreenviper.com/wp-content/uploads/2022/07/TF30... (Downloads a PDF)

[2] https://littlegreenviper.com/leaving-a-legacy/

latexr•8m ago
> No humans write that many comments.

Especially in a case like this, I would definitely write a lot of comments to aid in understanding, thus increasing trust so people would try it out and tinker with it.

lemagedurage•11m ago
I don't think it was written by an LLM, some things stand out:

The congratulations text is both in English and Japanese. Contains a single heart emoji.

There was an intention to have a cyan to orange gradient, but the range starts in an ANSI block, ends halfway through the 256 color block and 256 terminal colors are not arranged like a gradient at all.

There's no sleep at the end of the loop where I feel like an LLM would add that defensively.

bryanrasmussen•1h ago
Why does the shirt have an obfuscated bash script on the back?
Tiberium•1h ago
Because it's by Akamai, the blog links to https://www.akamai.com/newsroom/press-release/uniqlo-adds-ne...
kay_o•1h ago
Uniqlo frequently does collaborations. This was one with a tech company
wbh1•4m ago
It's at least the second one that Akamai's done, although I like this newest one the most.

The old one was: https://www.uniqlo.com/us/en/products/E459561-000/00

high_byte•1h ago
what if it contained a zero day for tesseract and the script you thought you got is just a throwaway
dylanzhangdev•53m ago
Cool! I bought one a few months ago as soon as I spotted it at a Uniqlo store, and later ordered a larger size online—I really love wearing them. But it never occurred to me to look into the story behind them.
haileys•43m ago
I thought it was funny that the author used a variety of OCR tools with mixed success before spending a lot of time manually fixing up the output from the best one, rather than just typing it in
mayas_•37m ago
"just typing it" would be more error prone for the average human
rtldg•22m ago
Took me almost 2 minutes for 4 lines (and I missed a character in one of them!). I would opt for OCR too, obviously so I'm prepared for the next bash t-shirt I'd come across...
OtherShrezzing•3m ago
I think this is a case where two people can successfully complete the task manually faster than one attempting to automate it. Get a ruler, read five centimetres of characters to your colleague, have them repeat that five centimetres back to you, correct as you go. Trial-and-error adjust the five-cm distance depending on your success rate as you go along.

All in, you should have a non-corrupted string in 10-15 min.

christoph•15m ago
That was also my thought… but I grew up mashing rubber keys for hours copying “games” out of magazines and books! Then hours after fixing all the typos!
duskdozer•13m ago
DrewADesign•36m ago
> I guess Uniqlo is run through Windows though: one thing that struck me was the font, which I’m almost certain is Consolas,

Surely this would use whatever font the virtual terminal profile was set to? I don’t know of any method to choose a virtual terminal font from bash and don’t see any code that addresses it?

nisiddharth•34m ago
They're referring to the font on the T-shirt.
tym0•16m ago
Thank you for spelling it out for me because I thought I was looking at a completely hallucinated AI article...
world2vec•35m ago
Oh wow I saw that tshirt at the store and said to my girlfriend "no way that script is functional, probably just for show". I should have persevered.
doppp•21m ago
Thanks for the post! Love Easter Eggs like these!
lloydatkinson•19m ago
P ./cool.sh: line 31: bc: command not found ./cool.sh: line 34: bc: command not found ./cool.sh: line 37: bc: command not found E ./cool.sh: line 31: bc: command not found ./cool.sh: line 34: bc: command not found ./cool.sh: line 37: bc: command not found

Very wow. Shame they assumed everyone has "bc"...

greazy•16m ago
Which distro are you running? Perchance did you run the shell script in alpine Linux (docker)?
em500•7m ago
Why would that be a shame? "bc" is a mandatory POSIX command, while /bin/bash isn't (/bin/sh is the standard).
piacos_•2m ago
it doesn't seem to be installed on my endeavouros laptop
comradesmith•3m ago
You are fun.
icevl•19m ago
Base64 without error correction turns the t-shirt itself into a lossy transport layer, so the OCR/transcription step becomes the actual challenge.
l337h4x0rz•15m ago
there's no newline between the shebang and the actual code
I'm guilty of this, but for me this kind of thing is optimizing over annoyance rather than time.

Decoding the obfuscated bash script on a Uniqlo t-shirt

https://tris.sherliker.net/blog/obfuscated-self-evaluating-bash-script-by-cdn-akamai-being-suppli...
145•speerer•1h ago•35 comments

GitLost: We Tricked GitHub's AI Agent into Leaking Private Repos

https://noma.security/blog/gitlost-how-we-tricked-githubs-ai-agent-into-leaking-private-repos/
202•ColinEberhardt•5h ago•80 comments

How to Build a Minimal ZFS NAS Without Synology, QNAP, TrueNAS (2024)

https://neil.computer/notes/how-to-setup-minimal-zfs-nas-without-truenas/
203•4diii•6h ago•122 comments

Tenda firmware (multiple versions) contains hidden authentication backdoor

https://kb.cert.org/vuls/id/213560
222•miniBill•10h ago•70 comments

Copy That Floppy – Cambridge guide for preserving data from fragile floppy disks

https://www.digipres.org/the-floppy-guide/
79•whiteblossom•7h ago•23 comments

Structure and Interpretation of Computer Programs Video Lectures (1986)

https://ocw.mit.edu/courses/6-001-structure-and-interpretation-of-computer-programs-spring-2005/v...
183•gjvc•10h ago•19 comments

GAO: DOE Is Prematurely Excluding Less Expensive Options for Nuclear Cleanup

https://www.gao.gov/products/gao-26-108193
209•Jimmc414•12h ago•100 comments

Chat Control 1.0 and 2.0 Explained

https://fightchatcontrol.eu/chat-control-overview
670•gasull•20h ago•261 comments

Local, CPU-Friendly, High-Quality TTS (Text-to-Speech) with Kokoro

https://ariya.io/2026/03/local-cpu-friendly-high-quality-tts-text-to-speech-with-kokoro/
421•speckx•16h ago•80 comments

Canada's only watchmaking school still ticking after 80 years

https://www.cbc.ca/news/canada/montreal/canada-s-only-watchmaking-school-9.7254211
145•throw0101a•3d ago•71 comments

Geosql: A Claude/Codex skill for geospatial data

https://github.com/dekart-xyz/geosql
9•rzk•1h ago•0 comments

The difference between "today's task" and "accretive work"

https://pluralistic.net/2026/07/02/canonization/
56•hn_acker•5d ago•27 comments

30papers.com – Ilya's 30 essential ML papers, in a beginner friendly format

https://30papers.com/
530•notmcrowley•18h ago•78 comments

EVE Online's Carbon engine is now open source: Fenris Creations explains why

https://www.gamesindustry.biz/eve-onlines-carbon-engine-is-now-open-source-fenris-creations-expla...
31•Stevvo•4d ago•1 comments

Home made GPU escalated quickly [video]

https://www.youtube.com/watch?v=qMR3IXF2sWw
42•erichocean•2d ago•10 comments

Show HN: Davit, a Apple Containers UI

https://davit.app
311•xinit•15h ago•75 comments

LineageOS Statistics

https://stats.lineageos.org
96•pentagrama•9h ago•57 comments

Herdr: One terminal to rule them all

https://herdr.dev/
292•handfuloflight•6d ago•133 comments

Ants: Who looks after the injured in a colony?

https://www.uni-wuerzburg.de/en/news-and-events/news/detail/news/ameisen-kolonie-verletzte-pflegt/
14•hhs•4d ago•2 comments

Automate Excel with Python: From manual grind to one-click workflow

https://nostarch.com/automate-excel-with-python
12•teleforce•3d ago•8 comments

Show HN: Rowboat – Open-source, local-first alternative to Claude Desktop

https://github.com/rowboatlabs/rowboat
162•segmenta•18h ago•51 comments

l: A new runtime for k and q

https://lv1.sh/
146•skruger•16h ago•87 comments

IEEE Rolls Out Large Language Models Training Course

https://spectrum.ieee.org/large-language-models-ieee-course
78•JeanKage•1w ago•10 comments

Scheme Is a Hoot

https://gracefulliberty.com/notes/scheme-is-a-hoot/
80•signa11•2d ago•13 comments

Every new car sold in the European Union must include a driver monitoring camera

https://allaboutcookies.org/eu-mandatory-distracted-driver-system
653•nickslaughter02•13h ago•825 comments

Jim's TrueType QR Code Font

https://github.com/jimparis/qr-font
183•arantius•18h ago•22 comments

Show HN: Chiptune Radio

https://chiptune-radio.alephvoid.com/
52•bootbloopers•9h ago•14 comments

Why we built yet another Postgres connection pooler

https://pgdog.dev/blog/why-yet-another-connection-pooler
193•levkk•18h ago•45 comments

StreetComplete: Fixing OpenStreetMap, one tiny quest at a time

https://streetcomplete.app/
768•kls0e•21h ago•189 comments

Notes on Software Quality

https://anthonyhobday.com/blog/20260410
134•speckx•16h ago•57 comments