Skip to main content

Software Reverse Engineering

General

Prefix

SE

Course Number

450

Course Level

Undergraduate

College/School

College of Science and Engineering

Description

Analyzing and understanding software, without access to source code or design documents. Deducing the design of a software component. Recovering specifications, discover data use, and analyzing software via disassembly and decompilation.

Prerequisites

Credits

Min

3

Max

3

Repeatable

No

Goals and Diversity

MN Goal Course

No

Cultural Diversity

No

Learning Outcomes

Outcome

Define and explain the basics of software engineering systems.

Outcome

Identify key concepts related to re-engineering, forward engineering, and reverse engineering.

Outcome

Apply software reverse engineering methodologies and tools.

Outcome

Describe the legal issues governing the use of software reverse engineering techniques.

Course Outline

Course Outline

Reverse engineering techniques. 20% Reverse engineering for software specification recovery. 20% Reverse engineering for malware analysis. 20% Reverse engineering communications and legal issues. 10% Deobfuscation of obfuscated code. 10% Common tools for reverse engineering. 20%

Dependencies

Courses

SE450 is a prerequisite for:

Programs

SE450 is a completion requirement for: