Also interesting to see an article like this on the front page of HN...
Also interesting to see an article like this on the front page of HN...
They're all "trivial" to remove for a given value of "trivial." What you can do is to detect whether or not exactly the intended code is running, and you can only get away with this for awhile if you separate the detection from any visible consequences by a significant time span.
Also interesting to see an article like this on the front page of HN...
We've seen things like this time and again: Technology X fails at task Z. The conventional wisdom is that technology X is somehow hopeless in the entire problem domain. Everyone is scared of using technology X. Someone realizes that technology X >can< be used for task Y, but everyone just laughs at him and spouts the conventional wisdom.
It's easy to recognize things like this in hindsight. What's hard is to recognize them ahead of time and to profit from the information asymmetry. For this reason, I think this is appropriate for the front page of HN.
For building your own virtual machines, check out the ideas of the people here (Mips virtual machine should be easy, and enough to fool noobie-moderate level crackers) http://stackoverflow.com/questions/573115/what-is-your-favou...
For antidebugging tricks, Peter Ferrie has pretty much written the bible on these when it comes to Windows: http://pferrie.host22.com/papers/antidebug.pdf There's a couple of these papers, make sure you read all of them. For platforms other than Windows, you will have to come up with your own stuff, or Google well :)
For obfuscation, the best tricks are the ones you see in the real world. Check out the excellent Unpackme archives and tutorials of tuts4you: http://tuts4you.com/download.php
Another book on obfsucation that I see get mentioned a lot (which I don't recommend, but it still deserves a mention) is this one: http://www.amazon.com/Surreptitious-Software-Obfuscation-Wat...
And finally, if you're a noobie interested in getting involved in Reverse Engineering, check out Lena's excellent tutorial series: http://tuts4you.com/download.php?view.2876
If you want more info on anything specific, say so...