[Boards: 3 / a / aco / adv / an / asp / b / bant / biz / c / can / cgl / ck / cm / co / cock / d / diy / e / fa / fap / fit / fitlit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mlpol / mo / mtv / mu / n / news / o / out / outsoc / p / po / pol / qa / qst / r / r9k / s / s4s / sci / soc / sp / spa / t / tg / toy / trash / trv / tv / u / v / vg / vint / vip / vp / vr / w / wg / wsg / wsr / x / y ] [Search | Free Show | Home]

https://careers.mi5.gov.uk/opportun ities/coding-challenge Well

This is a blue board which means that it's for everybody (Safe For Work content only). If you see any adult content, please report it.

Thread replies: 85
Thread images: 8

File: puzzle.png (1KB, 92x163px) Image search: [Google]
puzzle.png
1KB, 92x163px
https://careers.mi5.gov.uk/opportunities/coding-challenge

Well /g/, can you solve it?
>>
How are these kind of things done?
Opened it in a HEX editor, gave me a cryptic comment, now what?
>>
>>52888920
"I read, numbers I see. 'Twould be a shame not to count this art among the great texts of our time"

Let's solve this shit /g/
>>
>>52888920
they already put the solutions up
>>
>>52889148
oops, should say "As I read..."
>>
>>52889153
link?
>>
When catting the image it prints
HëmltEXtCommentAs I read, numbers I see. 'Twould be a shame not to count this art among the great texts of our time7ªIEND®B
among other garbage,

The image doesn't perfectly tile.

There are no "hidden pixels" (as in pixels with a slightly different color).
>>
>>52889331
Do you think maybe the pixels are some sort of binary code? Since there's only two colors. I don't know how you would go about decoding that though.

Maybe that's what it means "numbers I see". Binary numbers
>>
>>52889331
The hex of the two colors is e8038a and 3ab9e5.

Opening the image in audacity to check the waveform doesn't really show special results.
>>
ITT: all cryptonerds of /g/ get a job

no stego either as far as I can tell
>>
Currently on my phone so I can't do this, anyone want to get those two colours and treat them as 0/1 to see if it makes a message out of 8-bit ASCII (or similar) of some kind?
>>
>>52889370
or the numbers of pixels from the left (for example) till the color changes, since all the lines are slightly diagonal.
>>
I put the file into the Occulus Rift and could find some 3D structure in it. Looks like some kind of transfinite numbers in a sequence of 4 numbers ; 3 numbers and then only one. but I don't know that much about that...
>>
>>52889618
can you like take a picture somehow
>>
>>52889514
I was thinking that, it's 92 pixels wide though so doesn't align nicely with 8-bit blocks.
>>
>>52889674
What about vertically?
>>
>>52889711
its 163 vertically
>>
>>52889711
163 px
>>
>>52889711
163 vertically, can't divide nicely there either.
>>
File: 1433006902004.jpg (60KB, 436x361px) Image search: [Google]
1433006902004.jpg
60KB, 436x361px
Is this sort of archive out of the question?
>>
Well I give up for now. How are you supposed to know how to do these things? What kind of education? Or do you just need to spend large amounts of time research cryptography techniques?
>>
>>52889920
Too few colours.
I'm betting we're looking to take some kind of numerical value and turn it in to text. Going line by line, counting pixels of one colour, then the other and looking them up against an ASCII table isn't getting me good results.
>>
>>52888920
Probably, but I'll never work for those bastards.

Amongst other things, the pay is famously shit.
>>
>>52889949
Given how little information there is in this file, I doubt we're looking at any kind of advanced cryptographic techniques. I'll be something dumb like a code wheel.
>>
>>52889920
That's called snowcrash
>>
The ONLY result for searching "As I read, numbers I see." is a comment on this site in 2012. Strange.
http://www.100words.ca/?p=4289#comment-5969

Punctuation in the image's text and possible scope of the challenge puts this out though.
>>
>>52890142
Yeah, I doubt it's the image is referencing the bible due to the punctuation
>>
I have an idea but i'm too lazy to try it.
It's like a tv not "interlacing" well
We have to correct the width (wrapping on new line) and phase (start) maybe also rotation
>>
File: 2016-02-09-223942_562x662_scrot.png (32KB, 562x662px) Image search: [Google]
2016-02-09-223942_562x662_scrot.png
32KB, 562x662px
Converting the png to raw image data gives this repeating pattern
And it just repeats, with different intervals of 3ab9 e5ff and e803 8aff patterns
>>
Long shot but anything interesting in the alpha channel? I can see it has one but weird given that the PNG has been so stripped down, normal PNG crushing would remove the transparency layer if it's not used.
>>
>>52890142
Ehh, really only 1 result. it seems like something that would be said more, especially since there are so many non native English speakers on the internet who can't form perfect sentences.

weird indeed, however, I don't think it's related
>>
>>52890210
My guess is that we have to count the intervals somehow.
>>
>>52890210
can you open the raw data in something like audacity? see if the graph shows something interesting.

>>52890261
I noticed that as well, however I think many programs create pngs with alpha channels by default
>>
File: 2016-02-09-16:48:28-scrot.jpg (389KB, 1366x768px) Image search: [Google]
2016-02-09-16:48:28-scrot.jpg
389KB, 1366x768px
>>52890261
don't think so.
>>
maybe the amount of pixels in each line can be used to get some result?
>>
1. Count the length of each run of a color. This gives you a series of numbers: 52 51 45 54 70 45 54 69 45 54 55
2. Decode as ascii. This gives you a string of hex digits: 43-6F-6E-67-72-61....
3. Decode as ascii again: "Congratulations, ..."

This is too easy. What's even the point of working there now.
>>
>>52890315
as a signed 32-bit PCM at 44100, this is what I got. Looks like something that can be processed, I reckon. My signals processing knowledge is pretty low, but it looks like it might be differential manchester encoding? Spectogram's useless
>>
>>52890503
do the pixels continue onto the next line? Because some of them are too short to be ascii decimal numbers. I already tried it.
>>
>>52890547
Yes, ignore the image width and consider it one long string.
>>
>>52890547
Yes, just did it myself. Thread done.
>>
>>52890572
>>52890573
Well damn. We were way overthinking it
>>
so what's the message? "you are a time wasting faggot"?
>>
Do you autists see the impllication of this? Managers get to send all the hard problems to you and then take the credit for it, and make more money. lols. good luck nerds.
>>
>>52890635
No, at least in this case they'll just get some poor applicants.
>>
>>52890584
how to do that efficiently? Never made a filereader for an image before
>>
>>52890700
read python docs you double nigger like the rest of us
>>
>>52890700
I converted to ppm and did a search&replace in Vim, kek
>>
>>52890719
post results
>>
>>52890584
>I doubt we're looking at any kind of advanced cryptographic techniques. I'll be something dumb like a code wheel.

Double layered but I was right, replace code wheel with ASCII lookup (or for fun, make your own ASCII code wheel!).
>>
>>52890719
converted it and opened it in vim

now to replace what?

teach me please, senpai
>>
File: lol.png (1KB, 623x480px) Image search: [Google]
lol.png
1KB, 623x480px
>>52890754
Already did, >>52890503

>>52890796
Vim is binary safe, so I just looked at the first byte of each of the two possible pixel colors:
:%s/è../#/g
:%s/:../_/g



Here's what I looked at in Vim while trying to see if I could align it to something, before I broke it up into multiple lines with:

:%s/_#/_^M#/g
>>
lmao, the link doesn't even resolve without www. QUALITY BRITISH ORGANISATION
>>
Ok, full SPOILER SPOILER SPOILER below, click at your own missed enjoyment. It's a shame it's not a little more interesting -

http://paste.debian.net/plain/379437
>>
>>52891042
WEEEW LAD

