Discussion Overview
The discussion revolves around the feasibility and methods of decompiling or reverse engineering code from a Motorola chip, specifically from the 68xxx or 683xx families. Participants explore various tools and approaches for analyzing object code dumps, including reverse assemblers and disassemblers, while considering the challenges of translating assembly code back into a higher-level language like C.
Discussion Character
- Exploratory
- Technical explanation
- Debate/contested
Main Points Raised
- One participant seeks suggestions for decompiling code from a Motorola chip, expressing uncertainty about how to proceed.
- Another participant suggests using a reverse assembler and provides resources for finding opcode documentation from Motorola.
- Some participants note the difficulty of finding effective disassemblers, stating that they are not commonly used outside of reverse engineering contexts.
- One participant shares their experience with disassemblers yielding unsatisfactory results and expresses a desire for more readable output, akin to C code.
- Another participant argues that converting assembly to C is complex and often results in less readable code, emphasizing the lack of a one-to-one mapping between the two languages.
- A participant mentions their motivation for reverse engineering is related to tuning a car's engine control unit, highlighting their lack of familiarity with programming concepts.
- Concerns are raised about the limitations of existing decompilers and the impact of compiler optimizations on the readability of the resulting code.
Areas of Agreement / Disagreement
Participants express a range of views on the feasibility of decompiling the code, with some suggesting it is possible with the right tools, while others believe it may be unrealistic due to the inherent complexities of assembly language and the limitations of decompilers. No consensus is reached on the best approach or the likelihood of success.
Contextual Notes
Participants note the challenges associated with undocumented assembly code, the variability in how assembly can be represented in C, and the potential for compiler optimizations to complicate reverse engineering efforts. There is also mention of the lack of common tools for this specific task.
Who May Find This Useful
This discussion may be of interest to individuals involved in reverse engineering, embedded systems programming, automotive tuning, or those curious about low-level programming and assembly language.