The docs on https://developer.apple.com/documentation/virtualization/running_intel_binaries_in_linux_vms_with_rosetta#4239539 are sparse and incomplete and don't tell you at all how to set this up. Lets trial and error our way through this.
# spike.control.wait_for_seconds doesn't allow decimal points | |
# so we replace it with the standard MicroPython sleep function instead | |
from utime import sleep as wait_for_seconds | |
from utime import ticks_diff, ticks_ms | |
# See https://docs.micropython.org/en/latest/library/utime.html for more info on the utime module | |
from spike import (PrimeHub, LightMatrix, Button, StatusLight, ForceSensor, MotionSensor, | |
Speaker, ColorSensor, App, DistanceSensor, Motor, MotorPair) | |
from spike.control import wait_until |
If you're using a high-end bluetooth headset on your Macbook Pro it's likely your mac is using an audio codec which favors battery efficiency over high quality. This results in a drastic degradation of sound, the SBC codec is the likely culprit, read more about it here.
def tmutil(): | |
import sys | |
import subprocess | |
# Call 'tmutil status' command and output it to string | |
tmstatus = subprocess.check_output(['tmutil','status']) | |
tmstatus = tmstatus.splitlines() | |
payload = {} | |
Running = "" |
sudo rm -rf "/Library/Application Support/Paragon Software/" | |
sudo rm /Library/LaunchDaemons/com.paragon-software.installer.plist | |
sudo rm /Library/LaunchDaemons/com.paragon-software.ntfs.loader.plist | |
sudo rm /Library/LaunchDaemons/com.paragon-software.ntfsd.plist | |
sudo rm /Library/LaunchAgents/com.paragon-software.ntfs.notification-agent.plist | |
sudo rm -rf /Library/Filesystems/ufsd_NTFS.fs/ | |
sudo rm -rf /Library/PrivilegedHelperTools/com.paragon-software.installer | |
sudo rm -rf /Library/Extensions/ufsd_NTFS.kext/ | |
sudo rm -rf /Library/PreferencePanes/ParagonNTFS.prefPane |
https://gbatemp.net/threads/nintendo-switch-sd-to-nsp-dumper.514816/ for a more automated and easier way to do this
This guide assumes you have previous experience with hactool and messing with your NAND. You aren't supposed to blindly copy commands in this, so read before pasting!
Also, the Python sections require Python 2.7 and pycrypto. Make sure your hactool is v1.2 or above.
This is a short writeup of a fun (but ultimately pretty useless) attack I implemented on the Nintendo Switch a few months ago resulting in the recovery of some otherwise unobtainable RSA public keys. Since public keys aren't private keys, this is pretty useless, apart from letting us validate some signatures on PC. Even so, the attack is a pretty cool one, so I thought I'd write it up.
Every Switch gamecart has a unique certificate (called its "CERT"), storing an RSA signature followed by some kind of unknown but unique encrypted data. I was trying to reverse how these certificates work, and the obvious first step was to try to see how they were validated. However, when I tried looking through the FileSystem (FS) module, which should be responsible for validating these certificates, I found no references to the format at all. The "CERT" magic number was nowhere to be seen, and I couldn't find an RSA modulus that validated the signatures I had. This was in
# after appcleaner does his magic, do this | |
sudo rm -rf "/Library/Application Support/Paragon Software/" | |
sudo rm /Library/LaunchDaemons/com.paragon-software.installer.plist | |
sudo rm /Library/LaunchDaemons/com.paragon-software.ntfs.loader.plist | |
sudo rm /Library/LaunchDaemons/com.paragon-software.ntfsd.plist | |
sudo rm /Library/LaunchAgents/com.paragon-software.ntfs.notification-agent.plist | |
sudo rm -rf /Library/Filesystems/ufsd_NTFS.fs/ | |
sudo rm -rf /Library/PrivilegedHelperTools/com.paragon-software.installer | |
sudo rm -rf /Library/Extensions/ufsd_NTFS.kext/ |
# enable IP forwarding and firewall in the kernel | |
sudo sysctl -w net.inet.ip.forwarding=1 | |
sudo sysctl -w net.inet.ip.fw.enable=1 | |
#flush all FW rules | |
sudo pfctl -F all # or -F nat, for just the nat rules | |
cat ./nat-rules | |
nat on en0 from 192.168.1.0/24 to any -> ozelmacpro #put this line in a text file |
Current version: 1.0.19 1.0.15 (as of 2018-12-10)