i feel cucked ( I did the vim substitution and wrote a c++ programm to convert the txt )
>>
>>52891088
lol. it's certainly not the cleanest code I've ever written. it's 23:36 here, and I usually write ruby
>>
>>52891042
Damn, just solved it

All that effort, and all we get is that?

Fuck the Brits
>>
>>52891143
Nice. Share your code? Curious to see other solutions. Don't worry if it's not neat (I actually neatened mine before posting, if you can believe that)
>>
File: 1449385793415.jpg (35KB, 800x600px) Image search: [Google]
1449385793415.jpg
35KB, 800x600px
>>52891117
00:38 and I usually write bash, kek

still good job anon! have a rare pepe
>>
>>52891165
I used the vim search and replace method and then just did a series of search and replaces until the ppm was formatted into decimal numbers, then I plugged them into here https://www.branah.com/ascii-converter

I was too lazy to write code lol
>>
>>52891202
I'm >>52890503 and I did it mostly in bash:

cat lol2 | awk '{print length($1)}' | while read r; do printf "\\x$(printf "%x" "$r")";  done


Dirty as shit but it's very quick
>>
>>52890818
>
:%s/_#/_^M#/g

doesn't work for me, it just adds some '^'
what am I doing wrong?
>>
>>52891267
Use \r instead of ^M
>>
>>52891267
The ^M has to be written Ctrl-V Ctrl-M
>>
>>52891261
that's nice, I think I understand. Im still learning both btw. Could you break that one down for me for easier understanding please? Thanks :)
>>
These things are pretty boring. They're way too simple. It's guesswork. They do not use any actual cryptographic techniques.
>>
>>52891318
being good at guesswork is important. There's things to look for and patterns to recognize, both of which are important for programming.
>>
>>52891250
Oh I'll add that once I got the lines all seperated, I just did
:%!awk '{print length}'
in vim to replace the lines with decimal numbers, in case anyone was wondering
>>
Be careful OP, I've been banned twice for posting pictures with embedded data or files
>>
>>52891311
Fuck code tags edition.

This prints the length as decimal, e.g. 52, 51:

cat lol2 | awk '{print length($1)}'

This converts to hex because I odn't know how to do that with awk, e.g. 34 33

$(printf "%x" "$r")

That expands into printf strings with the hex sequence:

printf "\\x34"
printf "\\x33"

This prints out the ascii values "43". Then you do a similar thing to convert that, e.g. printf "\\x43", which prints the C in Congratulations
>>
>>52891335
Solving this takes persistence, not intelligence. And it doesn't even take that much persistence. Anyone could solve this with a few hours.
>>
>>52891350
I saw that a thread with this image got deleted before this one went up, I don't know if that was the mods or what.

This kind of think should be allowed though, because it's a government puzzle for fun, not some sort of malicious or illegal kinda thing
>>
>>52891350
There's no 'embedded data' - there's a comment field (legit part of PNG format), and the rest is just... well it's like having words in an image, if you would consider that 'embedded information'...
>>
>>52891377
persistence is just as important, more important even. They don't want lazy bastards who would give up, like many people would, given something so obtuse.
>>
>>52891357
Thanks! learned something new today.

One question left: How do I know that in order to get the same character combination for the same pixel when opened in a text editor I have to convert it to PPM? What did you google to find that out (I assume you don't actually know each image file type and their properties, do you?) ?
>>
>>52891563
Not the person you're responding to. I converted mine to raw data in gimp. We care about the actual image contents in the file (since when viewing the image, that's what looks interesting). We want to get rid of anything silly like png compression and all that superfluous image file format cruft, so we convert it to raw. This just gives us a literal byte-for-byte representation of what we see when we view the image.
>>
File: dfe64.jpg (85KB, 850x602px) Image search: [Google]
dfe64.jpg
85KB, 850x602px
>>52891442
there's a mountain of a difference between persistence doing something you know matters and persistence on a low quality puzzle for the chance to look good for some shit company you may not even want to work at let alone want you after solving it.
>>
>>52891708
If you don't want to do it, that's fine. But there's someone who finds it fun, and they'll be the one to get the job.
Employees who enjoy what they do is what everyone wants.
>>
So can we join MI5 now?
>>
>>52891042
Can someone explain this?
>>
>>52891873
Sure, I'm still about. Going to bed soon though. What do you need explaining?
>>
>>52891889
how did you get the puzzle.data?
>>
>>52892046
I think he did that so it could be viewed as binary
>>
>>52891873
1. Open PNG in text editor, see comment:
>As I read, numbers I see. 'Twould be a shame not to count this art among the great texts of our time

