2024-06-19
This commit is contained in:
parent
80d8b4590d
commit
752ce244d8
206
homepage.content
206
homepage.content
@ -17,11 +17,17 @@ www.trinity.moe
|
||||
|
||||
|
||||
/license.html
|
||||
|
||||
$!TITLE COPYLEFT
|
||||
<P>
|
||||
This website uses the following licenses for content and code respectively.
|
||||
</P>
|
||||
<p xmlns:cc="http://creativecommons.org/ns#" >This work is marked with <a href="https://creativecommons.org/publicdomain/zero/1.0/?ref=chooser-v1" target="_blank" rel="license noopener noreferrer" style="display:inline-block;">CC0 1.0 Universal<img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;" src="https://mirrors.creativecommons.org/presskit/icons/cc.svg?ref=chooser-v1" alt=""><img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;" src="https://mirrors.creativecommons.org/presskit/icons/zero.svg?ref=chooser-v1" alt=""></a></p>
|
||||
<P>
|
||||
<P XMLNS:CC="http://creativecommons.org/ns#">
|
||||
<A HREF="https://creativecommons.org/publicdomain/zero/1.0/?ref=chooser-v1" REL="license noopener noreferrer" STYLE="display:inline-block;" TARGET="_blank">
|
||||
CC0 1.0 Universal
|
||||
<IMG ALT="" SRC="https://mirrors.creativecommons.org/presskit/icons/cc.svg?ref=chooser-v1" STYLE="height:22px!important;margin-left:3px;vertical-align:text-bottom;">
|
||||
<IMG ALT="" SRC="https://mirrors.creativecommons.org/presskit/icons/zero.svg?ref=chooser-v1" STYLE="height:22px!important;margin-left:3px;vertical-align:text-bottom;">
|
||||
</A></P>
|
||||
<PRE>
|
||||
GNU AFFERO GENERAL PUBLIC LICENSE
|
||||
Version 3, 19 November 2007
|
||||
@ -1044,6 +1050,202 @@ pre { /* DRY who? */
|
||||
}
|
||||
|
||||
|
||||
/blah/2024-06-19.html
|
||||
|
||||
: decrypting a /g/ riddle
|
||||
|
||||
4chan /g/ No.101048862:
|
||||
|
||||
.section .data
|
||||
key: .byte 0x2A
|
||||
msg_len: .word 140
|
||||
encrypted_msg:
|
||||
.byte 0x07, 0x44, 0x1E, 0x6B, 0x73, 0x17, 0x64, 0x12, 0x27, 0x24, 0x22, 0x6
|
||||
B, 0x74, 0x12, 0x21, 0x64
|
||||
.byte 0x00, 0x0B, 0x28, 0x64, 0x76, 0x00, 0x64, 0x17, 0x22, 0x0F, 0x76, 0x0
|
||||
0, 0x7C, 0x17, 0x2D, 0x2B
|
||||
.byte 0x6F, 0x12, 0x64, 0x64, 0x00, 0x2A, 0x6F, 0x17, 0x22, 0x6B, 0x64, 0x1
|
||||
2, 0x2C, 0x23, 0x7D, 0x73
|
||||
.byte 0x64, 0x12, 0x22, 0x6B, 0x22, 0x6B, 0x0D, 0x22, 0x73, 0x12, 0x64, 0x6
|
||||
B, 0x64, 0x17, 0x7D, 0x6F
|
||||
.byte 0x22, 0x64, 0x00, 0x0A, 0x64, 0x2B, 0x0A, 0x0B, 0x64, 0x2A, 0x2F, 0x6
|
||||
A, 0x64, 0x12, 0x2D, 0x17
|
||||
.byte 0x6F, 0x12, 0x64, 0x64, 0x00, 0x2A, 0x6F, 0x17, 0x22, 0x6B, 0x64, 0x1
|
||||
2, 0x2C, 0x23, 0x7D, 0x73
|
||||
.byte 0x64, 0x12, 0x22, 0x6B, 0x22, 0x6B, 0x0D, 0x22, 0x73, 0x12, 0x64, 0x6
|
||||
B, 0x64, 0x17, 0x7D, 0x6F
|
||||
.byte 0x22, 0x64, 0x00, 0x0A, 0x64, 0x2B, 0x0A, 0x0B, 0x64, 0x2A, 0x2F, 0x6
|
||||
A, 0x64, 0x12, 0x2D, 0x17
|
||||
.byte 0x6F, 0x12, 0x64, 0x64, 0x00, 0x2A, 0x6F, 0x17, 0x22, 0x6B, 0x64, 0x1
|
||||
2, 0x2C, 0x23, 0x7D, 0x73
|
||||
.byte 0x64, 0x12, 0x22, 0x6B, 0x22, 0x6B, 0x0D, 0x22, 0x73, 0x12, 0x64, 0x6
|
||||
B, 0x64, 0x17, 0x7D, 0x6F
|
||||
.byte 0x22, 0x64, 0x00, 0x0A, 0x64, 0x2B, 0x0A, 0x0B, 0x64, 0x2A, 0x2F, 0x6
|
||||
A, 0x64, 0x12, 0x2D, 0x17
|
||||
.byte 0x6F, 0x12, 0x64, 0x64, 0x00, 0x2A, 0x6F, 0x17, 0x22, 0x6B, 0x64, 0x1
|
||||
2, 0x2C, 0x23, 0x7D, 0x73
|
||||
.byte 0x64, 0x12, 0x22, 0x6B, 0x22, 0x6B, 0x0D, 0x22, 0x73, 0x12, 0x64, 0x6
|
||||
B, 0x64, 0x17, 0x7D, 0x6F
|
||||
.byte 0x22, 0x64, 0x00, 0x0A, 0x64, 0x2B, 0x0A, 0x0B, 0x64, 0x2A, 0x2F, 0x6
|
||||
A, 0x64, 0x12, 0x2D, 0x17
|
||||
You should be able to decrypt this.
|
||||
|
||||
Alright, well, all of these values are 7-bit (none of the first nybbles of the
|
||||
given bytes exceed 0b0111). Do you see a pattern? It's easier because of my
|
||||
blah formatting. Every cut-off line starts back in on 0x2 (0b0010), 0xA
|
||||
(0b1010), or 0xB (0b1011). Every third byte of a line alternates between 0x64
|
||||
(0b 0110 0100), 0x22 (0b 0010 0010), and 0x00 (all zeroes). So this sequence is
|
||||
patterned in some way. Because the key is a single byte I assume this is some
|
||||
sort of Caesar cypher esque secret [op] key = clear so let's start with that.
|
||||
|
||||
The key is 0x2A. Because it's summer and 4chan this is probably simple so let's
|
||||
start with low hanging fruit.
|
||||
|
||||
$ ascii 2a
|
||||
ASCII 2/10 is decimal 042, hex 2a, octal 052, bits 00101010: prints as `*'
|
||||
Official name: Asterisk
|
||||
Other names: Star, Splat, Aster, Times, Gear, Dingle, Bug, Twinkle, Glob
|
||||
|
||||
0x64 XOR 0x2A = 'N'
|
||||
0x22 XOR 0x2A = ASCII_LS1
|
||||
|
||||
I assume control characters besides usual whitespace won't be a part of the
|
||||
input so it's not an XOR thing. Nor addition as bytes exceed 0x70 (and
|
||||
therefore addition would put the values past valid ASCII). Nor subtraction as
|
||||
0x00 occurs and that would underflow to either negative values (signed) or
|
||||
values past 0x80 (unsigned), again, invalid ASCII.
|
||||
|
||||
I wanna see this better. I'm tossing the key line so remember it's 0x2A.
|
||||
|
||||
$ tail -n +5 | sed s:^.'*'byte.:: | tr -d ,
|
||||
0x07 0x44 0x1E 0x6B 0x73 0x17 0x64 0x12 0x27 0x24 0x22 0x6B 0x74 0x12 0x21 0x64
|
||||
0x00 0x0B 0x28 0x64 0x76 0x00 0x64 0x17 0x22 0x0F 0x76 0x00 0x7C 0x17 0x2D 0x2B
|
||||
0x6F 0x12 0x64 0x64 0x00 0x2A 0x6F 0x17 0x22 0x6B 0x64 0x12 0x2C 0x23 0x7D 0x73
|
||||
0x64 0x12 0x22 0x6B 0x22 0x6B 0x0D 0x22 0x73 0x12 0x64 0x6B 0x64 0x17 0x7D 0x6F
|
||||
0x22 0x64 0x00 0x0A 0x64 0x2B 0x0A 0x0B 0x64 0x2A 0x2F 0x6A 0x64 0x12 0x2D 0x17
|
||||
0x6F 0x12 0x64 0x64 0x00 0x2A 0x6F 0x17 0x22 0x6B 0x64 0x12 0x2C 0x23 0x7D 0x73
|
||||
0x64 0x12 0x22 0x6B 0x22 0x6B 0x0D 0x22 0x73 0x12 0x64 0x6B 0x64 0x17 0x7D 0x6F
|
||||
0x22 0x64 0x00 0x0A 0x64 0x2B 0x0A 0x0B 0x64 0x2A 0x2F 0x6A 0x64 0x12 0x2D 0x17
|
||||
0x6F 0x12 0x64 0x64 0x00 0x2A 0x6F 0x17 0x22 0x6B 0x64 0x12 0x2C 0x23 0x7D 0x73
|
||||
0x64 0x12 0x22 0x6B 0x22 0x6B 0x0D 0x22 0x73 0x12 0x64 0x6B 0x64 0x17 0x7D 0x6F
|
||||
0x22 0x64 0x00 0x0A 0x64 0x2B 0x0A 0x0B 0x64 0x2A 0x2F 0x6A 0x64 0x12 0x2D 0x17
|
||||
0x6F 0x12 0x64 0x64 0x00 0x2A 0x6F 0x17 0x22 0x6B 0x64 0x12 0x2C 0x23 0x7D 0x73
|
||||
0x64 0x12 0x22 0x6B 0x22 0x6B 0x0D 0x22 0x73 0x12 0x64 0x6B 0x64 0x17 0x7D 0x6F
|
||||
0x22 0x64 0x00 0x0A 0x64 0x2B 0x0A 0x0B 0x64 0x2A 0x2F 0x6A 0x64 0x12 0x2D 0x17
|
||||
|
||||
Oh, this is extremely patterned. I wonder what this looks like in hexdump(1)?
|
||||
$ tail -n +5 | sed s:^.'*'byte.:: | tr -d ' ', | sed s:0x:'\\'x:g \
|
||||
| xargs -0 printf | hexdump -C
|
||||
00000000 07 44 1e 6b 73 17 64 12 27 24 22 6b 74 12 21 64 |.D.ks.d.'$"kt.!d|
|
||||
00000010 0a 00 0b 28 64 76 00 64 17 22 0f 76 00 7c 17 2d |...(dv.d.".v.|.-|
|
||||
00000020 2b 0a 6f 12 64 64 00 2a 6f 17 22 6b 64 12 2c 23 |+.o.dd.*o."kd.,#|
|
||||
00000030 7d 73 0a 64 12 22 6b 22 6b 0d 22 73 12 64 6b 64 |}s.d."k"k."s.dkd|
|
||||
00000040 17 7d 6f 0a 22 64 00 0a 64 2b 0a 0b 64 2a 2f 6a |.}o."d..d+..d*/j|
|
||||
00000050 64 12 2d 17 0a 6f 12 64 64 00 2a 6f 17 22 6b 64 |d.-..o.dd.*o."kd|
|
||||
00000060 12 2c 23 7d 73 0a 64 12 22 6b 22 6b 0d 22 73 12 |.,#}s.d."k"k."s.|
|
||||
00000070 64 6b 64 17 7d 6f 0a 22 64 00 0a 64 2b 0a 0b 64 |dkd.}o."d..d+..d|
|
||||
00000080 2a 2f 6a 64 12 2d 17 0a 6f 12 64 64 00 2a 6f 17 |*/jd.-..o.dd.*o.|
|
||||
00000090 22 6b 64 12 2c 23 7d 73 0a 64 12 22 6b 22 6b 0d |"kd.,#}s.d."k"k.|
|
||||
000000a0 22 73 12 64 6b 64 17 7d 6f 0a 22 64 00 0a 64 2b |"s.dkd.}o."d..d+|
|
||||
000000b0 0a 0b 64 2a 2f 6a 64 12 2d 17 0a 6f 12 64 64 00 |..d*/jd.-..o.dd.|
|
||||
000000c0 2a 6f 17 22 6b 64 12 2c 23 7d 73 0a 64 12 22 6b |*o."kd.,#}s.d."k|
|
||||
000000d0 22 6b 0d 22 73 12 64 6b 64 17 7d 6f 0a 22 64 00 |"k."s.dkd.}o."d.|
|
||||
000000e0 0a 64 2b 0a 0b 64 2a 2f 6a 64 12 2d 17 0a |.d+..d*/jd.-..|
|
||||
|
||||
The 0x0As here are from the input formatting itself. Let's ditch 'em.
|
||||
$ tail -n +5 | sed s:^.'*'byte.:: | tr -d ' \n', | sed s:0x:'\\'x:g \
|
||||
| xargs -0 printf | hexdump -C
|
||||
00000000 07 44 1e 6b 73 17 64 12 27 24 22 6b 74 12 21 64 |.D.ks.d.'$"kt.!d|
|
||||
00000010 00 0b 28 64 76 00 64 17 22 0f 76 00 7c 17 2d 2b |..(dv.d.".v.|.-+|
|
||||
00000020 6f 12 64 64 00 2a 6f 17 22 6b 64 12 2c 23 7d 73 |o.dd.*o."kd.,#}s|
|
||||
00000030 64 12 22 6b 22 6b 0d 22 73 12 64 6b 64 17 7d 6f |d."k"k."s.dkd.}o|
|
||||
00000040 22 64 00 0a 64 2b 0a 0b 64 2a 2f 6a 64 12 2d 17 |"d..d+..d*/jd.-.|
|
||||
00000050 6f 12 64 64 00 2a 6f 17 22 6b 64 12 2c 23 7d 73 |o.dd.*o."kd.,#}s|
|
||||
00000060 64 12 22 6b 22 6b 0d 22 73 12 64 6b 64 17 7d 6f |d."k"k."s.dkd.}o|
|
||||
00000070 22 64 00 0a 64 2b 0a 0b 64 2a 2f 6a 64 12 2d 17 |"d..d+..d*/jd.-.|
|
||||
00000080 6f 12 64 64 00 2a 6f 17 22 6b 64 12 2c 23 7d 73 |o.dd.*o."kd.,#}s|
|
||||
00000090 64 12 22 6b 22 6b 0d 22 73 12 64 6b 64 17 7d 6f |d."k"k."s.dkd.}o|
|
||||
000000a0 22 64 00 0a 64 2b 0a 0b 64 2a 2f 6a 64 12 2d 17 |"d..d+..d*/jd.-.|
|
||||
000000b0 6f 12 64 64 00 2a 6f 17 22 6b 64 12 2c 23 7d 73 |o.dd.*o."kd.,#}s|
|
||||
000000c0 64 12 22 6b 22 6b 0d 22 73 12 64 6b 64 17 7d 6f |d."k"k."s.dkd.}o|
|
||||
000000d0 22 64 00 0a 64 2b 0a 0b 64 2a 2f 6a 64 12 2d 17 |"d..d+..d*/jd.-.|
|
||||
000000e0
|
||||
|
||||
As cool as it is to actually /see/ the data this hasn't gotten us anywhere
|
||||
closer to solving the riddle. By the way, this is my first time doing something
|
||||
like this and I have entirely no clue what I'm doing. I think I'm barking up
|
||||
the right tree because, ignoring addresses <0x20, every column has at most
|
||||
three unique values.
|
||||
|
||||
I asked a roommate and it said it didn't know and asked why I was wasting my
|
||||
time on /g/ riddles.
|
||||
|
||||
The message length is 140d bytes but the encrypted length is 0xE0 (224d) bytes.
|
||||
The first two rows don't fit the pattern so perhaps they're a 32d byte header.
|
||||
That would be 192d bytes for a 140d byte message?
|
||||
|
||||
Does this repeat?
|
||||
|
||||
00000000 07 44 1e 6b 73 17 64 12 27 24 22 6b 74 12 21 64 |.D.ks.d.'$"kt.!d|
|
||||
00000010 00 0b 28 64 76 00 64 17 22 0f 76 00 7c 17 2d 2b |..(dv.d.".v.|.-+|
|
||||
|
||||
00000020 6f 12 64 64 00 2a 6f 17 22 6b 64 12 2c 23 7d 73 |o.dd.*o."kd.,#}s|
|
||||
00000030 64 12 22 6b 22 6b 0d 22 73 12 64 6b 64 17 7d 6f |d."k"k."s.dkd.}o|
|
||||
00000040 22 64 00 0a 64 2b 0a 0b 64 2a 2f 6a 64 12 2d 17 |"d..d+..d*/jd.-.|
|
||||
|
||||
00000050 6f 12 64 64 00 2a 6f 17 22 6b 64 12 2c 23 7d 73 |o.dd.*o."kd.,#}s|
|
||||
00000060 64 12 22 6b 22 6b 0d 22 73 12 64 6b 64 17 7d 6f |d."k"k."s.dkd.}o|
|
||||
00000070 22 64 00 0a 64 2b 0a 0b 64 2a 2f 6a 64 12 2d 17 |"d..d+..d*/jd.-.|
|
||||
|
||||
00000080 6f 12 64 64 00 2a 6f 17 22 6b 64 12 2c 23 7d 73 |o.dd.*o."kd.,#}s|
|
||||
00000090 64 12 22 6b 22 6b 0d 22 73 12 64 6b 64 17 7d 6f |d."k"k."s.dkd.}o|
|
||||
000000a0 22 64 00 0a 64 2b 0a 0b 64 2a 2f 6a 64 12 2d 17 |"d..d+..d*/jd.-.|
|
||||
|
||||
000000b0 6f 12 64 64 00 2a 6f 17 22 6b 64 12 2c 23 7d 73 |o.dd.*o."kd.,#}s|
|
||||
000000c0 64 12 22 6b 22 6b 0d 22 73 12 64 6b 64 17 7d 6f |d."k"k."s.dkd.}o|
|
||||
000000d0 22 64 00 0a 64 2b 0a 0b 64 2a 2f 6a 64 12 2d 17 |"d..d+..d*/jd.-.|
|
||||
|
||||
000000e0
|
||||
|
||||
Hm. I'm a little stumped. I went back to the thread and checked for clues. One
|
||||
anon XORed and gave up and the others are discussing whether trans people
|
||||
deserve to live. I hate summer vacation. All the small children have come off
|
||||
/pol/ and are thirsty for blood.
|
||||
|
||||
0x2A is 0b 0010 1010. Maybe the alternating 01s is a clue. Actually, I don't
|
||||
care anymore.
|
||||
|
||||
: 2 years of blahbbing
|
||||
|
||||
Today is Juneteenth and also the second anniversary of my blah. In the last two
|
||||
years I went from being an 18 year old depressed burger serf who spent all her
|
||||
time writing and programming deranged shit to being a 20 year old depressed
|
||||
burger serf who spends all its time sleeping and working, but also on the other
|
||||
side of the country and with some more friends now. Still, I am tired, and you
|
||||
must forgive me if one day I give up on trying to get to the point where I
|
||||
don't have to work so much.
|
||||
|
||||
I don't remember an awful lot of these last two years but I remember the
|
||||
people. Usagi, M--, another person, and on-line Emma Tebibyte and the rest of
|
||||
Tebibyte Media, Veronika, the administrators of murderu.us (and especially
|
||||
suika who does basically all of the work on the server). Helping others is why
|
||||
I keep going and I hope I've had some sort of positive impact. There are a lot
|
||||
of people I miss.
|
||||
|
||||
My blah has been perused by hopefully less than two dozen people which makes it
|
||||
special to me as a novel-length mostly nonsensical and often incoherent >700K
|
||||
obscure Internet oddity that I have created. It hasn't been posted anywhere on
|
||||
social media (though, feel free to share it on Hacker News, but anywhere more
|
||||
popular is off limits) and even my close friends haven't read all of it. This
|
||||
is indexed on DuckDuckGo which I should figure out how to prevent but not on
|
||||
Google so hopefully I've not been violated in passing by corporate scraper
|
||||
scum.
|
||||
|
||||
I don't have much more to say. I'm gonna start celebrating the blah anniversary
|
||||
("celebrating") on 06-20 to avoid the collision with Juneteenth. Also happy
|
||||
anniversary to the creation of X Windows. okbye
|
||||
|
||||
|
||||
/blah/2024-06-14.html
|
||||
|
||||
: changing the blah header
|
||||
|
Loading…
Reference in New Issue
Block a user