Binary
Editor
BinEdit is a binary editor that I
developed. This took a lot of hours, but it has plenty of uses. Code or data,
it doesn't matter--it can pick apart a file using a real-mode indexing system.
What can BinEdit do?
Use BinEdit to read any file
of any file format. The program has two main functions: hex editor and
code dissembler.
The Hex Editor feature
will open any file in a binary format so that you can view bytes according to
their physical addresses in the file. This supports decimal/hexadecimal
numbering systems, a real-mode segment/offset viewing algorithm, and perfect
1-to-1 write-back capabilities that allow you to change only specific bytes in
a file, without changing the total length of the file. The hex editor supports
both a numeric viewing system and a text viewing system.
The Code Dissembler feature
will analyze any COM or EXE file and conduct a thorough code trace. The code
dissembler uses a nonlinear searching algorithm to locate all branches of code
from existing jumps and calls. It also pastes text labels of each branch it
finds. Currently, the dissembler's focus is real-mode MS-DOS applications and
is therefore limited in accuracy to only the 8086 instruction set.
Available Versions
BinEdit Version 0.9 contains only
the hex editor. Requires only a speck of memory compared to version 1.1. It is
also more robust and less crash-prone than version 1.1.
Download BinEdit Version 0.9
BinEdit Version 1.1 is a
prototype that contains the code dissembler. It can do everything that version
0.9 can do. It can also dissemble EXE's and COM's. Several bugs from 1.0 have
been fixed.
Download BinEdit Version 1.1
I have documented the program up
to version 1.1. If you have any questions or comments about BinEdit, or if you
would like to report bugs, please contact me by
e-mail.
Read BinEdit Documentation
Patches Created with BinEdit
Many real-mode applications of
the past have been "broken" today for only a single reason: CPU speed
increases. Often, a slowdown utility or emulator can do the trick, but this
doesn't always work. I have always been interested in getting programs to work
that are too fast on modern processors, yet also seem to thwart slowdown
utilities. BinEdit helped me immensely in performing the hack job for BipBop 2.
I am proud to present a patch for
the shareware version of BipBop 2. The reason why slowdown utilities didn't
work, I found out, was this: the delay counter used an internal polling loop, a
HORRIBLE speed control device. The problem with BipBop 2 was that its
real-time delay counter was only 16 bits wide, which made it reach an upper
limit at the number 65535, and consequently run too fast on faster computers.
This patch tweaks it so that the precision is 32 bits. It runs fine on a 350
MHz processor.
Download BipBop 2 Patch
Important Notice--Please Read
BinEdit is a free download
provided by Christopher Allen. It is considered open source. Modifications or
alterations to any file as a result of BinEdit's use do not fall under the
responsibility of this site or its owner.
This site provides an educational
viewpoint of code dissembly and encourages people to learn about how compiled
code is constructed. It does not in any way condone unlawful use of this
product or other dissemblers. If you are concerned about the extent of which
you may use BinEdit, check with the owner of the respective program you wish to
dissemble, or, if you own the product, read the license agreement associated
with the purchase.
If the user of BinEdit has
compiled his or her own program and wants to dissemble it, this person is free
to keep all text recordings of the dissembled program. This site holds no claim
to any file created by BinEdit.
Download
BinEdit
Projects
Downloads
|