2. Threshold so some of the pixels are black and others are white. Save as ASCII PBM. Strip the PBM header lines and remove newlines so that it's just 0's and 1's. Now feed it through this program:
(plain C because why the fuck not)
#include <stdio.h>
main() {
int c, l=0, n=1;
while(EOF != (c=getchar())) {
if(c == l) n++;
else {
putchar(n);
n=1;
}
l = c;
}
putchar('\n');
return 0;
}

Output is the following
>43-6F-6E-67-72-61-74-75-6C-61-74-69-6F-6E-73-2C-20-79-6F-75-20-73-6F-6C-76-65-64-20-74-68-65-20-70-75-7A-7A-6C-65-21-20-57-68-79-20-64-6F-6E-92-74-20-79-6F-75-20-61-70-70-6C-79-20-74-6F-20-6A-6F-69-6E-20-6F-75-72-20-74-65-61-6D-3F-20-6D-69-35-2E-67-6F-76-2E-75-6B-2F-63-61-72-65-65-72-73-20

3. This smells like ASCII, let's decode it with tr -d - | xxd -p -r
>Congratulations, you solved the puzzle! Why don▒t you apply to join our team? mi5.gov.uk/careers
(note, the ▒ in don't is a mojibake'd smart-quote ')
>>
>>52892083 again
The other guy's decode.py did about the same as my C program and then tr -d - | xxd -p -r. He had already taken the png and written a text file with different characters for each pixel. That's about the same as the "save as pbm and remove header and newlines" step in my solution.

Just looking at the original image, my first thought was that there seemed to be different but similar numbers of pixels in each run, and alternating colors from one run to the next. That was before even looking at the PNG comment, which sort of hints at reading it into numbers and making text.
>>
>>52892046
opened in gimp, saved as raw.

Then my code steps through the raw file 4 bytes at a time (I took a look at the file, determined what it was after). counted the size of each 'set' of a particular 4-block pattern. when it stopped finding the same 4-block pattern, start counting the next one. end up with an array of integers, which I convert to ascii, then convert the resulting ascii string of hex values in to actual ascii.
Thread posts: 85
Thread images: 8


[Boards: 3 / a / aco / adv / an / asp / b / bant / biz / c / can / cgl / ck / cm / co / cock / d / diy / e / fa / fap / fit / fitlit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mlpol / mo / mtv / mu / n / news / o / out / outsoc / p / po / pol / qa / qst / r / r9k / s / s4s / sci / soc / sp / spa / t / tg / toy / trash / trv / tv / u / v / vg / vint / vip / vp / vr / w / wg / wsg / wsr / x / y] [Search | Top | Home]

I'm aware that Imgur.com will stop allowing adult images since 15th of May. I'm taking actions to backup as much data as possible.
Read more on this topic here - https://archived.moe/talk/thread/1694/


If you need a post removed click on it's [Report] button and follow the instruction.
DMCA Content Takedown via dmca.com
All images are hosted on imgur.com.
If you like this website please support us by donating with Bitcoins at 16mKtbZiwW52BLkibtCr8jUg2KVUMTxVQ5
All trademarks and copyrights on this page are owned by their respective parties.
Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.
This is a 4chan archive - all of the content originated from that site.
This means that RandomArchive shows their content, archived.
If you need information for a Poster - contact them.