<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>devirt.dev</title><description>Notes on JavaScript deobfuscation, SSA-based optimization, and reverse engineering obfuscated samples.</description><link>https://devirt.dev/</link><language>en-us</language><item><title>Reversing JavaScript control-flow flattening</title><link>https://devirt.dev/blog/reversing-javascript-control-flow-flattening/</link><guid isPermaLink="true">https://devirt.dev/blog/reversing-javascript-control-flow-flattening/</guid><description>Why obfuscators flatten control flow, the canonical switch-dispatch pattern, and the compiler trick that collapses it back into readable code.</description><pubDate>Sun, 24 May 2026 00:00:00 GMT</pubDate><category>obfuscation</category><category>control-flow-flattening</category><category>reverse-engineering</category></item></channel></rss>