Заранее извиняюсь за возможно некорректный вопрос.
Если в процессе загрузки приложения написанного для .net исполняемой среды просходит просто вызов импорт. функции (для exe) _CorExeMain и передача управления среде, то можно ли самостоятельно изменить процесс загрузки, вообще-то интересно как?
R>просто вызов импорт. функции (для exe) _CorExeMain и передача управления среде, то можно ли самостоятельно изменить процесс загрузки, вообще-то интересно как?
Подредактировать EXE и вызывать _CorExeMain не из mscoree.dll, а из своей какой-нибудь mycoree.dll.
Правда, после такого изврата подписанные сборки станут некорректными. На то ведь StrongName и придумали.
Здравствуйте, mihailik, Вы писали:
R>>просто вызов импорт. функции (для exe) _CorExeMain и передача управления среде, то можно ли самостоятельно изменить процесс загрузки, вообще-то интересно как?
M>Подредактировать EXE и вызывать _CorExeMain не из mscoree.dll, а из своей какой-нибудь mycoree.dll.
M>Правда, после такого изврата подписанные сборки станут некорректными. На то ведь StrongName и придумали.
это как это если имееца ввиду вызвать _CorExeMain не непостедстненно из самой сборки, а из какой-нибудь левой mycoree.dll, то после того как среда инициализируется откуда будет исполняться код? Вообщем-то я вот чего хочу понять, реально ли как нибудь скрыть то, что софтинка вообще нетовской сборкой является (хотя бы с первого взгляда)? в смысле без всяких левых пакеров, а то мне IDA нагло сразу выдает, мол сборка .net и т.д. Например Thinstail (хоть он и обфускатор с добавками по натуре) хорошо это сделал. Могет есть какие предположения куда покопать...
Здравствуйте, mihailik, Вы писали:
M>Ну сделай на Дельфи приложение. Пусть из себя достанет сборку (ну из ресурса), захостит CLR-домен и запустит сборку из byte[].
тэкс... у MS как то был пример (есди мине не изменяет память) как сделать хостинг для сборки своими руками, но че-то я не могу найти могет кто встречался с примерами или статьями на эту тему
R>> в смысле без всяких левых пакеров, а то мне IDA M>А это что за артефакт?
ну это я сборку дизассемблером посмотрел кстати IDA Pro 4.51 может сборку и как PE и как .net приложение рассмотреть (и всё это в купе с подсветкой, логическими переходами и др. вкусностями)
M>А каковы критерии "левизны" пакера?
ну если за пакер в нашем случае считать какую-то мега тулзу, которая всё что можно спрячет (хотя бы xor'ом пошифрует), импорты куда нибудь засунет и другую пакость сделает, то на него обязательно анпакер найдется (если не совсем левый). Ну, еше левый в смысле ... платный
M>Не понимаю, зачем оно вообще тебе нужно.
ну вообщем мне платформу .нет нада оценить с точки зрения защищенность. Так как все дела типа управляемости, CAS, roles и т.д. более менее ясны, то с защитой от дизассемблинга — байда, MS даже где-то просто предлагает предоставлять хостинг приложения на корпоративном сервере, вместо того чтобы в люди отдавать. Конечно есть обфускаторы (даже целая куча) включая родной, но по большому счету они только изменяют все идентификаторы на неперевариваемые, перемешивают ... вообщем при наличии времени и желания можно и расковырять.
з.ы. могет у кого есть что нибудь интересное на эту темы (в смысле не книги ... и не ссылки на ms). 10x
M>>А каковы критерии "левизны" пакера? R>то на него обязательно анпакер найдется (если не совсем левый). Ну, еше левый в смысле ... платный
Понял, ты от дизассемблера защищаешься.
R>ну вообщем мне платформу .нет нада оценить с точки зрения защищенность. Так как все дела типа управляемости, CAS, roles и т.д. более менее ясны, то с защитой от дизассемблинга — байда R>но по большому счету они только изменяют все идентификаторы на неперевариваемые, перемешивают ... вообщем при наличии времени и желания можно и расковырять.
А ты хоть теоретически можешь предложить что-нибудь другое? Не понимаю, почему .NET здесь должен хоть как-то отличаться от обычного C++ и ассемблера.
Если тебя даже обфускаторы не убеждают, то уж читать чистый x86-ассемблер, наверное, совсем ерундой покажется.
Здравствуйте, rk13, Вы писали:
R>>> в смысле без всяких левых пакеров, а то мне IDA M>>А это что за артефакт? R>ну это я сборку дизассемблером посмотрел кстати IDA Pro 4.51 может сборку и как PE и как .net приложение рассмотреть (и всё это в купе с подсветкой, логическими переходами и др. вкусностями)
IDA для .NET это что-то типа каменного топора — и врагам голову можно раскрошить и себе по ноге не слабо заехать. Сейчас-же все используют более внятные дизассемблеры которые позволяют получить код на C#. А дальше, реинжиниринг, готовые UML диаграммы — это все на полу-автомате...
M>>Не понимаю, зачем оно вообще тебе нужно. R>ну вообщем мне платформу .нет нада оценить с точки зрения защищенность. Так как все дела типа управляемости, CAS, roles и т.д. более менее ясны, то с защитой от дизассемблинга — байда, MS даже где-то просто предлагает предоставлять хостинг приложения на корпоративном сервере, вместо того чтобы в люди отдавать. Конечно есть обфускаторы (даже целая куча) включая родной, но по большому счету они только изменяют все идентификаторы на неперевариваемые, перемешивают ... вообщем при наличии времени и желания можно и расковырять.
Почитай форум — сразу с таким вопросом ты тут не первый...
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Здравствуйте, TK, Вы писали:
TK>Здравствуйте, rk13, Вы писали:
TK>IDA для .NET это что-то типа каменного топора — и врагам голову можно раскрошить и себе по ноге не слабо заехать. Сейчас-же все используют более внятные дизассемблеры которые позволяют получить код на C#. А дальше, реинжиниринг, готовые UML диаграммы — это все на полу-автомате...
ну, скорее скальпель при обработке досок (хотя согласен что куда приятней вывод того же Reflector'a)
извиняюсь, если флейм тут развёл ненужный.