Reverse Engineering in Electronic Systems

Course #EC3740

Start Starts: not available

Clock Est. completion in 3 months

Location pin Offered through Distance Learning

Avg. tuition cost per course: See tuition Info For specific tuition costs of each program or contact information, please contact the NPS Tuition office at tuition@nps.edu .

Learn more about Service Obligation Info Officers accepting orders to a Graduate Education Program (GEP) are obligated to serve on active duty after completion.

Questions? Reach out directly:

NPS Online Student Support

online@nps.edu

Email
Offerings database access

Overview

This course presents fundamental, systems level concepts for developing an understanding of system functionality without a prior access to the system's design specifications. It considers generalized approaches to developing a set of specifications for a complex system through orderly examination of components of that system. The course illustrates procedures for identifying the system's components and their interrelationships. The course is divided into two parts. The first part focuses on software reverse engineering where students perform elementary reverse engineering on basic programs using assembly language and software disassembly. Topics related to software reverse engineering including obfuscation techniques and malware analysis will be discussed. The second part of the course will focus on hardware reverse engineering by studying integrated circuit (IC) and circuit board analysis using SPICE and black box techniques. Other tools that aid in hardware reverse engineering such as JTAG will be studied in depth. Analysis of reverse engineering using mathematics, including power analysis will also be studied.

Included in Degrees & Certificates

  • 296

Prerequisites

  • EC2700

Learning Outcomes

  • Be able to discuss and understand reverse engineering taxonomy.
  • Identify general reverse engineering procedures.
  • Understand the fundamentals behind software reverse engineering, including the process of disassembly.
  • Identify software obfuscation mechanisms given an assembly program.
  • Understand the fundamentals behind hardware reverse engineering with an emphasis on black box techniques and printed circuit board analysis.
  • Identify basic reverse engineering analysis techniques and evaluate static vs dynamic analysis.
  • Identify and evaluate reverse engineering countermeasures.