Also ich kenne eine Menge Programme, welche auf Themida / Winlicense zurückgreifen. Einmal geknackt, immer geknackt ist hier nicht richtig. Diese Programme konvertieren die normalen Opcodes in VM Bytecode Instruktionen und führen sie in einer internen VM aus. So einen VM Code erstmal wieder in normale Opcodes zu konvertieren ist eine Heidenarbeit, welche in den meisten Fällen per Hand erledigt werden muss.
Ist auf jeden Fall um den geschätzten Faktor 10000 sicherer, als eine eigene Implementation, wie man sie hier in Ansätzen findet.
Ich kenne persönlich einen wirklich versierten Reverser / Cracker. Für den sind die meisten Programme in ein Paar Minuten geknackt. Habe ihm mal per TeamViewer zugeguckt und konnte einfach nicht anders, als mit offenen Mund vorm Bildschirm zu sitzen.
Aber selbst er sagt, dass Themida beispielsweise, durch die fast ausschließlich dynamischen Komponenten, ein derart hoher Aufwand ist, dass er sich es 3x überlegt, bevor er seine Arbeit darein investiert.