findcode-1.1.0.zip (84K) a zipped hfs disk image and checksum file. The disk image can be mounted with Mini vMac. Includes source code.
FindCode helps to create "bin_map" and "bin_names" files used by FDisasm.
To use FindCode, place it in the same folder as a file named "bin" that you are trying to disassemble. Launch FindCode and you will see a simple text editing window. Type a location within the "bin" file that you believe contains code, in hexadecimal notation. For example, "2A" (without the quotes), for an offset of 42 (decimal) from the beginning of "bin". Then choose the "Go" command from the "File" menu.
Assuming there is code at offset 42, FindCode will find every instruction that it thinks can definitely be reached from there, and add this to the file "bin_map". (The file is created if it doesn't already exist.) It will also create labels for the targets of branches and other memory accesses within "bin" that it can identify, and add them to the file "bin_names". (This file also is created if it doesn't already exist.) It will not change labels that already exist in "bin_names".
If FindCode thinks that an invalid instruction can definitely be reached from the starting offset you specified, it will give an error message and make no changes to "bin_map" and "bin_names".
When FindCode is done, it will automatically launch FDisasm if it is located in the same folder. You can then enter other locations into FindCode and choose the "Go" command. FindCode will open and close the "bin_map" and "bin_names" files every time the "Go" command is chosen, so you can manually edit these files and still leave FindCode running.
You can specify more than one starting offset, separated by spaces or returns.
Here is the md5 checksum for the download:
-----BEGIN PGP SIGNED MESSAGE----- efba08018ae7cdd01e6e68066f3a2cf9 findcode-1.1.0.zip -----BEGIN PGP SIGNATURE----- Version: 2.6 iQCVAwUBS+C0Ttiugru7WJg5AQFFiwQAmduL6o9DOdkOq3z7QV7nG4daIa3NDxNs DBe3GuL/yrdosDMbx7YMTZacgBr+1XrOk5VJYqSpU3FR7L7gepDGcif2qDa4LWXn t7sVxZa5PmYEjQF7QheHJ7soX1fbFEKq5FEsz0BuV+Uf9sg24D5ND2EgD5srY9gX wFuWCxcH3XU= =ri9C -----END PGP SIGNATURE-----
See the Compiling page for instructions on compiling FindCode from the source code.
You can redistribute FindCode and/or modify it under the terms of version 2 of the GNU General Public License as published by the Free Software Foundation. See the included file COPYING.
FindCode is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the license for more details.
If you find FindCode useful, please consider helping the Gryphel Project, of which it is a part.