Post Job Free
Sign in

Engineer Software

Location:
San Mateo, CA
Posted:
March 04, 2014

Contact this candidate

Resume:

MICHAEL COLBURN

Software Engineer & Reverse Engineer

*********@*****.***

650-***-****

SKILLS

-Fast & efficient programmer with strong debugging and reverse engineering

skills.

-Experienced in real-time programming to control hardware or multiple

systems with and without user interfaces.

-Extensive experience reverse engineering Windows 95/98 O/S -includes

debugging the kernel, modifications and patches.

Languages: Java, Visual Studio C++, C, Javascript, HTML, x86 Assembly,

6502 Assembly, PHP.

Host Systems: Windows 9x, XP and 7, Linux, MS/DOS, Netware 3.x, UNIX,

SUN

Target Systems: Windows 9x, XP and 7, Linux, On-Time RTOS, 8086, 6502

based systems, Netware 3.x, UNIX, MS/DOS

Tools: Eclipse, SVN, OllyDbg, IDA Pro, Windows DDK, SoftIce,

SDK, MFC, Self made P2P network parser.

EMPLOYMENT EXPERIENCE

Kontiki, Inc. April

2012 - July 2013

Use Java, Javascript, HTML, PHP, Apache Modules, MySQL, MongoDB (Map/Reduce

and Aggregation), SOAP-UI, and Spring Beans to collect, filter, migrate,

and present analytics data collected by the real-time video distribution

system. Development on Windows 7 system with production systems running

Linux.

Skylink Design, Inc. Feb

2008 - April 2012

Participated in development of cell phone diagnostic and certification

software platform.

Extended and maintained the Qualcomm ICD protocol diagnostic

interface/controller Windows DLL, written in C++, used to interact with

cell phones during acceptance testing. This included event logging, event

insertion, non-volatile memory access, screen capture, serial

communications handling, TCP/IP handling, polling, and asynchronous event

handling.

Created Windows Mobile 6 agent and Android Linux agent to emulate these

same functions as they were not available on these smart phones.

Managed 2 other engineers.

Macrovision, Inc. Aug

2004 - Dec 2007

Developed solutions for anti-piracy services offered to movie studios for

big budget releases.

Reverse engineered P2P network protocols for systems such as eDonkey2000,

Ares, BitTorrent, Kad, and Gnutella 1&2.

Developed parsing software for analysis of protocol dumps and developed

software to interact with these networks.

Authored patent on eMule interdiction and co-authored patent for P2P

interdiction techniques.

Deltabeta In-Flight, Inc. Feb

2001 - Oct 2002

Developed system software for real time on-demand in-flight entertainment

system. My contributions were:

Designed, implemented and released real-time bridging system between in-

flight entertainment systems and Airbus and Boeing aircraft systems to

provide real-time data sharing. This included Public Address System audio,

real-time maintenance management, navigation data and cabin seat light and

attendant control and status.

Creation of interfaces for audio chip and real-time MPEG encoding chip in a

real-time operating system and distribution

of said audio and video data throughout on-board aircraft network.

Developed AtoD / DtoA board drivers for 8 simultaneous input/output audio

streams on Windows NT

Developed intra-systems Triple DES cryptography for secure entertainment

media protection.

This work required significant interaction with hardware development staff

to debug the chip implementations on the board. Using the On-Time RTOS,

Visual C++ was used with Borland C++ debugger. On Windows NT 4.0, C++ work

was accomplished with Visual C++/MFC or MS Visual Basic.

Concurrent Controls, Inc. as Senior Software Engineer

Nov 1996 - Dec 2000

Part of team that developed "Applica" a multi-user Windows 9.X operating

system using Microsoft's single user version as the base. This product

allowed multiple users (up to 32) to utilize the Windows OS from a single

PC running Applica.

Most of my work was done without Microsoft Windows source code or

documentation. My contributions were:

Modification of networking and printing subsystems of the Window 95/98 OS.

This required reverse engineering the existing VxD's and DLL's of Microsoft

Windows 95/98, modifying them to add data space to their structures and to

patch the code to behave in ways compatible with multi-user functionality.

Investigate and repair Windows OS failures caused by VXD's designed for

single user use. This required investigation into, and reproduction of,

EXACT causes of system failures followed by analysis of problem so as to

patch system to avoid problem scenarios.

Debug new hardware for multi-user and serial products for Windows NT and

then modify existing drivers to support that hardware. This required

working with hardware engineer to provide debug and test code to illuminate

problem conditions.

This required extensive work with the NuMega SoftIce for Windows 9x and NT.

On Windows 9x, assembly language work was done with MASM 6.11 and the

Win9x development kits. Work on NT was in C/C++.

American Telecorp, Inc. as Software Engineer Feb

1996 - Nov 1996

Developed PBX management software for telephone companies, using PASCAL, C,

C++, MFC with DOS & Windows platforms being supported. My development

contributions were:

Modify and debug existing software in preparation of leading a redesign

team for Windows version of the product. This required using many

different development environments and debugging tools.

