[net.micro.pc] Disassembler wanted

LBrenkus@MIT-MULTICS.ARPA (07/04/84)

Are there any disassemblers available in the public domain?  The only
programs which I have seen rely on MANUAL recognition of data vs.
code.  Much more useful would be a program that disassembled as data
(DB) any area that wasn't "reachable": e.g., locations which follow a
non-conditional jump but preceed any address referenced by a jump or
call.  This wouldn't be foolproof (because of indirect jumps and
locations referenced by INT vectors) but would be relatively easy to
clean up.

Even without bells and whistles (e.g. ability to label variables, use
of commented macros for DOS function calls and BIOS interrupts) this
would greatly simplify patching programs.  Please post any
suggestions.

jph@whuxle.UUCP (07/06/84)

#R:sri-arpa:-158300:whuxle:22700033:000:478
whuxle!jph    Jul  6 14:38:00 1984

On several BBSs there is a program called ASMGEN that does a
reasonable job of disassembling programs. You still have to
specify with a `command' file where the data and code
sections are, but it will put labels on all the locations
that are referenced and also allows you to define the
`structure' of the data if it is other than words or bytes.
This program is in the public domain and if you can't find a
copy, give me a call.

Jim Holtman
...harpo!whuxle!jph
(201) 361-3395

knight@nmtvax.UUCP (03/11/85)

I'm looking for a disassembler to run on a PC under DOS.  Anyone got a public
domain one they could send me?

Thanks in advance,
Bob

jchapman@watcgl.UUCP (john chapman) (03/15/85)

> 
> 
> I'm looking for a disassembler to run on a PC under DOS.  Anyone got a public
> domain one they could send me?
> 
> Thanks in advance,
> Bob
 
 The  U  command of the msdos debugger will do this.
 
 John
 ....!watmath!watcgl!jchapman

george@mnetor.UUCP (03/18/85)

> > 
> > 
> > I'm looking for a disassembler to run on a PC under DOS.  Anyone got a public
> > domain one they could send me?
> > 
> > Thanks in advance,
> > Bob
>  
>  The  U  command of the msdos debugger will do this.
>  
>  John
>  ....!watmath!watcgl!jchapman

Technically correct. The U command does disassemble. However it has no
symbolic replacment capabilities nor any ability to store disassembled
code into a disk file.  Trying to browse unfamiliar code in Debug is
onerous at best since there is no scrolling and only limited search capability.
I tried to use Debug to figure how to make GRAPHICS.COM work with my Epson
RX-80. It's only about 800 bytes long but it wasn't any fun.

There's got to be something better around!

George
!{cbosgd, decvax, harpo, ihnp4}!utcs!mnetor!george

jchapman@watcgl.UUCP (john chapman) (03/19/85)

> > > 
> > > 
> > > I'm looking for a disassembler to run on a PC under DOS.  Anyone got a public
> > > domain one they could send me?
> > > 
> > > Thanks in advance,
> > > Bob
> >  
> >  The  U  command of the msdos debugger will do this.
> >  
> >  John
> >  ....!watmath!watcgl!jchapman
> 
> Technically correct. The U command does disassemble. However it has no
> symbolic replacment capabilities nor any ability to store disassembled
> code into a disk file.  Trying to browse unfamiliar code in Debug is
> onerous at best since there is no scrolling and only limited search capability.
> I tried to use Debug to figure how to make GRAPHICS.COM work with my Epson
> RX-80. It's only about 800 bytes long but it wasn't any fun.
> 
> There's got to be something better around!
> 
> George
> !{cbosgd, decvax, harpo, ihnp4}!utcs!mnetor!george
 
  This has been pointed out to me by others - so yes I probably
  should have realized that something more powerful was desired.
  In defence of debug though, I personally don't find it onerous
  to use (in fact I know someone who corrected bugs in the original
  distribution of edlin quite rapidly using debug) and on many
  ocasions I would think that debug's ability to dynamically
  monitor the code behaviour might tell you a lot more about the
  code than an offline disassembler with symbolic replacement    
  capabilities (although both programs/features would obviously
  be superior to just one or the other).  You should be able to
  store disassembled code to a disk file by redirecting stdout
  (if you have > dos 2.0).
  
  John

