2013-05-14 3 views
1

Im создание приложения, которое должно состоять из одного файла .exe, который, в свою очередь, будет распространен другими. В этом .exe-файле есть два жестко закодированных поля, имя пользователя и пароль. Люди, которые собираются распространять это, хотят обновить эти поля и изменить информацию.Сведения о обновлении C# в exe-файле

У меня нет абсолютного понятия, как это сделать. Если бы была dll или config sure, просто прочитайте их, но тогда информация будет в виде простого текста, но таких файлов с проектом нет. Единственные, кто обновляет .exe, должны быть людьми, распространяющими приложение, поэтому им придется обновлять и повторно загружать .exe, я полагаю, но как?

Я пишу новое приложение, которое каким-то образом декомпилирует, обновляет поля и перекомпилирует их? Или существует «обычный» способ сделать это, о котором я не знаю? Или это единственный способ войти в исходный код, изменить поля и скомпилировать новый .exe и заменить старый?

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

+0

Является ли это не ложным чувством безопасности ***, так как программу можно просто декомпилировать? Является ли это истинным утверждением о том, что вы хотите, чтобы дистрибьюторы могли устанавливать «имя пользователя» и «пароль», но вы хотите, чтобы пользователь не мог их просматривать или изменять? –

+0

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

+0

Прочитайте то, что вы только что написали в первом абзаце, «2 жестко закодированных поля, которые пользователи могут изменить», ok звучит как оксюморизованный оператор .. почему бы не создать процесс, который, когда приложение запускается в первый раз, в отношении пароля. вы никогда не должны «HARDCODE PASSWORDS» ... – MethodMan

ответ

1

Вместо того, чтобы жестко кодировать информацию в исполняемый файл, может иметь смысл иметь файл app.config, но encrypt, а затем предоставить утилиту, которая будет писать зашифрованный файл app.config с указанной информацией.

+0

его выглядит как лучший вариант на данный момент да. – Gvs

+0

Прочитал об этом и одну проблему, я вижу, так как у меня нет файла установки, ключи не будут зашифрованы до тех пор, пока вы не запустите приложение один раз? Угадайте, что это не проблема, так как я могу запустить ее, а затем распространять ее, я думаю, но есть ли другой способ, который я не вижу? Я говорю о шифровании app.Configs appSetting, который выполняется через код в приложении (во время загрузки формы, я думаю) или через консольное приложение? – Gvs

+0

Закончив работу с этим, просто сделал консольное приложение, которое шифрует, расшифровывает и обновляет информацию в файле app.config, который будут использовать дистрибьюторы. Спасибо – Gvs

Смежные вопросы