OdnetninI / zzazz-2023-server

A reimplementation of TheZZAZZGlitch's April Fools Event 2023 server

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

A reimplementation of TheZZAZZGlitch's April Fools Event 2023 server

After the end of the event, most of us were waiting for the server code release. In part because we wanted to understand the 0x07 (MIX) opcode.

Most of the information used to build this server was already acquired by Radixan and me (OdnetninI) during the event.

However, I had some missing fragments. I was able to recover them from the following writeups:

Here are my writeups regarding this challenge:

TheZZAZZGlitch released the code

Finally, TheZZAZZGlitch released the code (https://github.com/zzazzdzz/fools2023 ). I was able to implement the MIX/UNMIX opcodes successfully.

Also, many thanks TheZZAZZGlitch. Not only for recommending this repository for playing the challenge but also for creating it. Thanks for all these years of challenges, we have learned a lot. We wish you all the best :)

Directory Structure

  • src: server sources
  • bios: BIOS files (only 1.3 is known)
    • It is mapped in memory from 0x0000 to 0x0fff
  • boot: Main programs at boot
    • Mapped in memory at 0xf000
  • fs: Filesystem of each machine
    • The structure is fs/$server_id/$file_block
    • $server_id is 0, 1, or 2 (see Usage for more information)
    • $file_block is a 1-byte index of the file
  • programs: Assembly version of the included programs
  • tools: several tools for working with GLVM files
    • assembler: An assembler to compile GLVM ASM into GLVM binary
    • disassembler: A simple tool that dumps a GLVM binary into GLVM ASM

Compiling

It requires a typical modern C compiler.

git clone https://github.com/OdnetninI/zzazz-2023-server.git
cd zzazz-2023-server
make

Now the file zzazz file should be in the directory.

Usage

For now, only local mode is available (it means no socket to connect to the internet).

./zzazz server_id

Servers id are:

  • 0 -> Server 13337 GRLTS01
  • 1 -> Server 13338 GRLTS02
  • 2 -> Server 13339 GRLINFSRV

Status

  • Use TheZZAZZGlitch's source code to finish adjusting the behaviour
  • Filesystem tools for easily inserting, modifing and deleting files
  • GLVM Binaries source code
    • BIOS v1.3
    • Boot 13337
    • Boot 13338
    • Boot 13339
    • MATHTEST
    • REPORT03
    • MIX/UNMIX
  • Opcode 0x07 MIX
  • Sockets (For network operation)
  • Main functions implemented
  • BIOS protection
  • Opcodes
  • Filesystem
  • Boot programs
  • Cleanup
    • Cleanup 1.0
    • Cleanup 2.0
  • Math test data

License

This project is under the MIT License (see LICENSE for more information).

About

A reimplementation of TheZZAZZGlitch's April Fools Event 2023 server

License:MIT License


Languages

Language:C 82.8%Language:Assembly 15.6%Language:Makefile 1.6%