1976-1989
I am a nuts and bolts programmer. During the good old days of 8 bit
microcomputers (SC/MP, 2650, Z80) and beyond, my favourite language
was assembler. I spent my first decade in the workforce at Telecom
Australia (now Telstra) as an
electrical engineer. One of my earliest notable achievments was The Great Flight Simulator Hack of 1982. The
2650 was one of my favourite processors; I co-authored 2650 DOS with
my friend Ron Harris.
My interest in disassemblers started in the 8 bit microcomputer days. Inspired by Resource for CP/M (by Ward Christensen), a friend (Ron Harris) and I produced a highly modified and refined version for the Z80. [This program in turn inspired another program, much enhanced again, with the same catchy name, for the Amiga computer. It is written by Glen McDiarmid, and until recently was still commercially available]. I owned an Amiga computer (model 1000, later model 2000) from about its second year of availability (1988?).
1990-1992
I worked at Telecom Australia on a project called Drift. Drift
is basically a multisession communications program with a scripting
language, which was able to perform miracles with old mainframe
software (legacyware) in Telecom. I found myself working on the low
level aspects of Drift, such as writing a VxD (virtual device
driver). I also took it upon myself to become the local expert on the
Periscope (In Circuit Emulator) hardware that the section owned. You
don't get much lower level than that, apart from microcode!
1993
My interest in disassemblers led me to work for a year at the
Queensland University of Technology (QUT) on disassembly tools. Part
of the work there was to support Cristina Cifuentes
with her thesis project, a decompiler (reverse compiler) called dcc.
During that year, I developed a method of identifying library code in
executable files using signatures , and wrote a paper
on the subject. This paper is published as "Identifying Library
Functions in Executable Files Using Patterns", Proceedings of the 1998
Australian Software Engineering Conference, Adelaide, 1998. After the
project, Cristina and I occasionally tinker with dcc in our spare
time. This project has led us to an interest in binary translation of
executables.
1995-1999
I wrote Windows Field Terminal (WFT) for Telstra as a
contractor, with a lot of help from Andrew Sheppard of Telstra. The
program does most of the features of the Dos Field Terminal (DFT), but
with a more GUI feel, and is able to run multiple sessions on a single
computer. I believe that WFT (and DFT) are still used by Telstra for
managing some fault reports.
1997-2001
In 1997, Cristina Cifuentes received Australian Research Council (ARC)
large grant A49702762 ("Migration of Legacy
Software by
Binary Translation"). I worked as a Senior Research Assistant to
Cristina for the three years of the grant, and continued on with other
research funds, notably from Sun Microsystems. The main output from
this research is the University of Queensland Binary Translator (UQBT),
released in 2002 under a BSD license, and research papers.
2001-2007
Following the tech crash, I started my PhD on decompilation.
2002. Part time teaching.
The
Decompilation page (in TWiki
format).
Mike's Home Page
Last updated 3rd Nov 2007: Phd; Added WCRE security analysis paper