1
0

2024-06-19

This commit is contained in:
dtb 2024-06-19 19:24:31 -06:00
parent 80d8b4590d
commit 752ce244d8

View File

@ -17,11 +17,17 @@ www.trinity.moe
/license.html /license.html
$!TITLE COPYLEFT
<P> <P>
This website uses the following licenses for content and code respectively. This website uses the following licenses for content and code respectively.
</P> </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> <PRE>
GNU AFFERO GENERAL PUBLIC LICENSE GNU AFFERO GENERAL PUBLIC LICENSE
Version 3, 19 November 2007 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 /blah/2024-06-14.html
: changing the blah header : changing the blah header