Skip to content

Instantly share code, notes, and snippets.

View 3096's full-sized avatar
🐙

3096

🐙
  • Sunnyvale, CA
  • 03:43 (UTC -07:00)
View GitHub Profile
@3096
3096 / DumpSave.js
Last active April 3, 2018 19:08 — forked from Reisyukaku/DumpSave.js
Game save dumper
sc.getFSPPR = function () {
if (sc.closed_pr !== undefined) {
return;
}
sc.enableTurbo();
var i = 0;
var srv = null;
while (true) {
sc.ipcMsg(2).setType(5).sendTo('pm:shell');
@3096
3096 / crcfix.py
Last active September 24, 2018 02:12
Fix Splatoon 2 save file CRC in the header (for plaintext body)
import zlib
import struct
import os
import sys
DEFAULT_FILENAME = "save.dat"
def fixcrc(fileName):
HEADER_SIZE = 0x10
FOOTER_SIZE = 0x30
@3096
3096 / findbytes.py
Last active November 6, 2022 09:12
# If you see very long/bad variable names and questionable design choice, probably because I wrote this in sleep deprivation
import sys
def findBytesInTarget(findingBytes, target):
foundList = []
findingOffestInTarget = 0
while True:
offset = target.find(findingBytes, findingOffestInTarget)
if offset is -1:
@3096
3096 / twili-gdb-script
Last active July 1, 2020 06:17
my gdb convenience script for using https://github.com/misson20000/twili-gdb
# Copyright (c) 2020 3096
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
import ftplib
import io
import os
import pprint
import sys
import time
import msgpack
DEFAULT_FTP_PORT = 5000
@3096
3096 / park_cmac.py
Last active April 5, 2020 23:59
Animal Crossing: New Horizons anti cheat mac implement. crypto functions from PyCryptodome package
import struct
from Crypto.Hash import CMAC
from Crypto.Cipher import AES
def u32(x):
return x & 0xFFFFFFFF