Как проверить целостность исполняемого файла?

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

areh
Постоялец
Постоялец
 
Сообщения: 530
Зарегистрирован: 02.12.2002 (Пн) 12:28
Откуда: РОССИЯ, Салехард

Как проверить целостность исполняемого файла?

Сообщение areh » 19.12.2004 (Вс) 14:51

сдается мне, что это возможно... но как?

PS имеется ввиду проверка неизменности файла самим собой

hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

Сообщение hCORe » 19.12.2004 (Вс) 15:03

CRC32 в EOF после компиляции. Где-то валялся пример записи произвольных данных в конец файла и их чтения. Вот он:
Вложения
MyCompiler.rar
(15.07 Кб) Скачиваний: 85
Моду создают модоки, а распространяют модозвоны.

areh
Постоялец
Постоялец
 
Сообщения: 530
Зарегистрирован: 02.12.2002 (Пн) 12:28
Откуда: РОССИЯ, Салехард

Сообщение areh » 19.12.2004 (Вс) 15:20

а что-нить подобное тока в NET ?

мне кажется что должна существовать такая опция компилятора... хотя кто его знает...

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 19.12.2004 (Вс) 15:57

А вот там это очень сложный вопрос... Потому что компиляция происходит в момент запуска :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

Сообщение hCORe » 19.12.2004 (Вс) 17:28

При первом запуске получить данные о сборке при помощи рефлексии (System.Reflection). Сохранить их в каком-нибудь классе. Сериализовать этот класс на диск. Зашифровать полученный результат. При загрузке программы восстанавливать данные, получать данные о сборке и сверять их с сохранёнными в классе...

Или просто создать сильное имя (см. strong names в MSDN) и подписать все критичные сборки?
Моду создают модоки, а распространяют модозвоны.

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 20.12.2004 (Пн) 11:56

Господа! О чём вы? Это и есть одно и преимуществ НЕТ. Если сборка с "сильными" именами (strong name) была модифицирована, то она не запустится!
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

areh
Постоялец
Постоялец
 
Сообщения: 530
Зарегистрирован: 02.12.2002 (Пн) 12:28
Откуда: РОССИЯ, Салехард

Сообщение areh » 20.12.2004 (Пн) 12:10

Sebas, может вкратце расскажешь, как сделать сборку с "сильными" именами?

gaidar
System Debugger
System Debugger
 
Сообщения: 3152
Зарегистрирован: 23.12.2001 (Вс) 13:22

Сообщение gaidar » 20.12.2004 (Пн) 14:55

areh писал(а):Sebas, может вкратце расскажешь, как сделать сборку с "сильными" именами?


См. MSDN ам это написано. И даже не в кратце.
The difficult I’ll do right now. The impossible will take a little while. (c) US engineers in WWII
I don't always know what I'm talking about, but I know I'm right. (c) Muhammad Ali


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 81

    TopList