Что происходит, когда я запускаю .NET exe? Я знаю, что С# скомпилирован в IL-код, и я думаю, что сгенерированный exe файл просто запускает запуск среды выполнения и передает ему IL-код. Но как? И насколько это сложный процесс?
IL-код внедрен в exe. Я думаю, что он может быть выполнен из памяти, не записывая его на диск, в то время как обычные exe не являются (хорошо, да, но это очень сложно).
Моя конечная цель - извлечение кода IL и запись моей собственной зашифрованной пусковой установки, чтобы запретить скрипт-треки открывать мой код в Reflector и просто легко красть все мои классы. Ну, я не могу полностью предотвратить обратное проектирование. Если они смогут проверять память и улавливать момент, когда я передаю чистый ИЛ во время выполнения, это не имеет значения, является ли это .net exe или нет, не так ли? Я знаю, что есть несколько инструментов обфускатора, но я не хочу испортить сам код IL.
РЕДАКТИРОВАТЬ: так что кажется, что не стоит пытаться делать то, что я хотел. Они все равно взломают... Так что я буду искать инструмент обфускации. И да, мои друзья тоже сказали, что достаточно переименовать все символы в бессмысленное имя. И обратное проектирование не будет таким легким в конце концов.