Code Monkey home page Code Monkey logo

patch-sys's Introduction

sys-patch

A script-like system module that patches fs, es, ldr and nifm on boot.


Config

sys-patch features a simple config. This can be manually edited or updated using the overlay.

The configuration file can be found in /config/sys-patch/config.ini. The file is generated once the module is ran for the first time.

[options]
patch_sysmmc=1 ; 1=(default) patch sysmmc, 0=don't patch sysmmc
patch_emummc=1 ; 1=(default) patch emummc, 0=don't patch emummc
logging=1      ; 1=(default) output /config/sys-patch/log.ini 0=no log
version_skip=1 ; 1=(default) skips out of date patterns, 0=search all patterns

Overlay

The overlay can be used to change the config options and to see what patches are applied.

  • Unpatched means the patch wasn't applied (likely not found).
  • Patched (green) means it was patched by sys-patch.
  • Patched (yellow) means it was already patched, likely by sigpatches or a custom Atmosphere build.


Building

prerequisites

  • Install devkitpro
  • Run the following:
    git clone --recurse-submodules https://github.com/ITotalJustice/sys-patch.git
    cd ./sys-patch
    make

The output of out/ can be copied to your SD card. To activate the sys-module, reboot your switch, or, use sysmodules overlay with the accompanying overlay to activate it.


What is being patched?

Here's a quick run down of what's being patched:

  • fs
  • es
  • ldr
  • nifm

fs and es need new patches after every new firmware version. ldr needs new patches after every new Atmosphere release. nifm ctest patch allows the device to connect to a network without needing to make a connection to a server.

The patches are applied on boot. Once done, the sys-module stops running. The memory footprint (16kib) and the binary size (~50kib) are both very small.


FAQ:

If I am using sigpatches already, is there any point in using this?

Yes, in 3 situations.

  1. A new ldr patch needs to be created after every Atmosphere update. Sometimes, a new silent Atmosphere update is released. This tool will always patch ldr without having to update patches.

  2. Building Atmosphere from src will require you to generate a new ldr patch for that custom built Atmosphere. This is easy enough due to the public scripts / tools that exist out there, however this will always be able to patch ldr.

  3. If you forget to update your patches when you update your firmware / Atmosphere, this sys-module should be able to patch everything. So it can be used as a fall back.

Does this mean that I should stop downloading / using sigpatches?

No, I would personally recommend continuing to use sigpatches. Reason being is that should this tool ever break, i likely wont be quick to fix it.


Credits / Thanks

Software is built on the shoulders of giants. This tool wouldn't be possible without these people:

  • MrDude
  • BornToHonk (farni)
  • TeJay
  • ArchBox
  • Switchbrew (libnx, switch-examples)
  • DevkitPro (toolchain)
  • minIni
  • libtesla

patch-sys's People

Contributors

itotaljustice avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.