Я посмотрел на защиту программного обеспечения в целом для моих собственных проектов, и общая философия - то, что полная защита невозможна. Единственная вещь, которой можно надеяться достигнуть, состоит в том, чтобы добавить защиту к уровню, который стоил бы клиенту больше для обхода, чем это будет для покупки другой лицензии.
После этих слов я просто проверял Google на Python obsfucation и не поднимал многое из чего-либо. В.Net решении obsfucation был бы первым подходом к Вашей проблеме на платформе окон, но я не уверен, есть ли у кого-либо решения на Linux та работа с Моно.
следующая вещь состояла бы в том, чтобы записать Ваш код на скомпилированном языке, или если Вы действительно хотите пойти полностью, затем в ассемблере. Разделенный исполняемый файл было бы намного более трудно декомпилировать, чем интерпретируемый язык.
Все это сводится к компромиссам. На одном конце у Вас есть простота разработки программного обеспечения в Python, в котором также очень трудно скрыть секреты. На другом конце Вам записали программное обеспечение в ассемблере, который намного более трудно записать, но намного легче скрыть секреты.
Ваш босс должен выбрать точку где-нибудь вдоль того континуума, который поддерживает его требования. И затем он должен дать Вам инструменты и время, таким образом, можно создать то, что он хочет. Однако моя ставка - то, что он возразит против реальных затрат на разработку по сравнению с потенциальными денежными потерями.
Вы должны вызвать DataReader.Read
для получения результата:
SqlDataReader dr = cmd10.ExecuteReader();
if (dr.Read())
{
// read data for first record here
}
DataReader.Read ()
возвращает bool
, указывающее, если есть больше блоков данных для чтения, поэтому, если у вас более 1 результата, вы можете сделать:
while (dr.Read())
{
// read data for each record here
}
Вы должны вызвать dr.Read ()
, прежде чем пытаться прочитать какие-либо данные. Этот метод вернет false, если читать нечего.