brown@nic_vax.UUCP (03/21/85)

> > > 
> > > 
> > > I'm looking for a disassembler to run on a PC under DOS.  Anyone got a public
> > > domain one they could send me?
> > > 
> > > Thanks in advance,
> > > Bob
> >  
> >  The  U  command of the msdos debugger will do this.
> >  
> >  John
> >  ....!watmath!watcgl!jchapman
> 
> Technically correct. The U command does disassemble. However it has no
> symbolic replacment capabilities nor any ability to store disassembled
> code into a disk file.  Trying to browse unfamiliar code in Debug is
> onerous at best since there is no scrolling and only limited search capability.
> I tried to use Debug to figure how to make GRAPHICS.COM work with my Epson
> RX-80. It's only about 800 bytes long but it wasn't any fun.
> 
> There's got to be something better around!
> 
> George
> !{cbosgd, decvax, harpo, ihnp4}!utcs!mnetor!george

Would you believe the there is a little better debugger around.  It is called
FSDBUG (Full Screen DeBUG) and is available by hook or by crook.  Why is that?
Well, it was written by an IBM employee in Germany and, so far, is only for
use inside of IBM.  It has five areas on the screen that one could work in.
1. All the the registers are displayed and are changable
2. A memory dump, 8 bytes wide by 8 lines deep, in HEX
3. A disassembled code area, about 10 line long.
4. Another memory dump area, but 16 bytes wide by 8 lines deep.
5. To the right of #4 is the same data shown in ASCII.

All of the areas are changed by using the cursors to scroll around in the
data.  The program is really nice.  I have only begun to use what it can do.

IBM really should release it to the public.  (NO I don't work for IBM)

Mr. Video

rick@sesame.UUCP (Rick Richardson) (03/24/85)

> > > > 
> > > > 
> > > > I'm looking for a disassembler to run on a PC under DOS.
> > > > Anyone got a public domain one they could send me?
> > I tried to use Debug to figure how to make GRAPHICS.COM work with my Epson
> > RX-80. It's only about 800 bytes long but it wasn't any fun.
> > There's got to be something better around!

I picked up a copy of "ASMGEN.COM" from a local RBBS, which seems to do
what you want.  It disassembles to a file any .com or .exe file.  You then
can assign symbolic names and the type of data to various addresses in
a "sequence" file.  You re-run asmgen, and the output becomes more
symbolic.  By iterating this procedure, you can disassemble and analyze
the functions of any unknown piece of software, and end up with a
reasonably symbolic file which you can easily modify.  It is actually
fun to use this program to discover the inner workings of small programs.

-- 
		Rick Richardson, PC Research, Inc.

	{genrad|ihnp4|ima}!wjh12!talcott!sesame!{rick|pcrat!rick}
		{cbosgd|harvard}!talcott!sesame!{rick|pcrat!rick}
			rick%sesame@harvard.ARPA 

dcc@osu-eddie.UUCP (Daniel C. Chang) (03/25/85)

There is indeed a disassembler available, but I am not sure how you can get
a copy of it...

The program is called ASMGEN.COM, and it is written by J. Gersbach and
J. Damke.  I believe the program is user-supported (or maybe public domain),
and you should be able to get a copy of it on your local bulletin board.

To use ASMGEN, you build a second file describing where code and data is
located in the file you are disassembling.  In this second file you can
define labels and add comments.  ASMGEN will produce an assembler-ready
source file as output.  You can use ASMGEN iteratively, examining the
program's output to further modify the description file.

If you want more information, please send me mail.

					Daniel Chhang
					...!cbosgd!osu-eddie!dcc

dwight@timeinc.UUCP (Dwight Ernest) (03/28/85)

ASMGEN (a p-d disassembler) and many other pub domain software
packages can be downloaded from our semi-public-access system
that's reachable at 300/1200 baud on 212-603-8747. Hit a few
returns to get in; then have a look around.