Post

Interesting puzzle found in neocities

Here is the Puzzle: Nadya Nayme

hsvvrp.zjsvzlsfo.paola.lluayhujlp..pzy.bolyl.

Caesar → alooki.scloselyh.ithet.eentrancei..isr.uhere.look closely the entrance is here

aishiteiru

→ https://aishitei.ru/faq

9fa997d27d8d0ba9aae7df83aaee7de8

Try some num and I found lain in: https://aishitei.ru/?waifu=19

fb8702974bf5822a56d30e3c20a3b482

Later I found the function of this pic, in the home.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function choosePic() {
  let randomMascot = Math.floor(Math.random() * 18);
  let params = new URL(location).searchParams;
  let waifuMascot = parseInt(params.get("waifu"));
  document.getElementsByClassName("logo")[0].src = `images/mascots/mascot_${
    waifuMascot ? waifuMascot : randomMascot
  }.png`;
}

let lain = {
  help: function () {
    document.getElementsByClassName(
      "logo"
    )[0].src = `images/mascots/mascot_19.png`;
    console.log("Listen closely.");
  }
};

That’s why the waifu code is 19

Use 010 editor to check data →

503bbba7e593079c3d21ece25abcf869

1
2
3
you're on the right track..kcart thgir eht no er'ouy\
...
track_44.wavvaw.44_kcart

Use foremost to split →

16e819c043cbd1cd83a7d4296f79a14e

this .wav is a morse code sound, decode: https://morsecode.world/international/decoder/audio-decoder-adaptive.html

1
C A N Y O U H E A R M E C A N Y O U H E A R M E L I S T E N C L O S E L Y L I S T E N C L O S E L Y D A N G E R D A N G E R R U N N A D Y A N A Y D O T M E F I N D M E T H E R E

_can you hear me can you hear me listen closely listen closely danger danger run **nadyanaydotme** fine me there_

→ nadyanay.me

Funny, I find the puzzle just in this site, now I’m back.

Check the code of this site → ` `

It’s a hex ascii code, decode → nadyanay.me/wired.txt

In this .txt file, I find some strange capital letters, separate out these letters:

1
2
3
4
5
6
7
8
void solve() {
    ifstream fin("wired.txt");
    string s;
    while (fin >> s)
        for (int i = 0; i < s.size(); i++)
            if (s[i] >= 'A' && s[i] <= 'Z')
                cout << s[i];
}
1
2
3
>>INOWENEEDYOURHELPWHATDOE...

INOWE NEED YOUR HELP WHAT DOES IT WANT THE ENTRANCE CAN BE FOUND KEEP LOOKING PROCEED TO STEP EIGHT TXT

OK, now go to nadyanay.me/stepeight.txt

1
2
3
BLP KLPUE PX
HYQTLMY FL FWY HSCYE
...

Use word frequency analysis: quipqiup - cryptoquip and cryptogram solver

1
YOU FOUND US WELCOME TO THE WIRED SHH THEY CAN HEAR YOU GO BACK TO THE GIRLS LAIN WANTS YOU TO WATCH OMNIPRESENCE MKZ THEN READ OMNIPRESENCE OMNIPRESENCE

Back to the site Lovehost - Comfy hosting (aishitei.ru), I have no idea where OMNIPRESENCE MKZ and OMNIPRESENCE OMNIPRESENCE are. So I try to get the whole site resource:

1
wget -r -np -nH --cut-dirs=1 "https://aishitei.ru"

Only empty.png , those waifu pic are not static resource.

Back to where? Back to Lain.

https://aishitei.ru/images/mascots/mascot_19.png

Try this: https://aishitei.ru/images/mascots/omnipresence.mkz

OK, nothing.🤓

I find the file suffix is strange, let’s try .mzv instead.

image-20240919230335929

WIN🎉

omnipresence.omnipresence has some ‘X’ ‘O’ letters, looks like this:

1
2
3
4
5
6
7
 O|X|X
 X| |O
 O|O|O
 O|X|X
 X| |O
 O|X|O
 ...

Maybe it’s tictactoe, basing on the amount of ‘X’ and ‘O’, we may can know which letter should be put in the blank.

After some tries, it really disappointed me that this may not that complex as what I thought, just considering ‘O’ as 0, ‘X’ as 1, and than you get the code of ascii. Like this:

1
2
3
4
5
6
7
8
9
10
11
 O|X|X
 X| |O
 O|O|O

 O|X|X
 X| |O
 O|X|O

 O|X|X
 O| |O
 X|O|X
1
2
3
4
5
6
0111 7 p
0000 0
0111 7 r
0010 2
0110 6 e
0101 5

Let’s write a program to decode:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void solve() {
    ifstream fin("omnipresence.omnipresence");
    string s, result;
    while (fin >> s) {
        for (char c : s) {
            if (c == 'O' || c == 'X')
                result += c;
        }
    }
    string asc;
    int cnt = 0, val = 0;
    for (auto c : result) {
        val = (val << 1) | (c == 'X');
        if (++cnt == 8) {
            asc += static_cast<char>(val);
            cnt = val = 0;
        }
    }
    cout << asc;
}

1
2
3
4
5
6
present day
present time
how does it feel
to have entered the wired?
this is the final step
you must escape

For omnipresence.mkz, I find it has no sound, but you can use MKVToolNix to extract the sound track of it, which is just normal OP.

Present day, Present time. The word ‘present’ has various meanings, but we can know it’s true meaning from the original japenese. It should mean ‘gift’

So what, I still don’t know what to do next :(

This post is licensed under CC BY 4.0 by the author.