I have added binary info to rev3 of my document. Windows and Linux only, as I don't have access to OSX.
(I should add- I tested on Windows at the command prompt- compiled bare program, ok, added -Os option, license error, changed 3 files, compiled again with -Os, no license error- so I assume its correct)
Without symbols, this is generally the way its done for the Windows versions (but there may be better ways, I'm not an expert)-
Use objdump(mingw) on the exe with the -h option to get the section info,
also use objdump -D to disassemble everything, output to a file (will be quite large)
in the disassem dump, search for "Could not retrieve compiler license (%s)", the file offset of this is then used to get the address used by the program (via the the -h section info)
search the disassem dump for this address (lowercase hex, no leading 0's), which will get you near the 'mchp_pic32_license_valid' var we want
there will be a couple 'movl 0' close around it, its a 64bit number (why, I don't know) so it will be using consecutive word addresses, the lowest is the one we want (address will also be in .data address range, which section info will show)
now that we have that address, need to work back to file offset also using section info (address - lma-address + section-file-offset)
with file offset found, look it up in hex editor, should be FFFFFFFFFFFFFFFF if we are right
replace with our number, all done (do for the 3 files)
Maybe someone with OSX can do something this also (with otool, I guess). All compilers have different ways of doing things, but I would guess since mac uses intel, its going to be somewhat close to what I described.