Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.05.2012, 10:28   #1
Dianochka
Пользователь
 
Регистрация: 29.11.2007
Сообщений: 32
Вопрос Чтение/запись файлов в сборке.

Вечер добрый!
VS C#. Проблема такая - есть программа, которая содержит 2 формы. При запуске открывается первая форма и при нажатии на кнопку она должна создать .exe файл, при запуске которого открывалась вторая форма. Вопрос в том как запихать вторую форму в этот exe файл и чтобы она работала?

Буду рада любой помощи.

Последний раз редактировалось Dianochka; 25.05.2012 в 10:31.
Dianochka вне форума Ответить с цитированием
Старый 25.05.2012, 12:50   #2
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 822
По умолчанию

Как-то так. Хотя способов куча, поэтому при более подробном ТЗ можно и сделать по-другому.

Цитата:
2. Каким-то образом засунуть форму №2(для дешифрования этого бинарного файла), сам шифрованный бинарный файл и хэш пароля - в 1 exe файл!!!
Не совсем понятно куда и что Вы хотите запихнуть и зачем. Проще зашифровать файл, с определенным расширением ( н-р, .crypt), проассоциировать программу дешифратор с этим расширением (запись в реестре Windows). А вообще лучше сделать шифратор-дешифратор в одной программе, а не разносить в разные. Данные (если алгоритм требует хеш) хранить в ресурсах в шифрованном виде, например, используя пароль, который ввел пользователь, без пользователя в принципе нельзя будет расшифровать (ну или это изрядно усложнит такую задачу).
Не давай организму поблажки, каждый день тренируй его в шашки..

Последний раз редактировалось Stilet; 26.05.2012 в 08:26.
Скарам вне форума Ответить с цитированием
Старый 25.05.2012, 18:00   #3
Dianochka
Пользователь
 
Регистрация: 29.11.2007
Сообщений: 32
По умолчанию

более подробное ТЗ:

1. моя программа(форма) №1 шифрует выбранный бинарный файл по хэшу от введенного пользователем пароля, в итоге получится набор шифробайтов соответственно
2. Каким-то образом засунуть форму №2(для дешифрования этого бинарного файла), сам шифрованный бинарный файл и хэш пароля - в 1 exe файл!!!
3. этот exe файл при запуске должен запрашивать у пользователя пароль, посчитать от него хэш и если он верный то расшифровывать бинарный файл(сохраненный в нем же) и запукать его.

застряла на 2 пункте. при таком ТЗ пример по вашей ссылке самый лучший вариант реализации?

Понимаете это задание курсовой работы, я не могу его изменять.
а записывать программу дешифровщик в зашифрованный файл нужно для того, чтобы при копировании ее на другой компьютер она не потеряла своих свойств. и не обязательно было устанавливать программу чтобы его расшифровать

может я просто плохо объяснила задание, но в его сделанном виде картина выглядела бы так:
мы запускаем программу для шифрования бинарных файлов (не в VS а уже опубликованную), она справшивает какой exe файл вы хотите зашифровать, и просит ввести пароль который следует установить на файл. Мы это вводим и нажимаем на кнопку зашифровать и получаем зашифрованный exe файл на месте ранее не зишифрованного. пробуем его запустить и бах, он уже спрашивает у нас пароль и без него отказывается запускаться!)

Последний раз редактировалось Stilet; 26.05.2012 в 08:28.
Dianochka вне форума Ответить с цитированием
Старый 25.05.2012, 20:05   #4
mrMeerkat
Следопыт
Форумчанин
 
Аватар для mrMeerkat
 
Регистрация: 26.04.2012
Сообщений: 307
По умолчанию

Dianochka, у вас первый и второй посты в этой теме описывают совершенно разные ситуации(как мне показалось). Опишите все что вы хотите сделать как-можно по-проще, пошагово; без использования терминологий понятных только вам; приведите свои исходники кода и расскажите как вы хотели чтоб было.

