The source will probably prove to be more useful to anyone than the tool as-written.

source: macrewrite.c

File comment header:

/* macrewrite - rewrite MAC addresses in a PCAP file */

/*
 * Copyright 2007, Brian St. Pierre, <brian@bstpierre.org>
 *
 * Permission to use, copy, modify, and distribute this software and
 * its documentation for any purpose, without fee, and without a
 * written agreement is hereby granted, provided that the above
 * copyright notice and this paragraph and the following two
 * paragraphs appear in all copies.
 *
 * IN NO EVENT SHALL THE AUTHOR BE LIABLE TO ANY PARTY FOR DIRECT,
 * INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING
 * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS
 * DOCUMENTATION, EVEN IF THE AUTHOR HAS BEEN ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 *
 * THE AUTHOR SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT
 * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
 * FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER
 * IS ON AN "AS IS" BASIS, AND THE AUTHOR HAS NO OBLIGATIONS TO
 * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR
 * MODIFICATIONS.
 *
 */

/*
 *
 * Compile this file using:
 *
 * gcc -g -Wall -Werror macrewrite.c -o macrewrite -lpopt -lpcap
 *
 * (The -g is optional.)
 *
 * Tested using gcc 4.1.2, libpcap0.7-0.7.2-7, libpopt0-1.10-3 on
 * debian etch, 2007-9-14.
 */

/*
 * Usage:
 *
 * macrewrite FROM,TO FROM2,TO2 FROM3,TO3 < orig.pcap > new.pcap
 *
 * All "from" MAC addresses in orig.pcap will be replaced by
 * corresponding "to" MAC addresses in new.pcap.
 *
 * If you can't use stdin/stdout, try the -i/--input and -o/--output
 * options.
 */