Resumé for Mike Van Emmerik
Michael James Van Emmerik, B.E. (Hons), B.Sc.
Senior Research Assistant
Binary Group
Centre for Software
Maintenance
School of Information Technology
and Electrical Engineering
The University of Queensland
St Lucia Brisbane 4072
email: emmerik at bigpond.net dot au
web: http://users.bigpond.net.au/emmerik
Seeking
Programming positions where low-level, technical knowledge and
experience is important, e.g. binary tools, compiler back ends,
embedded systems.
Interests
Disassembling and decompilation; binary translation; reverse
engineering.
Skills
C 12 years
C++ 10 years
Assembler:
Intel 12 years
SPARC 7 years
68K 5 years
Some experience with PA-RISC, Z80, 6502, 6800, 68HC11, 2650,
6502, 68000, 6809, and others right back to SC/MP.
Low level code 12 years (disassemblers, decompiler, binary translation,
device drivers)
Digital electronics 8 years (test, redesign for testability, PC repair)
Communications: 3.5 years (BiSync, X.25, Zmodem, VIP7750)
Database (Microsoft Access, dBase II/III)
Work History
| 1997-2001 |
Senior Research Assistant for Cristina Cifuentes.
Main output: UQBT
(retargetable Binary Translator); I wrote about 70% of the code. The
retargetability makes the translator much more difficult. There are
specification files for instruction syntax and semantics, calling
conventions, etc. Some of the technical aspects include binary file
formats; link maps for constructing target binary at specific virtual
addresses; machine idiosyncrasies like delay slots; register windows;
X86 floating point compares. |
| 1995-1996 |
Contractor to Telstra; designed and wrote Windows Field
Terminal (fault report management software). Windows 3.1, C++. |
| 1993-1994 |
Research Assistant, REVCOMP project. Assisted Cristina Cifuentes
with her definitive PhD project, DCC (a
decompiler). Static library signature detection work was published in ASWEC
'98 (Australian SoftWare Engineering Conference). |
| 1990-1993 |
Programmer, DRIFT project (Multisession communications
program with scripting language). C++, emulations, hardware layers,
interrupt routines, some reverse engineering, including PeriscopeTM hardware. |
| 1983-1989 |
Engineer class 2, Telecom Workshops, Brisbane. Digital
electronics, dBase II/III, ATE (Automatic Testing Equipment). National
factory control software rollout for 6 months (before Workshops were
closed down). |
| 1981-1982 |
Engineer class 1, Telstra (then called Telecom Australia) |
Pre employment
| High school |
Communications receiver; 5" CRO; serial computer (part
completed). See nostalgia
part 1. |
| University |
TTL video terminal; 2650 DOS; 600 baud DECwriter;
Z80 Resource (disassembler); ported arcade video game (Frogger on
Scrambler); SCSI hard disk interface; external floppy disk units for
Amiga. See nostalgia
part 2. |
Publications
- Journals
- "Recovery of Jump Table Case Statements from Binary Code", C
Cifuentes and M Van Emmerik, Science of Computer Programming,
40 (2001): 171-188
- "UQBT:
Adaptable Binary Translation at Low Cost", C Cifuentes and M Van
Emmerik, Computer, Vol 33, No 3, March 2000, IEEE Computer
Society Press, pp 60-66
- Conferences
- "The
Design of a Resourceable and Retargetable Binary Translator", C
Cifuentes, M Van Emmerik, and N. Ramsey, Proceedings of the Sixth
Working Conference on Reverse Engineering, Atlanta, USA, October
1999, IEEE-CS Press, pp 280-291.
- "Recovery of Jump Table Case Statements from Binary Code", C
Cifuentes and M Van Emmerik, Proceedings of the International
Workshop on Program Comprehension, Pittsburgh, USA, May 1999,
IEEE-CS Press, pp 192-199. Extended version as: "Recovery of Jump
Table Case Statements from Binary Code", Technical Report 444,
School of Information Technology and Electrical Engineering, The
University of Queensland, Dec 1998.
- "Identifying Library Functions in Executable Files Using
Patterns", Van Emmerik M. J., Proceedings of the 1998 Australian
Software Engineering Conference, Adelaide, 9th to 13th November,
1998. An earlier version is available in postscript
form.
- Workshops
- "Computer Security Analysis through Decompilation and
High-Level Debugging", C Cifuentes, T Waddington, and M Van
Emmerik, Decompilation Techniques Workshop, Proceedings of
the Eighth Working Conference on Reverse Engineering, Stuttgart,
Germany, October 2001, IEEE-CS Press, pp 375-380.
- "Preliminary
Experiences with the Use of the UQBT Binary Translation Framework",
C Cifuentes, M Van Emmerik, D Ung, D Simon and T Waddington, Proceedings
of the Workshop on Binary Translation, NewPort Beach, Oct 16, 1999.
Technical Committee on Computer Architecture Newsletter, IEEE-CS Press,
Dec 1999, pp 12-22.
Conferences and workshops
- Working Conference on Reverse Engineering (WCRE): 1999 (Atlanta), 2000 (Brisbane; local
arrangements), 2001
(Stuttgart).
- Decompilation
workshop (part of WCRE
2001). Organised and chaired with Cristina Cifuentes.
- Workshop on Binary Translation: 1999
(Newport Beach), 2000
(Philadelphia).
- Reengineering week 2000 (EuroREF, CSMR, ReTIS)
(Zurich; presented a colleague's paper).
- Australian Software Engineering Conference (ASWEC): 1998
(Adelaide; presented).
Education
- Bachelor of Engineering, University
of Queensland, First Class Honours 1980.
- Bachelor of Science (Specialising in Computer Science), University of Queensland, 1979.
- Matriculated St Edmunds' College, Ipswich, Queensland 1975. Dux
of school; highest Tertiary Entrance score, straight 7s in year 12.
References
Provided on request.
Mike's Home Page
Last updated 14th Feb 2003: Updated years; despam
email address