Last week I uploaded the source-code of Windows Phone Internals to Github. And I promissed that I would also release the code of some tools. The most important tool that helped me is ARM-patcher.
When I started developing Windows Phone Internals, I faced a problem: a lot of files on the phone need to be patched. This is a problem for multiple reasons. The patches need to be distributed. If I would bundle all patched files with the Windows Phone Internals, then I would be infringing copyright. And I really want to play by the rules, so that is not an option. It would also mean that the release of Windows Phone Internals would become huge over time. Another problem I faced is that it is really not easy to make a lot of patches in ARM binaries. Finding what you need to change is one thing, but editing the bytes to make it represent your changes is quite difficult. So I needed to make this easier for myself.
I created ARM-patcher. It can load a binary and then I can simply enter some code. It will output the patched binary, but it will also add the patch to an XML-file. I embed the XML-file in Windows Phone Internals and it will be used by the Patch Engine. The Patch Engine from Windows Phone Internals can apply and remove the patches on the binaries it finds on your phone. This way I don't infringe copyright and the tool makes it a lot easier to code the patches. But even with this tool, it takes me about 4 hours of work to create all necessary patches for one OS update.
The tool now targets Windows ARM32 binaries. But if you would need it for other platforms, like Windows ARM64, or for other OS'es, it should not be much work to change the code to make that work.
The source-code of ARM-patcher can be found here: https://github.com/ReneLergner/Patcher
Since I released to code from Windows Phone Internals to Github, I got a lot of positive feedback. Thanks for that to everyone! But since then @gus33000 did a lot of work on Windows Phone Internals too. I really appreciate that, and we are working hard on a new release with all his work added to it.