Images above are from XY, ORAS, SM and USUM, respectively.
This guide requires a hacked 3DS, and will use Luma3DS LayeredFS to achieve the desired result.
For non-shiny locked entries, this shiny patch will shinify wild encounters, static encounters, gifts, fishing, eggs when received from breeder, and wonder card redemptions.
Note: this ROM patch may affect some event redemptions that were not meant to be shiny. Wonder cards that have preset/fixed PID may get their PID overwritten and end up being shiny. Those specific cases will be illegal. (I experienced this with Ash-Greninja)
Unlike shiny patches of previous generation games, these Pokémon retain their shininess even when transferred to games that do not have the shiny patch.
While PK3DS does have a shiny rate editor, this guide is for people who somehow can't get it to work (maybe computer compatibility issues, unable to extract all the necessary files from the games, etc), or simply doesn't like to use it.
We will not be providing any exefs.bin or code.bin, as linking to or providing data files extracted from ROMs are against our forum's rules.
However do not fear, as the steps regarding how to extract them from your own purchases, are included in this guide.
Additional Misc. Info
While it is possible to compile the edited code.bin into a .3DS/.cia, that is not the focus of this tutorial.
Do note that if you're running a version of the game that is updated (i.e you have the update patch installed), you'll have to dump the exefs.bin of the update patch instead. Instructions for this step is included below as well.
If you have the update patch installed, and you use the exefs.bin/code.bin from the main game (instead of the one in the update patch), it will definitely result in a crash when the game is being loaded.
Additionally, this patch will not work on any entries that's shiny locked, and it also won't work on entries that use a different method of generating their PIDs, such as non-legends/non-UB wild Wormhole encounters, Partner Cap Pikachu, Poké Pelago etc.
The 4 easy steps:
1. Extracting the exefs.bin
2. Decompressing exefs.bin to obtain the decompressed code.bin
3. Performing the edit
4. Pasting the code.bin into Luma
Extracting the exefs.bin
Decompressing exefs.bin to obtain the decompressed code.bin
Performing the edit
Pasting the code.bin into Luma
Congratulations, shinies await you!
Original source of this method is from our one and only, @SciresM.
This method was adopted from his tweet back during Pokémon Sun & Moon's release.
It took me a while, but I've come to realize the leading bytes were exactly the same across the 3DS Pokémon games, making this method work for Gen 6 and 7 3DS games.
POST TUTORIAL EDIT:
It appears extracting the .code.bin directly from the exefs folder in GodMode9 works, bypassing the entire requirement of ctrtools