Previous |
|
Lesson 2 - The Gibberish
This is an ongoing series to dissect the PhreakNIC v3.0 code, which
can be
seen at http://www.phreaknic.org/phreaknic.txt.
---------------------------
Welcome back!
Okay, from talking to folks that have already taken a stab at the
Code, and
who are further along with it than our lab group is, but are seriously
stuck,
there seem to be two main bottlenecks. I'll include a couple
hints about
those two spots in this post, and then continue with the next session
in our
"code-dissection" lab for everyone else.
For "stuck" spot #1: The clue is in the archives in the Code discussions
For "stuck" spot #2: You'll need to know JonnyX/se2600 jargon (it's
*not*
standard hacker jargon, if that's any help). Or go look at
the se2600 entry
page (quick, before they change it). Part of what you need
is there.
For help with both parts: Again, check the archives. Look
in particular for
messages which have subjects about the Code, about PhreakNICs,
and about the
se2600 website.
Yes, I'm being mysterious, because I don't want to wreck things
for other
solvers. But if the above doesn't help, and your blood pressure
medication
just isn't doing the trick anymore and you *have* to have another
hint, and
you have to have it NOW, then write to me, or contact me on AIM:
Elonka.
Doesn't mean I'll give you a hint, but you can ask. If that
doesn't work,
try flattery and groveling, those are always good. ;)
For everyone else that's still in the tour group (please keep arms,
legs and
other appendages inside the railing), let's move along . . .
If you did your homework from last time, you've taken the first line of the Code:
417670722066676E65672E2041626A20766720747267662067626874752E20202020202020200A0D
broken it up into two-digit segments:
41 76 70 72 20 66 67 6E 65 67 2E 20 41 62 6A 20 76 67 20 74 72 67
66 20 67 62
68 74 75 2E 20 20 20 20 20 20 20 20 0A 0D
And translated it into ASCII:
"Avpr fgneg. Abj vg trgf gbhtu. <LF><CR>"
Strip off the white space, and we're left with:
"Avpr fgneg. Abj
vg trgf gbhtu."
There are multiple ways to tackle this at this point... Several
folks told
me that they went at this (and the gibberish after it) as a standard
cryptogram, or letter substitution cipher. If you want to
do that, that'll
probably work fine, at least for this part. If you do go
that route, you'll
probably notice that there's a straight one-to-one correspondence
between
letters. For example:
Each "A" translates to an "N" (and "N" to "A")
Each "B" translates to an "O" (and "O" to "B")
Each "C" translates to a "P" (and "P" to "C")
and so forth.
In fact, the way this cipher works, is that each letter is exactly
13 letters
in the alphabet away from what it *should* be.
Another way of referring to this is to say that the alphabet has
been
"rotated" by 13 characters. Or, as it's more commonly known,
ROT-13
encoding. This is a standard encryption system that's used
in newsgroups,
and if you have a newsgroup reader, you may notice that you can
do stuff like
right-clicking on some text and getting a menu that has a ROT-13
decoding
option (sometimes it's under the Edit menu or somewhere else --
it depends on
the software you're using).
So, we can tackle these lines by either decoding them manually,
plugging them
into a newsgroup reader, or, my favorite, finding something else
to quickly
rotate them. What I did was go to a search engine and type
in: "ROT-13", and
then I picked one of the nice little javascript pages with a rotation
form:
http://members.tripod.com/~BraunzGuy/rot13.htm
Once rotated, the text becomes understandable. From:
"Avpr fgneg. Abj vg trgf gbhtu."
It rotates to:
"Nice start. Now it gets tough."
Heh, so that was the EASY part.
Okay, let's go ahead and rotate the rest of the stuff in the PhreakNIC
Code
too, and all sorts of interesting words start popping up.
Things like "BEGIN
PGP MESSAGE" and "un-uu-me.txt".
We won't go into all of it for this session, but let's at least
look at the
gibberish which is immediately before the PGP part:
Gur rnearf[g][fr]pergf fub(a)r. (B)ar urnef fng[v]er. Nurz - e(r)nyyl
ent
Fngna. (N)(G)Z bs Ury(y). Rivy abf[r]raretl. B, gur (P)VN arg yhanpl.
Borl
yhfre pn[z]. C[u]bar sne-sr[g]purq[e]bbg grkg[.] N qngn-[y]va[x]
t[e](h)zoyrf
ba gur pybhq(.)
After rotating it, and separating each sentence out to its own line, we get:
--------------------------------
The earnes[t][se]crets sho(n)e.
(O)ne hears sat[i]re.
Ahem - r(e)ally rag Satan.
(A)(T)M of Hel(l).
Evil nos[e]energy.
O, the (C)IA net lunacy.
Obey luser ca[m].
P[h]one far-fe[t]ched[r]oot text[.]
A data-[l]in[k] g[r](u)mbles on the cloud(.)
--------------------------------
Hmmm. Satan, hell, evil, satire, lunacy... Yup, we're
getting farther into
JonnyX's head alright. Either that or it's discussing
a Microsoft product. ;)
Anyway, in terms of the ultimate solution for the Code, I can tell
you right
now that this poem is one of the hardest parts of the entire thing.
Not only
that, but there are multiple puzzles within the above "hacker haiku"
-- at
least a dozen. On my first pass through the code, I solved
enough from the
poem to get through to the next section, and I've gone back since
then and
solved more of it, but I'm pretty sure that there's still stuff
there that I
haven't figured out yet. So, feel free to post whatever you've
discovered in
there, and I'll also post some brainstorming ideas as we go along.
Okay, that's it for this section. Homework for next time:
(1) Fiddle with the above poem. Lemme know what you
find.
(2) Rotate the rest of the Code.
(3) After rotating everything, you should also, with your
hex/binary/ASCII
chart, be able to decode the last line now:
--bkkbbkbkbkkbkkkbbkkbbkbbbbkbbbbbbkkbkbbbbkkbbkbkbkkkbbkbbkkbbkbk--
If not, we'll go into it in more detail next time.
Coming up in the next installments: PGP & un-uu-ing the un-uu-able!
Elonka :)
http://members.aol.com/elonka
"Always forgive your enemies. Nothing annoys them more."
- Oscar Wilde
Previous |
|