Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
Sam-vel
1 / 1 / 0
Регистрация: 27.06.2014
Сообщений: 30
1

Защита файла от изменения

03.08.2014, 14:20. Просмотров 1643. Ответов 9
Метки нет (Все метки)

как сделать что, если создаешь текстовой файл , был зашишон, можно было изменить только через код, а снаружи нельзя было изменить ?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.08.2014, 14:20
Ответы с готовыми решениями:

Защита библиотеки от просмотра и изменения
Возможно ли запретить пользователю, который будет пользоваться моей библиотекой, просматривать её...

Защита файла лицензии
Добрый день. У программы на c# есть файл лицензии, который закодирован Triple DES. В момент...

Защита приложения от инлайн патча файла
Даже имея сложный механизм защиты приложения, а так же использования обфускатора который взломщик...

Защита от изменения
У меня есть некоторые файлы программы (игры), которые будут ею читаться в процессе. Предположим,...

Защита документа от изменения
Ситуация такова. С помощью VBA создаётся документ MS Word 2010. С помощью того же VBA в него...

9
Убежденный
Ушел с форума
Эксперт С++
16271 / 7337 / 1183
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
03.08.2014, 14:34 2
Из простых вариантов - открыть файл в эксклюзивном режиме.
Но тогда ваш процесс, который держит файл, должен быть все время запущенным.
1
Sam-vel
1 / 1 / 0
Регистрация: 27.06.2014
Сообщений: 30
03.08.2014, 14:45  [ТС] 3
честно говоря я не знаю про эксклюзивном режим...
можно объяснить?
0
Убежденный
Ушел с форума
Эксперт С++
16271 / 7337 / 1183
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
03.08.2014, 14:49 4
File.Open Method (String, FileMode, FileAccess, FileShare)
http://msdn.microsoft.com/en-us/library/y973b725%28v=vs.110%29.aspx

Последний параметр.
1
Sam-vel
1 / 1 / 0
Регистрация: 27.06.2014
Сообщений: 30
03.08.2014, 15:01  [ТС] 5
не важно программа работает или нет, никто не должен иметь доступ к файлу.

Добавлено через 1 минуту
ok, Спасибо!

Добавлено через 4 минуты
я имею в виду то, что не только другие программы не имели доступ , но и люди тожо.
0
XRoy
864 / 714 / 304
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
03.08.2014, 18:32 6
Sam-vel,
Тогда шифруйте файл, если даже человек получит доступ то придется расшифровывать
0
Sam-vel
1 / 1 / 0
Регистрация: 27.06.2014
Сообщений: 30
03.08.2014, 18:47  [ТС] 7
ну да это понятно, но если он там что то будет менять или дабавить что тогда ?
тагда шифрвка поможет ? как зделоть тогда поможете пожулуста ....
0
Casper-SC
Эксперт .NET
4093 / 1943 / 381
Регистрация: 27.03.2010
Сообщений: 5,345
Записей в блоге: 1
03.08.2014, 19:08 8
Цитата Сообщение от Sam-vel Посмотреть сообщение
ну да это понятно, но если он там что то будет менять или дабавить что тогда ?
тагда шифрвка поможет ? как зделоть тогда поможете пожулуста ....
Пиши бинарник, расширение сам придумай. Тогда руками там никто ничего править не будет. А при желании большом, хоть что ты там выдумывай, файл можно будет повредить.
1
Sam-vel
1 / 1 / 0
Регистрация: 27.06.2014
Сообщений: 30
03.08.2014, 19:28  [ТС] 9
А можно небольшой простой пример ...
0
Casper-SC
Эксперт .NET
4093 / 1943 / 381
Регистрация: 27.03.2010
Сообщений: 5,345
Записей в блоге: 1
03.08.2014, 20:50 10
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
using System;
using System.IO;
 
namespace ConsApp_Bin
{
    public class Program
    {
        static void Main(string[] args)
        {
            Data[] data =
            {
                new Data() { Id = 1, Value = "Текст 1"}, 
                new Data() { Id = 2, Value = "Текст 2"}
            };
 
            string file = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), "Data.bin");
 
            Data.SaveToFile(data, file);
 
            Data[] loaded = Data.LoadFromFile(file);
 
            foreach (Data current in loaded)
            {
                Console.WriteLine(current);
            }
 
            Console.ReadKey();
        }
    }
}
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
using System.IO;
 
namespace ConsApp_Bin
{
    public class Data
    {
        public int Id { get; set; }
 
        public string Value { get; set; }
 
        public override string ToString()
        {
            return string.Format("Id = {0}, Value = {1}", Id, Value);
        }
 
        public static void SaveToFile(Data[] data, string fileName)
        {
            using (FileStream fs = new FileStream(fileName, FileMode.Create, FileAccess.Write))
            {
                using (BinaryWriter bw = new BinaryWriter(fs))
                {
                    bw.Write(data.Length); //int
                    for (int i = 0; i < data.Length; i++)
                    {
                        bw.Write(data[i].Id); //int
                        bw.Write(data[i].Value); //string
                    }
                    bw.Flush();
                }
            }
        }
 
        public static Data[] LoadFromFile(string fileName)
        {
            Data[] data;
            using (FileStream fs = new FileStream(fileName, FileMode.Open))
            {
                using (BinaryReader br = new BinaryReader(fs))
                {
                    int arrayLength = br.ReadInt32(); //int
 
                    data = new Data[arrayLength];
 
                    for (int i = 0; i < data.Length; i++)
                    {
                        data[i] = new Data();
                        data[i].Id = br.ReadInt32(); //int
                        data[i].Value = br.ReadString(); //string
                    }
                }
            }
            return data;
        }
    }
}
0
03.08.2014, 20:50
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.08.2014, 20:50

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Защита от изменения кода
Кто сталкивался с защитой от изменения кода? Как ее обойти,создать? Если можно,на примере...

Защита кода JS от просмотра/изменения
Можно ли каким-либо способом защитить код JavaScript от просмотра/изменения? Про ScriptEncoder...

Защита текста от изменения(Assembler)
Помогите кто знает, как проверить контрольную сумму программы. Есть задание: Написать программу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.