3 ms·
I'm not entirely sure what is this for. This won't stop decompilation because it doesn't affect compiled code - constant folding is part of C language, "\x0A" i
by GlitchMr 8y ago
I'm not entirely sure what is this for. This won't stop decompilation because it doesn't affect compiled code - constant folding is part of C language, "\x0A" is the same thing as "\n". I guess you are losing function names, but you could get the same by stripping debugging information. Strictly speaking, the only obfuscation that could be worth something (an optimization not mandated by the specification) is 0x0000000000000000 ^ thing, but the compiler likely would optimize that out realizing how silly that is.
I think a proper obfuscation tool for C should work at lower level than C source code.
- beefhash 8y agoPeople have been looking into Microsoft's Warbird obfuscation[1] and it looks pretty impressive. [1] https://github.com/airbus-seclab/warbirdvm https://github.com/airbus-seclab/warbirdvm
- userbinator 8y agoIt's sad and scary how far they're going in attempting to stop people from inspecting the code running on the machines they own.
- beefhash 8y agoHow is it sad and scary? Warbird is usually used near license/DRM stuff. There's serious money on those parts of the code doing meaningful things.
- dom96 8y agoIndeed, the current transformations implemented by my obfuscator aren't particularly sophisticated, at least in comparison to some of the obfuscator's I evaluated such as Tigress[1] which can transform your code into a JIT. But for the use case that my dissertation supervisor had in mind it works very well (gravypod outlines this use case well[2]). Most of the work in this project was the creation of the underlying architecture for parsing and transforming C and C++ code. Now that this is done, implementing more sophisticated transformations should be fairly trivial. 1 - http://tigress.cs.arizona.edu/ http://tigress.cs.arizona.edu/ 2 - https://news.ycombinator.com/item?id=17478448 https://news.ycombinator.com/item?id=17478448
- konstmonst 8y agoI think this will not fly in court. Sourcecode is what you use to edit your program. Obfusicated code is like an assembler: an intermediate product. I think yoir use case doesn exist, at least here in Germany, edit: I misunderstood your use case, still I dont think obfusicated code is source code by definition
- askz 8y ago> I think yoir use case doesn exist, at least here in Germany that explains a lot.