syu

image

Biography has not been added

syu

's contributions
Articles
Comments
    • From Dan Smith: The idea of obfuscation is to make the code more difficult to understand. (This goes against the instincts of a good engineer, by the way.) As you know, source code obfuscation is possible, in fact there is even an annual contest (IOCCC) around this concept. But an attacker is typically more likely to have a "dumped ROM" of the object code, as opposed to the company's prized source code (unless the company practices very poor IT security). With object code obfuscation, again the goal is to make the code hard to understand. The first step an attacker will take is attempting to disassemble the binary image - i.e., produce assembly code from the object code. Some attackers will take this a step further and attempt to "de-compile" the code, i.e., to further translate assembly code into C-like code with named variables and functions. IDA Pro is an example of a tool that slices & dices binary images in exactly this manner. Any steps that impede these efforts are classified as object code obfuscation. This might include stripping out debugging information, inlining functions, compiling with very high optimization, mixing code and data, use of inline assembly, deliberate abrupt changes in control flow, self-modifying code, encrypted function pointers, etc. None of these efforts make your code inscrutable, they simply increase the effort required by an attacker. Note that we are not including encryption here, which is the ultimate form of obfuscation, but that is a topic unto itself.