I made a small alteration to this program. Instead of generating a new ID for Pokemon, which can often corrupt them and make them nonexchangeable, this version will use the ID, trainer ID, and secret trainer ID of a Pokemon that is currently "copied" and in the clipboard. This way, authentic IDs can be added to Pokemon and they
might still be exchangeable. I say might because there are a few conditions:
1. The Pokemon you are pasting to must be from the same game/location as the Pokemon you are trading from.
Example: I got a shiny Squirtle through trading, then pasted his IDs onto a Charmander and he became shiny and exchangeable.
2. Legendary Pokemon are a bitch.
Example: I used a shiny Jirachi's IDs on a Diancie, it became nonexchangeable.
Unrelated Trading Note:
If you get a legendary, don't randomize his DNA, especially if he is shiny! Just copy him. Duplicate Pokemon are exchangeable, There seems to be no limit to the amount of shiny Jirachy/Arceus I can trade.
GitHub:
https://github.com/omikey/PCHex/blob/master/PCHex-m.zip click on 'Raw'.
Use the PCHex-master files (e.g. elf, 3dsx, smdh)
I did not change any of the UI, so don't be bothered when you see the same old option descriptions, I made it in kind of a hurry. Also, when shiny Pokemon IDs are first pasted into a new Pokemon, it will not register as shiny until you save the changes, close and reopen that Pokemon's details.