Skip to content

Instantly share code, notes, and snippets.

@ckurtz22
ckurtz22 / polestar2_read_doip.py
Created October 18, 2023 02:58
Read diagnostic data from Polestar 2
# Must install doipclient and udsoncan for Python:
# pip install doipclient udsoncan
import udsoncan
from doipclient import DoIPClient
from doipclient.connectors import DoIPClientUDSConnector
from udsoncan.client import Client
from udsoncan.exceptions import *
from udsoncan.services import *
#!/usr/bin/env python3
import random
class Blade:
def __init__(self, name, pity, probs, elem, weapon=None):
self.name = name
self.pity = pity
self.probs = probs
self.count = 0
if (!sc.did_init) {
if (!sc.didModules) {
sc.memcpy = function(dst, src, size) { sc.call(utils.add2(sc.base, 0xF41B08), [dst, src, size]); }
if (sc.nv.vers == "3.0.1") {
sc.nv.modules.fatal.writePayloadAndPatch(0x167CB8); // 3.0.1
} else if (sc.nv.vers == "4.0.1") {
sc.nv.modules.fatal.writePayloadAndPatch(0x163278); // 4.0.1
} else if (sc.nv.vers == "4.1.0") {
sc.nv.modules.fatal.writePayloadAndPatch(0x163158); // 4.1.0
Atmosphère Crash Report (v1.3):
Result: 0x4A8 (2168-0002)
Process Info:
Process Name: SplitNX
Title ID: 2200000000000100
Process ID: 0000000000000083
Process Flags: 00000033
Exception Info:
Type: Data Abort
@ckurtz22
ckurtz22 / resize-user.py
Last active August 18, 2023 12:45
Script to resize an emuMMC image for the Nintendo Switch.
import sys
import os
import math
import uuid
import struct
import configparser
from struct import unpack, pack
from binascii import crc32
if len(sys.argv) > 4 or len(sys.argv) < 2: