Reverse Engineering C++ - Security Boulevard

SBN Reverse Engineering C++

Introduction

C++ programming is popular among developers, owing to its advanced capabilities. Malware reverse engineering relies heavily on C++ to translate source code into binary code to understand the internal hierarchy of classes. Acquiring the blueprint of a binary is accomplished by means of sophisticated tools and static/dynamic analysis.

Software industries use reverse engineering to dissect a product in order to figure out the purpose of each segment of code. Reverse engineering requires a blend of special skills and a thorough understanding of code-breaking, programming, logical analysis, computer internals and software development life cycles. 

Professionals who reverse engineer should have some understanding of assembly language opcodes and C++ programming. It is also helpful if they have knowledge of disassembling tools, including IDA Pro, Immunity Debugger, Dumpbin, Radare, Hexa editing, WinDbg and CFF Explorer across both Windows and Linux platforms. 

Why reverse engineer C++?

There are three typical instances where reverse engineering is employed to deconstruct a software’s design, source code structure and architecture. 

Modifying proprietary code

Source code is the intellectual property of software companies and they don’t like to release it. Clients of software developers are typically given the executable package, but not the source code. 

Reverse engineering is often needed when a client is seeking modification of the software definitions, but the software company is out of business. In those situations, modifications are made to the binary code, satisfying the client. 

Debugging legacy code

Legacy code can contain bugs. Reverse engineering facilitates bug detection without analyzing the source code. Buggy software is decompiled into the assembly code by advanced disassemblers. Once the program flow is understood, the developer manipulates the essential assembly code instructions, which in turn results in bug-free code, ready for release.

Reversing malware

Reverse engineering is also leveraged by cybersecurity (Read more...)

*** This is a Security Bloggers Network syndicated blog from Infosec Resources authored by AJ Kumar. Read the original post at: http://feedproxy.google.com/~r/infosecResources/~3/-6JSotri9Bo/