{"action":"reopened","issue":{"number":7,"created_at":"2011-10-20T19:39:41Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"body":"If you need an assembly obfuscated in the latest version or any of the versions on the website let me know and I can get you them.\r\n\r\nAnyways there are 2 control flow schemes which I wanted to mention (both used by .net reactor). One which is quite easy, it is basically dotfuscator's without the local variable.\r\n\r\n\tldc.i4 0\r\n\ttheswitch:\r\n\tswitch(label2, label3)\r\n\tlabel2:\r\n\tldc.i4 1\r\n\tbr theswitch\r\n\tlabel3:\r\n\tret\r\n\r\nThe next is a bit more complex. I have been thinking of a way to deal with it. I was thinking of recursively evaluating methods and seeing which methods return const values. Also seeing which conditionals are const. So they have something like the following\r\n\r\n\tbool ConstMethod()\r\n\t{\r\n\t\treturn false;\r\n\t}\r\n\r\n\tif (ConstMethod())\r\n\t{\r\n\t//Pop for obfuscation as the decompiler doesn't know this will never be true.\r\n\t}\r\n\r\n\r\nAnyways tomorrow I will be looking over your code and seeing if I can help. I will let you know if I start working on either of these.","comments":1,"title":".net Reactor","updated_at":"2011-10-21T00:40:32Z","url":"https://api.github.com/repos/0xd4d/de4dot/issues/7","id":2008555,"assignee":null,"milestone":null,"closed_at":null,"user":{"avatar_url":"https://secure.gravatar.com/avatar/4dfd94e786396bbf7dad6ffd6c98eed9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"4dfd94e786396bbf7dad6ffd6c98eed9","url":"https://api.github.com/users/high6","id":130197,"login":"high6"},"html_url":"https://github.com/0xd4d/de4dot/issues/7","labels":[],"state":"open"},"legacy":{"number":7,"action":"reopened","issue":2008555}}