Цитата:
Сообщение от Dianochka Посмотреть сообщение
при таком ТЗ пример по вашей ссылке самый лучший вариант реализации?
По ссылке пример компиляции C#-ного кода с помощью программы на C#. Или он в коде самой программы или в стороннем файле Program.cs(прочитать его в строчную переменную) и скомпилировать - создается самодостаточный экзешник.
Вроде так, я бегло прочитал код по ссылке. Ранее по подобному источнику сам делал(со своими корректировками) то что описал выше. Где-то в интернете есть мой код подобного образца(на "Хеллоу ворд", с формами там будет так-же, думаю), если нужно, пороюсь.

Цитата:
Сообщение от Dianochka Посмотреть сообщение
3. этот exe файл при запуске должен запрашивать у пользователя пароль, посчитать от него хэш и если он верный то расшифровывать бинарный файл(сохраненный в нем же) и запукать его.
(до-смерти)Увы, но программы на это пока еще не способны.

PS: надеюсь не переборщил.

Упс, пока я писал, третий пост все изменил(нужно подумать).

В PE-заголовок файла внесите пароль, который сама же программа и будет проверять, все-равно он виндой не используеться.

PS: и что в вашем понятии "бинарные файлы" - просто ".dat" или ".exe"? Может и тупой был вопрос, но есть исполняемый код и данные.

PPS://спустя время:
Цитата:
Сообщение от Dianochka Посмотреть сообщение
мы запускаем программу для шифрования бинарных файлов (не в VS а уже опубликованную), она справшивает какой exe файл вы хотите зашифровать, и просит ввести пароль который следует установить на файл. Мы это вводим и нажимаем на кнопку зашифровать и получаем зашифрованный exe файл на месте ранее не зишифрованного. пробуем его запустить и бах, он уже спрашивает у нас пароль и без него отказывается запускаться!)
Дочитал, думаю, на С# это вряд-ли реализовать, ведь там код должен быть нативный.
На С++ или с ассеммблярными вставками можно, но ни на С#.
Какой вы пароль зашифруете в программу, которая компилируется на этапе исполнения? Разве что тупо в коде пароль прописать.
С Баша:Быть ленивым, глупым, жадным, да и просто редкостным гандоном и мудаком по жизни номально, а вот если ты матом ругаешься-то это да, ужасно и достойно общественного порицания.

Последний раз редактировалось Stilet; 26.05.2012 в 08:29.
mrMeerkat вне форума Ответить с цитированием
Старый 25.05.2012, 21:08   #5
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 822
По умолчанию

Накидал тестовый проект, с формой, генерируемой из ресурсов. Код процедуры обработки нажатия кнопки напишите сами, я вставляю MessageBox.Show. Думаю, что так же, к программе можно добавить файлы в ресурсы (Ваш зашифрованный файл). Как пример, я передал в программу тест (выводиться при клике на кнопку). Дальше только фантазия и смекалка.
Вложения
Тип файла: rar CompileEx.rar (44.5 Кб, 38 просмотров)
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Старый 26.05.2012, 10:12   #6
Dianochka
Пользователь
 
Регистрация: 29.11.2007
Сообщений: 32
По умолчанию

Скарам, спасибо за пример, очень понравился, не умела так делать.
mrMeerkat исполняемые файлы тоже туда входят)) и да хотя бы тупо в коде решила хэш пароля прописать, знаю тупо, но курсовую во вторник сдавать поэтому времени совершенно нет..
в моем черновом проекте сейчас после нажатия на кнопку "зашифровать файл" создается файл EncryptFile.exe в который записывается:
1. Моя программа дешифровщик созданная в другом проекте, затем
2. Хэш ключа
3. зашифрованные данные файла (например utorrenta.exe)

и тут столкнулась с проблемой, не знаю как запустить exe файл программно...
т.е. есть считанный EXE файл хранимый, к примеру, в Stream. Как запустить его не сохраняя его на жестком диске ?

Последний раз редактировалось Dianochka; 26.05.2012 в 15:44.
Dianochka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чтение и запись файлов VB Compact Framwork Rom1k06 Общие вопросы .NET 0 21.12.2010 17:00
Запись и чтение WAV-файлов в/из базы Sanprof БД в Delphi 1 15.11.2010 13:27
Чтение и запись файлов на java kostyan142 Помощь студентам 0 14.02.2010 17:53
Запись и чтение файлов Delphi DEFENEK Помощь студентам 5 09.05.2009 13:05