Skip to content

Instantly share code, notes, and snippets.

View modeco80's full-sized avatar
🧡
awoo!

Lily modeco80

🧡
awoo!
View GitHub Profile
@modeco80
modeco80 / antilag.lua
Created July 30, 2023 23:03
A really shoddy antilag hook for Garry's Mod
--[[
(c) 2023 Lily Tsuru - feel free to use this in whatever
credit me though :(
This is a pretty meh antilag hook using the "recent"
physenv.GetLastSimulationTime() API.
This API was very poorly documented by Rubat (the programmer who added it),
so I figure I'll explain it here to *actually* document it, because I don't
personally think people should need RE experience to figure out what things do in this game:
@modeco80
modeco80 / ia_collection_dl.py
Last active July 13, 2023 00:57
Script to download a Internet Archive collection using aria2c.
#!/usr/bin/env python3
# Script to download a collection from archive.org using aria2c.
# Useful for if torrents aren't an option, but can be used on collections
# which provide them as well.
import xml.etree.ElementTree as ElementTree
import tempfile
import requests
import subprocess
@modeco80
modeco80 / run-vm.sh
Created April 8, 2023 08:14
Runs a VMware VM using vmware-vmx manually, without VIX.
#!/bin/bash
# Runs a VMware VM using vmware-vmx manually. The params here allow the Workstation UI to be used
# to manage it, which is pretty cool in my book!
/usr/lib/vmware/bin/vmware-vmx -s vmx.stdio.keep=TRUE -q -x -@ msgs=ui $1
@modeco80
modeco80 / ghidra
Created March 21, 2023 01:29
Ghidra Server without YAJSW (systemd)
#/etc/conf.d/ghidra
# Paths to Java and Ghidra
JAVA=/usr/lib/jvm/java-17-openjdk/bin/java
GHIDRA_HOME=/opt/ghidra
CLASSPATH_FRAG="/opt/ghidra/Ghidra/Features/GhidraServer/Data/classpath.frag"
# :( Update from $CLASSPATH_FRAG if need be
# also: this is stupid that I have to do it like this lol but oh well, systemd wants
# to play the apple game and Think Different. yeah, think different by sucking asshole.
@modeco80
modeco80 / AllYouWantedToKnowAboutIrixSW.txt
Last active March 17, 2023 01:09
IRIX distribution extraction tools + documentation on IRIX distribution formats
All You Wanted To Know About IRIX Installation Data Formats
Lily Tsuru (modeco80), Feburary-March 2023
This is a (hopefully) relatively-well structured document, detailing
the innards of the SGI IRIX installation data formats. I made this document
for a couple reasons:
- Historical significance, as I don't know if it's ever really been documented
- To help with anyone else wanting to write extraction tools
@modeco80
modeco80 / sapari.lua
Last active February 27, 2023 11:34
A fairly WIP Wireshark dissector for Sony SAPARi VSCP/VSAP
--[[
* A fairly WIP Wireshark dissector for Sony SAPARi VSCP/VSAP.
*
* (C) 2023 Lily Tsuru/modeco80 <lily.modeco80@protonmail.ch>
* Public domain, but do let me know if you ever end up using this for anything...
*
* Usage:
* Launch wireshark with somehting like `wireshark -X lua_script:sapari.lua`
* (or place this into your plugins directory.)
* Then open a PCAP capture (or do live capture. I'm not your dad)
@modeco80
modeco80 / ssx_save_csum.cpp
Created February 15, 2023 21:24
SSX OG save checksum
//
// A tool to checksum SSX OG save data. Also provides a
// cleaned-up C++20 version of the checksum implementation.
//
// Copyright (C) 2023 Lily/modeco80 <lily.modeco80@protonmail.ch>
//
// This software is provided 'as-is', without any express or implied
// warranty. In no event will the authors be held liable for any damages
// arising from the use of this software.
//
@modeco80
modeco80 / qnx-extract.js
Created January 28, 2023 12:22
A extractor for QNX setup files, possibly useful for other InstallShield Java installers.
// A extractor for QNX setup files, possibly useful for other InstallShield Java installers.
// Tested with 6.3.0 setup JARs.
//
// (C) 2023 modeco80 <lily.modeco80@protonmail.ch>, under the MIT license.
//
// Usage: `node qnx-extract.js` in the setup tree (extract the setup .jar, then find the `index` file. That's where you should run it)
// Files will be written into a "extracted_output" directory.
//
// This does not need any additional node packages :)
@modeco80
modeco80 / bx_prng.cpp
Created December 6, 2022 10:11
BX PRNG
// An reverse-engineered implementation of the PRNG used in the SSX games.
#include <cstdint>
#include <cstring>
// only bring this in for the test
#ifdef COMPILE_TEST
#include <cstdio>
#include <cassert>
#endif
@modeco80
modeco80 / nm_tip.hexpat
Last active April 25, 2022 17:42
ImHex pattern for (mostly) understanding Namco Museum (PS1) .TIP (TIP0/TIP1) image data.
//
// ImHex pattern for (mostly) understanding Namco Museum
// (PS1) .TIP (TIP0/TIP1) image data.
//
// (C) 2022 modeco80 <lily.modeco80@protonmail.ch>
//
// SPDX-License-Identifier: GPL-3.0-or-later
//