as far as I understand an NK.BIN consists of exactly one XIP section... I don't think it is possible to have multiple in it.
also I don't think there is empty space in the NK.BIN, so there is no room to put anything larger in it without rearranging all the filedata pointers, so that there is no overlap.
if XIPPORT would work correctly on our nk.bin, then it would be pretty easy to remove or add files... however with the NK.BIN that I tried, it always crashed with this error:
System.ArgumentException: Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection.
at System.IO.FileStream.Write(Byte[] array, Int32 offset, Int32 count)
at RomLDR.FILESentry.WriteToText(String name, BinaryReader br)
at XIPPort.MainForm.Dump(String path)
at XIPPort.MainForm.button1_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
so it looks like it has a problem with one of the file entries.