Users browsing this thread: 1 Guest(s)
pyIPS - An all-in-one IPS tool

#1
Posts: 32
Threads: 5
Thanks Received: 14
Thanks Given: 19
Joined: Dec 2017
Reputation: 0
Status
None
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?!) Tongue (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.


Attached Files
.zip  pyips.zip (7.93 KB, 0 downloads)
Quote  
[-] 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)

#2
Posts: 3,615
Threads: 264
Thanks Received: 664
Thanks Given: 270
Joined: Oct 2011
Reputation: 60
Status
Faith
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.



  Find
Quote  

#3
Posts: 32
Threads: 5
Thanks Received: 14
Thanks Given: 19
Joined: Dec 2017
Reputation: 0
Status
None
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.
Quote  

#4
Posts: 32
Threads: 5
Thanks Received: 14
Thanks Given: 19
Joined: Dec 2017
Reputation: 0
Status
None
(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:
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
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"
Quote  
[-] 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)

#5
Posts: 2,740
Threads: 87
Thanks Received: 43
Thanks Given: 216
Joined: Jun 2009
Reputation: 25
Status
None
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
Quote  
[-] The following 1 user says Thank You to SSJ Rick for this post:
  • NPCnextdoor (01-13-2018)



Forum Jump:

Users browsing this thread: 1 Guest(s)


Theme by Madsiur2017Custom Graphics by JamesWhite