Skip to content

Instantly share code, notes, and snippets.

View Ouroboros's full-sized avatar

Ouroboros

  • 身喰らう蛇
  • 星辰の間
View GitHub Profile
# SPDX-License-Identifier: MIT
# Falcom YamaNeko engine on PSP ISO format extraction.
# Uses the information contained in PSP_GAME/USRDIR/data.lst
# Also recursively unpacks cclm archive/group files
# See also: https://github.com/Trails-Research-Group
import struct
import io
# SPDX-License-Identifier: MIT
# Falcom YamaNeko engine it3 format reversing.
# For researching the file format structure.
# Doesn't do anything useful for the end user right now.
# For something useful for the end user, see https://github.com/TwnKey/YsVIII_model_dump or https://github.com/eArmada8/Ys8_IT3
# This script is a work in progress and does not output anything useful right now
# See also: https://ghpages.uyjulian.pw/falcom-dumps/
@NyaMisty
NyaMisty / RemapCtrl.py
Last active February 22, 2023 20:51
Ghidra Script: Remap Ctrl&Meta to platform Ctrl key (i.e. Command on macOS, Ctrl on Win/Linux). Note: because Ghidra does not support running script on startup, you'll need to run this script manually on ech start :(
# Remap Ctrl&Meta to platform Ctrl key (i.e. Command on macOS, Ctrl on Win/Linux)
#@author NyaMisty
#@category UIHelper
#@keybinding Alt-C
#@menupath Edit.RemapCtrl
#@toolbar RemapCtrl
from javax.swing import KeyStroke
from java.awt.event import InputEvent
@NyaMisty
NyaMisty / GhidraIDA.md
Last active March 14, 2023 15:15
Misty's Ghidra IDA like experience

How to Use

  1. In Ghidra's Project Tool, Go to Tools -> Import Tool..., select mistyCodeBrowser.tool
  2. Dragging file onto the new CodeBrowser_1 in ToolChest
# ED9 / Kuro no Kiseki mdl format reversing.
# For researching the file format structure.
# Doesn't do anything useful for the end user right now.
# For something useful for the end user, see https://github.com/nnguyen259/KuroTools or https://github.com/eArmada8/kuro_mdl_tool
# This script is a work in progress and does not output anything useful right now
# See also: https://ghpages.uyjulian.pw/falcom-dumps/
import sys
import io
# We have moved! https://github.com/uyjulian/unpackpkg
@andrewcourtice
andrewcourtice / task.ts
Last active April 21, 2024 09:08
Async cancellation using promise extension and abort controller
/*
This a basic implementation of task cancellation using a Promise extension
combined with an AbortController. There are 3 major benefits to this implementation:
1. Because it's just an extension of a Promise the Task is fully
compatible with the async/await syntax.
2. By using the abort controller as a native cancellation token
fetch requests and certain DOM operations can be cancelled inside the task.
3. By passing the controller from parent tasks to new child tasks an entire
async chain can be cancelled using a single AbortController.
# NOTE: This is mostly code from flame of heroesoflegend.org; I only ported it to Python 3
# Better code have been released since then; see Trails Research Group: https://github.com/Trails-Research-Group
#v2.1: Bug fix in FALCOM3 compression
#v2: Full implementation of FALCOM2 for better compression performance and
# implement chunking for FALCOM3
import struct
import io
import pdb
import sys
from functools import partial
ln -s /usr/lib/llvm-6.0/lld /usr/lib/llvm-6.0/ld
CC=/usr/lib/llvm-6.0/bin/clang CXX=/usr/lib/llvm-6.0/bin/clang++ cmake -DCMAKE_BUILD_TYPE=Release -G Ninja ../LLVM