Users browsing this thread: 1 Guest(s)
pyIPS - An all-in-one IPS tool
12-31-2017, 01:28 AM
(This post was last modified: 01-14-2018, 07:00 PM by NPCnextdoor.
Edit Reason: Added some information
)
Hello,
I wrote a IPS patch creator script in Python 3. Currently in beta, this allow to create IPS patch on any OS, as long as Python 3 is installed. I intend to add more functionalities in the future, such as:
x. Applying an IPS patch (duh!) (Done)
x. Removing headers (why would I want to add this nightmare fuel?!) (Done)
x. Combining patches that aren't conflicting
x. Creating patches and anti-patches for both headered and unheadered ROMs in one step (Done)
x. Creating an IPS patch out of a disassembly file
x. Creating a patch from specific offset ranges
It does compress the patch using the RLE compression formats whenever possible.
There is no GUI, this is a good ol' command-line interface, the best kind of interface! (READ: I don't know how to create a GUI yet and this is not a priority at the moment).
I will create a git repository (along with a readme and all that jazz) for the project most probably next week. It is New Year's Eve after all. You will be more than welcome to do a pull request as it is my very first Python script and the actual script might look amateurish to a pro. Or if you want to help in general.
You may ask "why another IPS tool?!" Well, most of the tools used to mod ROMs are only usable only on Windows with a few exceptions available on MacOS. Tools compatible with Linux are almost non existant. Also, the format is so simple yet can cause headaches.
Any feedback is appreciated.
EDIT: Version 0.8 is out.
I wrote a IPS patch creator script in Python 3. Currently in beta, this allow to create IPS patch on any OS, as long as Python 3 is installed. I intend to add more functionalities in the future, such as:
x. Applying an IPS patch (duh!) (Done)
x. Removing headers (why would I want to add this nightmare fuel?!) (Done)
x. Combining patches that aren't conflicting
x. Creating patches and anti-patches for both headered and unheadered ROMs in one step (Done)
x. Creating an IPS patch out of a disassembly file
x. Creating a patch from specific offset ranges
It does compress the patch using the RLE compression formats whenever possible.
There is no GUI, this is a good ol' command-line interface, the best kind of interface! (READ: I don't know how to create a GUI yet and this is not a priority at the moment).
I will create a git repository (along with a readme and all that jazz) for the project most probably next week. It is New Year's Eve after all. You will be more than welcome to do a pull request as it is my very first Python script and the actual script might look amateurish to a pro. Or if you want to help in general.
You may ask "why another IPS tool?!" Well, most of the tools used to mod ROMs are only usable only on Windows with a few exceptions available on MacOS. Tools compatible with Linux are almost non existant. Also, the format is so simple yet can cause headaches.
Any feedback is appreciated.
EDIT: Version 0.8 is out.
The following 3 users say Thank You to NPCnextdoor for this post:
• madsiur (12-31-2017), Robo Jesus (12-31-2017), seibaby (12-31-2017)
• madsiur (12-31-2017), Robo Jesus (12-31-2017), seibaby (12-31-2017)
Hey this is pretty cool! I'll give it a try when I need to deal with patches! I could also add it to the general utility page of the wiki.
12-31-2017, 12:19 PM
Oh, thanks! In this case, I will remove the version number in the filename so that you don't have to change it everytime I update the script.
01-12-2018, 06:39 PM
(Sorry for double-posting)
Hello, everyone! Version 0.8 is now out on my website. The script does now more than creating an IPS patch. It can:
x. Apply an IPS patch (with auto-expansion if needed).
x. Create an anti-patch alongside the normal patch.
x. Create a patch for headered ROMs and unheadered ROMs simultaneously (creating effectively 4 files in one step when used with the anti-patch option).
x. Add/remove a SNES header.
x. Convert a patch intended for headered ROMs into one for unheadered ROMs and vice-versa.
x. Expand a ROM up to 16 MiB.
To use it, you must have python3 installed on your computer (no executable yet, sorry) and open pyips.py:
In command-line:
I will create a guide next week. In the meantime, please make use of the "help" subcommand. For example:
will print the options and arguments allowed for the "create" subcommand.
Next on the list, the guide and the git repository. If you want to test, it will be greatly appreciated. As already mentioned, this is my first python script and it screams "OPTIMIZE ME"
Hello, everyone! Version 0.8 is now out on my website. The script does now more than creating an IPS patch. It can:
x. Apply an IPS patch (with auto-expansion if needed).
x. Create an anti-patch alongside the normal patch.
x. Create a patch for headered ROMs and unheadered ROMs simultaneously (creating effectively 4 files in one step when used with the anti-patch option).
x. Add/remove a SNES header.
x. Convert a patch intended for headered ROMs into one for unheadered ROMs and vice-versa.
x. Expand a ROM up to 16 MiB.
To use it, you must have python3 installed on your computer (no executable yet, sorry) and open pyips.py:
In command-line:
Code:
python3 pyips.py <create|apply|convert|expand|help> <options>
I will create a guide next week. In the meantime, please make use of the "help" subcommand. For example:
Code:
python3 pyips.py help create
Next on the list, the guide and the git repository. If you want to test, it will be greatly appreciated. As already mentioned, this is my first python script and it screams "OPTIMIZE ME"
The following 3 users say Thank You to NPCnextdoor for this post:
• madsiur (01-12-2018), Robo Jesus (01-12-2018), SSJ Rick (01-13-2018)
• madsiur (01-12-2018), Robo Jesus (01-12-2018), SSJ Rick (01-13-2018)
01-13-2018, 12:24 PM
nice work, that's quite an improvement, good job
"Sometimes ninjas do wrong to each other, and in dat way the force of tha earf' comes around da moon - and at that presence, da dirt, it overshadows the grass, so you're like, I can't cut dis grass, there's no sun comin' through. So in order to enable each other the two fruits have to look each other in da eye and understand we can only be right, as da ripe is wrong, you know what I mean?"
-HNIC
« Next Oldest | Next Newest »
Users browsing this thread: 1 Guest(s)