Ich habe viele Posts über Decompiling gelesen (obwohl keine Erfahrung), aber nicht verstanden, warum alle von ihnen im Allgemeinen erwähnt haben, dass es einfacher ist, C # zu dekompilieren als C ++. Könnte jemand den Unterschied erklären?
C # wird in CIL kompiliert, nicht direkt in einen systemeigenen Code, wie es normalerweise ein C ++ - Compiler tun würde.
Es erzeugt eine .NET-Assembly , die viel mehr Meta enthält Daten als eine C ++ - ausführbare Datei (über das eingebettete Manifest ) - das sind Metadaten über die in der Assembly, was es referenziert und mehr, so dass es viel leichter zu dekompilieren als eine "normale" ausführbare Datei.
Wie in den Kommentaren erwähnt, ist CIL an und für sich eine höhere Sprache als Assembler und eine objektorientierte Sprache, die das Verständnis und die Dekompilierung erleichtert.
Tags und Links c# c++ decompiling