nstbayless / ipsnect

A binary IPS patch file inspector

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

IPSnect

An IPS patch inspector

This utility allows you to inspect the contents of an IPS patch, as well as compare a binary file to what it would appear when patched.

Sample output

$ ./ipsnect patch.ips base.bin

====== IPS summary ======
hunks: 3
regular hunks: 2
RLE hunks:     1
sum of hunk lengths: x00000044 bytes (68 bytes)
========= hunks =========

regular hunk on bytes x017F17-x017F3B (37 bytes)
------------- in unpatched binary: ------------
C5 FF FF FF 85 FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF A3 FF FF FF FF FF
FF FF FF FF D3
---------------- in IPS patch: ----------------
A0 00 8C 09 05 AD 20 05 10 01 60 A5 2A 29 04 D0
F9 A2 10 A9 00 20 DE FC D0 F0 EA EA EA EA EA EA
EA A2 00 8A 48 


regular hunk on byte x03965D (1 byte)
------------- in unpatched binary: ------------
9D
---------------- in IPS patch: ----------------
8D


RLE hunk on bytes x001016-x000FF6 (30 bytes)
------------- in unpatched binary: ------------
A5 2A 85 10 A2 00 A9 16 9D 00 04 A9 00 9D C1 05
A9 09 9D A5 2A 85 10 A2 00 A9 16 9D 00 04
---------------- in IPS patch: ----------------
FE FE FE FE ... (repeats for 30 bytes)

Compile and run

Linux/Mac

  1. Install cmake with your package manager. Mac users should install cmake with Homebrew.
  2. cmake CMakeLists.txt
  3. make

Windows

See discussion.

About

A binary IPS patch file inspector

License:Apache License 2.0


Languages

Language:C++ 97.8%Language:CMake 2.2%