Skype macht das ganz gut!
Die haben überall total sinnlose Checks drinnen, die ganz zufällig fake-exceptions werfen. Außerdem ist jeder call dynamisch berechnet.
Das macht es sau schwer den Code zu verstehen, wenn man ihn durch einen disassembler jagen tut.
Ist ganz interessant was die da so alles gemacht haben! Hier ist ne pdf dazu: