4 ms·
ELI5 please. What does this mean for a developer?
by isuckatcoding 10y ago
ELI5 please. What does this mean for a developer?
- bluedino 10y agoNothing - it's simply an intellectual exercise. It uses the MOV instruction exclusively to create a working program. Further reading - http://www.cl.cam.ac.uk/%7Esd601/papers/mov.pdf http://www.cl.cam.ac.uk/%7Esd601/papers/mov.pdf
- 0x0 10y agoIt might find some use in DRM, malware, and other exploits as it would make reverse engineering/decompiling/analysis somewhat more challenging.
- haberman 10y agoSomeone made something very clever, but it has no practical usefulness whatsoever. It is an interesting intellectual exercise. It's also very impressive that they could pull this off.
- SilasX 10y agoI would think it has some practical use as research in OISC (one-instruction set computing) processors, which are like the RISC model (do a smaller set of instructions so you can do them faster) on steroids.
- lucb1e 10y agoNo practical usefulness? It seems rather great for obfuscation, be it for evil (viruses) or good (license key verification -- which is deemed 'good' merely because they're legal, not because they're not a pain in the arse).
- TelmoMenezes 10y agoNot really. Creating an algorithm for recovering the jumps and the intent of the various MOV patterns would be no more work than it was to write this. Particularly easier because one has access to the obfuscator's code, but I don't think it would be a major hurdle even without the source code.
- lucb1e 10y agoSame could be said for most binaries: they're just compilations (usually with open source or freely available compilers) of C/C++ code. Shouldn't be too hard to reverse once you got all the patterns worked out. I see your point though. I'm not very experienced on this and I'm sure some patterns can easily be recovered, but until someone goes through the effort it's still a considerable effort compared to being able to read the program normally, and even when someone does it's questionable whether the original can be recovered with some simple 1:1 translation.
- jakub_h 10y agoYou can stop worrying about branchless code and have it generated automatically! ;)