[TUHS] UNIX Disassemblers and other RE Tools

segaloco via TUHS tuhs at tuhs.org
Sat Aug 26 05:51:37 AEST 2023

Hello, I've been doing some research on the history of disassembly lately, tools available historically, today, and what sorts of developments have been made regarding utilities and systems for taking a machine-code binary and working it back to some semblance of source code.

So in the early days UNIX had das(I), a PDP-11 disassembler I believe written by Ken (he's OWNER in the manual) with very little information other than "it exists".  Fast forward to the UNIX 4.1 manual in 1981 for the 3B20S and there is dis(1), a 3B20 disassembler.  Other such manuals feature dis(1) versions for other 3B targets.

Was a disassembler ever considered part of the standard binary objects toolkit with the assembler, linker, etc. or was that the sort of thing that was more niche and therefore just kinda cropped up when/if someone decided to write one?  Were there legal concerns to be grappled with when producing a disassembler?  Were such tools ever shipped or did they only appear in the manuals as they were technically up in the code base, just not commonly distributed or used?  Also, was there any thought given during the development of C to producing "decompilers" as has been becoming more common lately?  Or was it a foregone conclusion that C to assembly is a "lossy" conversion and going the other direction couldn't be fully automated.

Thank you for any insights!

- Matt G.

More information about the TUHS mailing list