this statement is bullshit. not only there are no issues writing a general purpose compiler targeting wasm so long as it doesn't create irreducible CFGs, but also convering irreducible CFGs to reducible is a perfectly normal transformation that has nothing to do with obfuscators
-
This Tweet is unavailable.
-
-
Replying to @whitequark @marcan42
please learn how compilers work before claiming things like this
2 replies 0 retweets 0 likes -
Replying to @whitequark
Is the part about the for-switch construct accurate? Because that's literally how the CFG obfuscators work (except instead of just setting the switch variable to sane values they throw some arithmetic in there to obfuscate it further).
1 reply 0 retweets 0 likes -
Replying to @marcan42
there is a number of ways to deal with irreducible CFGs, one of which is to use a for-switch construct. you of course don't need to do it for every function, and for most functions it would be much more efficient to just duplicate a few basic blocks
1 reply 0 retweets 1 like -
Replying to @whitequark @marcan42
I know that it's how obfuscators work, but AFAICT it's just a coincidence in that it's one of the simplest CFG transformations you can do, and DRM isn't somewhere you go look for technical excellence
1 reply 0 retweets 3 likes -
Replying to @whitequark
I know you don't need to do this for everything, I'm just amused that it comes down to having to do the same transformation in corner cases (and you need to support corner cases, so you need to write the algorithm into your compiler).
2 replies 0 retweets 0 likes
But I clearly over-dramatized it so I'll retract the tweet.
-
-
Thanks. Twitter will use this to make your timeline better. UndoUndo
-
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.