Some notes, tools, and techniques for reverse engineering macOS binaries.
This is a guide for running Half-Life 2 on your Switch. Please be aware that this isn't a great way of playing Half-Life 2 - do not expect this mod to work perfectly.
Thank you to Bringus Studios for fixing save files not showing up!
NOTE: I am assuming that you have basic knowledge about how modding games on the Switch works. I will not provide support for questions like "how do I install Atmosphère / CFW", "how do I make an emuMMC", "how do I extract games", etc. For help with modding your console, see the NH Switch Guide.
WARNING: While this mod should be fairly safe to use, I do not take any responsibility if your Portal save data is deleted, you get banned from Nintendo Switch Online, or if your Switch explodes.
- The example URLs here use the Coding Trains channel ID: UCvjgXvBlbQiydffZU7m1_aw (replace this with your channel id)
- All of the API requests require a YouTube Data API key (no oauth required, just an API key)
You also might wanna just use Whisky which does this automatically
This guide works on macOS 13.4+ using Command Line Tools for XCode 15 Beta!
In the recent WWDC, Apple announced and released the "game porting toolkit", which upon further inspection this is just a modified version of CrossOver's fork of wine which is a "compatibility layer" that allows you to run Windows applications on macOS and Linux.
- Download apktool from https://ibotpeaches.github.io/Apktool/
- Unpack apk file:
java -jar /home/expert/work/tools/apktool.jar d [email protected]
- Modify AndroidManifest.xml by adding
android:networkSecurityConfig="@xml/network_security_config"
attribute toapplication
element. - Create file /res/xml/network_security_config.xml with following content:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config>
const int kPortNumber = 52713; | |
class Connection : public InterprocessConnection | |
{ | |
public: | |
Connection() | |
: InterprocessConnection(false, 15) | |
{ | |
} |
const int kPortNumber = 52713; | |
class Connection : public InterprocessConnection | |
{ | |
public: | |
Connection(WaitableEvent& stop_signal) | |
: InterprocessConnection(false, 15), | |
stop_signal_(stop_signal) | |
{ | |
} |
use_bpm 120 | |
midi_start | |
live_loop :clock do | |
midi_clock_beat | |
sleep 1 | |
end | |
live_loop :kick do | |
sample :bd_haus |
using System; | |
using System.Collections.Generic; | |
using System.Linq; | |
using System.Security.Cryptography; | |
using System.Text; | |
using System.Threading.Tasks; | |
namespace aes_example | |
{ | |
using System; |
import android.support.annotation.Nullable; | |
import android.util.Base64; | |
import java.nio.ByteBuffer; | |
import java.security.SecureRandom; | |
import javax.crypto.Cipher; | |
import javax.crypto.spec.IvParameterSpec; | |
import javax.crypto.spec.SecretKeySpec; |