Автор: Пользователь скрыл имя, 19 Октября 2011 в 03:02, курсовая работа
Целью данной работы является создание эффективного программного обеспечения для внедрения в исходные тексты программ информации об авторских правах, что позволит исключить несанкционированное их использование.
Введение 4
1 Описание методов и средств решения задачи 6
1.1 Постановка задачи на курсовое проектирование 6
1.2 Общие аспекты проблемы авторского права 6
1.3 Современные методы защиты программного обеспечения 7
2 Методы внедрения водяных знаков 19
2.1 Исследование статистических свойств исполняемого кода 19
2.2 Предлагаемые методы внедрения водяных знаков 21
2.3 Оценка эффективности подстановок 24
3 Описание разработанного программного обеспечения 26
3.1 Общая структура 26
3.2 Проектирование базы данных 26
3.3 Описание основных компонентов 27
3.4 Описание алгоритма программы 30
4 Описание результатов работы 32
4.1 Описание главной формы программы 32
4.2 Описание результатов работы программы и выводы по ним 33
Заключение 35
Список использованных источников 36
Приложение А. Листинг программы 37
{
comm = false;
tmpstr = tmpstr.Remove(tmpstr.IndexOf("
}
else comm = true;
}
if (comm)
if (tmpstr.IndexOf("*/") >= 0)
{
comm = false;
tmpstr = tmpstr.Remove(0, tmpstr.IndexOf("*/") + 1);
}
if (tmpstr.IndexOf(tmpcom) >= 0) count++;
j++;
}
com = new OleDbCommand("Insert Into Test1_count_end Values(" + Reader[0].ToString() + "," + count.ToString() + ");", mycon);
com.ExecuteNonQuery();
dataGridView2.RowCount++;
dataGridView2[0, i].Value = Reader[1].ToString();
dataGridView2[1, i].Value = count.ToString();
y100_MKM[i] = count;
i++;
}
mycon.Close();
CreateChart2(zg1);
}
private void расчетToolStripMenuItem_Click(
{
OleDbConnection mycon = new OleDbConnection(@"Provider=
mycon.Open();
OleDbCommand mycom = new OleDbCommand();
mycom = new OleDbCommand("Delete * From Test1_count_end", mycon);
mycom.ExecuteNonQuery();
mycom = new OleDbCommand("Select * From Commands", mycon);
OleDbDataReader Reader = mycom.ExecuteReader();
OleDbCommand com = new OleDbCommand();
string tmpcom, tmpstr;
StreamReader SReader;
int count;
bool comm = false;
int i = 0, j = 0;
while (Reader.Read())
{
tmpcom = Reader[1].ToString();
SReader = new StreamReader(openfilename);
count = 0;
j = 0;
while (j < richTextBox2.Lines.Length)
{
tmpstr = richTextBox2.Lines[j];
if (tmpstr.IndexOf("//") >= 0) tmpstr = tmpstr.Remove(tmpstr.IndexOf("
if (tmpstr.IndexOf("/*") >= 0)
{
if (tmpstr.IndexOf("*/") >= 0)
{
comm = false;
tmpstr = tmpstr.Remove(tmpstr.IndexOf("
}
else comm = true;
}
if (comm)
if (tmpstr.IndexOf("*/") >= 0)
{
comm = false;
tmpstr = tmpstr.Remove(0, tmpstr.IndexOf("*/") + 1);
}
if (tmpstr.IndexOf(tmpcom) >= 0) count++;
j++;
}
com = new OleDbCommand("Insert Into Test1_count_end Values(" + Reader[0].ToString() + "," + count.ToString() + ");", mycon);
com.ExecuteNonQuery();
dataGridView2.RowCount++;
dataGridView2[0, i].Value = Reader[1].ToString();
dataGridView2[1, i].Value = count.ToString();
y100_MKM[i] = count;
i++;
}
mycon.Close();
CreateChart2(zg1);
}
}
}