DISASSEMBLER-DECOMPILER.pptx

ssuser13dc7d 497 views 16 slides Oct 20, 2022
Slide 1
Slide 1 of 16
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16

About This Presentation

EMBEDDED SYSTEM DEVELOPMENT


Slide Content

DISASSEMBLER/DECOMPILER

DISASSEMBLER ➢ utility program that convert machine code into target processor specific assembly code. ➢ It is complementary to assembly or cross assembly

DECOMPILER It is a utility program that convert machine language instruction to high level language instruction. ➢It Performs reverse operation of compiler or cross compiler.

DISASSEMBLER/DECOMPILER Both are reverse engineering tools. ➢ Reverse engineering is a technology used to reveal the technology behind the working of a product ✓ used to find out the secret behind popular proprietary product ✓ helps the reverse engineering process by translating embedded firmware to assembly /high level instruction ✓ Powerful tools for analyzing the presence of malicious contents (virus information) in an executable image Are available as either freeware tools readily available for free download from internet or as commercial tools

SIMULATORS, EMULATORS AND DEBUGGING

Simulators Simulator is a software tool for simulating various functionality of the application software. IDE itself provides simulator support. Simulator simulates target hardware and firmware execution can be simulate using simulators

Features of simulator Purely software based Doesn’t require a real target system Very primitive Lack of real time

Limitations: Deviation from real behavior --- Under certain operating conditions we may get some particular result and it need not be the same when the firmware runs in a production environment 2. Lack of real timeliness --- The major limitation of simulator based debugging is that it is not real-time in behavior. The debugging is a developer driven and moreover in real application the I/O condition may be varying or unpredictable

Advantage of simulator based debugging 1. No need of target board - Purely software oriented, IDE simulates the target board Since real hardware is not needed we can start immediately after the device interface and memory maps are finalized this saved development time 2. Simulated I/O peripherals - It eliminates the need for connecting IO devices for debugging the firmware

Advantage of simulator based debugging 3. Simulates abnormal conditions - Can input any parameter as input during debugging hence can check for abnormal conditions easily

EMULATOR • It is a piece of hardware that exactly behaves like the real microcontroller chip with all its integrated functionality. • It is the most powerful debugging of all. • A microcontroller’s functions are emulated in real-time and non-intrusively.

EMULATOR All emulators contain 3 essential function: The emulator control logic, including emulation memory 2. The actual emulation device 3. A pin adapter that gives the emulator’s target connector the same “package” and pin out as the microcontroller to be emulated.

EMULATOR An emulator is a piece of hardware that looks like a processor, has memory like a processor, and executes instructions like a processor but it is not a processor. • The advantage is that we can probe points of the circuit that are not accessible inside a chip. • It is a combination of hardware and software.

DEBUGGERS Why Debugging? • Debugging in embedded application is the process of diagnosing the firmware execution, monitoring the target processor’s registers and memory while the firmware is running and checking the signals from various buses of embedded hardware. • Classified as Hardware Debugging Firmware Debugging

Classification of Debugging • Hardware Debugging: Deals with monitoring of various bus signals and checking the status lines of target hardware. • Firmware Debugging : Deals with examining the firmware execution, execution flow, changes to various CPU registers and status registers on execution of the firmware to ensure that the firmware is running as per the design

Types of On Chip Debugging Incremental EEPROM Burning technique Inline Breakpoint Based Firmware Debugging Monitor program Based firmware Debugging ICE Based Firmware Debugging On chip Firmware Debugging