Support engineering development via development and purchase of DOS &

Windows tools.

Logical Services, Inc. as Software Contractor

July 1995 - Nov 1995

As contractor, and only software engineer in a hardware development

environment, I developed, supported and tested code for new hardware. My

development contributions were:

Development of test and demonstration software for Harmonic Noise

Cancellation system for power lines. This required working with the

hardware engineers to implement the cancellation algorithms on a new piece

of hardware, which also needed to be debugged and tested. It also required

burning eeproms to implement and test every aspect of the code since no

debugging environment was available.

Development of test and demonstration software for PCMCIA card for the

Toshiba Laptop containing flash memory several serial I/O channels,

watchdog, interrupt, keypad, and printer interfaces. This software was

developed in Borland C and the IDE environment provided the development and

debugging tools needed.

Apple Computer as Software Contractor Sept.

1994 - Nov 1994

As contractor, ported the Netware 4.x operating system from the IBM PC

platform to the Apple Power PC platform. My development contributions

were:

Complete the porting of partially ported Netware Loadable Modules (NLM's)

from an x86 environment to a PowerPC environment. Development tools were

provided by the company because they were not off-the-shelf.

Track down bugs in operating system as they affect NLM's.

Coactive Computing Corporation as Software Engineer

Sept. 1993 - June 1994

Developed low cost LocalTalk Network adapters for IBM PC compatible

computers. My development contributions were:

Client side caching additions. Performance on the LocalTalk network was

low so adding caching provided significant improvements for database

activity. By developing performance tests for different file system usage

scenarios, I added caching using assembly code and DOS debugging.

Upgraded MS-DOS driver to support expanded set of AppleTalk API calls.

This entailed straight forward code development of the predefined API calls

using DOS debugging tools.

Created supplementary TSRs to increase performance and reduce failures for

all versions of the existing drivers.

AddStor, Inc. as Senior Sofware Engineer

June 1992 - July 1993

Developed on-the-fly data compression software for MS-DOS systems with new

project development for Novell Netware 3.11 servers. My development

contributions were:

Reverse engineering of the Netware 3.11 kernel file handling to patch it to

include compression and decompression of data to improve disk space and

network performance. I designed and implemented the Netware Loadable

Module (NLM) to provide that real time data compression and decompression

to intelligent and non-intelligent clients. I used Netware development

tools and SoftIce for Netware.

DynaMedix Corporation as Software Engineer Feb

1991 - June 1992

Developed medical instrument data collection and processing software using

a custom multi-tasking kernel, communication drivers for the instruments, a

custom database manager and an in-house toolkit to perform all functions

that dealt with the hardware and the MS-DOS interface. My development

contributions were:

Utilities and library routines to use and program the hardware security

"keys" which prevented

unauthorized access to the system.

Low level remote file accessing protocol for the system's LAN.

Custom graphics routines to do graphics in multiple windows with clipping

and overlapping.

Software Consulting Feb

1988 - Feb 1991

During this 3 year period, I consulted for 3 companies. The companies and

my contributions are as follows:

Kaptron, Inc. - Developed several software controlled laser-to-fiber

alignment platforms.

Automatic stepper motor configuration additions to existing software.

User configuration interface expansion to increase control over motor

movements.

Raynet, Inc. - Developed fiber optic based communication switching

products.

IPC message interfacing and translation utility.

Hardware monitoring software for real time translation of on-going events.

pSOS operating system installation under the Microtec XRAY debugger.

MAKEFILE and directory structures for a multi-user, multi-module

development.

Fujitsu America, Inc. - Developed add on systems to digital switches.

Two protocol simulators for Software Test Group and Software Development

Group.

Menu-driven report simulator for sales demonstrations in the field.

Dynatrac Information Services, Inc. as Senior Software Engineer

Feb 1984 - Nov 1987

Developed a multiple processor point-of-sale data collection network.

My development contributions were as follows:

All the software that converted a conventional cash register into a

sophisticated data collection,

analysis, and communications system terminal.

Embedded system functions which included: communication protocols, data

storage, and

maintenance, error logging, and fault tolerant error handling (hardware and

software).

XENIX based polling system to monitor remote systems, collect data, modify

configurations.

6502 debugging/development environment for custom hardware.

Burn-in/test code for manufacturing product test.

"User-friendly" test software for QA product release.

Fox Video Games, Inc. as Senior Games Developer

Dec 1982 - Nov 1983

Developed video games. My development contributions were as follows:

A 3D motorcycle racing game using specifically optimized table driven

routines for speed

An adventure game with multiple screens, full animation and multiple

levels.

A full clone of a top ten arcade shoot'em up game with original arcade

feel.

Atari, Inc. as Senior Software Engineer Dec

1980 - Dec 1982

Developed home computer systems and associated consumer software as well as

systems and development software. My development contributions were as

follows:

Team Leader of three people in the design and implementation of the Atari

DOS IIIB.

Sound editor for the Atari 800 computer.

EDUCATION

California Polytechnic State University, San Luis Obispo in Computer

Science (1976-1980).



Contact this candidate