Использование блоков кода c#

Регистрация
23.12.2014
Сообщения
127
Благодарностей
65
Баллы
28
Попробовал использовать конструкции оригинального c# вида

Взято из json.net
Код:
public class Account
{
 public string Email { get; set; }
 public bool Active { get; set; }
 public DateTime CreatedDate { get; set; }
 public IList<string> Roles { get; set; }
}

string json = @"{
 'Email': '[email protected]',
 'Active': true,
 'CreatedDate': '2013-01-20T00:00:00Z',
 'Roles': [
 'User',
 'Admin'
 ]
}";

Account account = JsonConvert.DeserializeObject<Account>(json);

Console.WriteLine(account.Email);
// [email protected]
Но мейкер всегда подчеркивает public class и последующие строки и не дает их использовать.

Для себя решение вижу только в подготовке библиотек в visual studio, чтобы использовать c# по максимуму.

Есть ли какой-то другой вариант не используя visual studio?
 
  • Спасибо
Реакции: stanar

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 454
Благодарностей
5 913
Баллы
113
  • Спасибо
Реакции: Vlad Korobeinikov
Регистрация
23.12.2014
Сообщения
127
Благодарностей
65
Баллы
28

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 454
Благодарностей
5 913
Баллы
113
Благодарю за ответ - что-то я ступил, действительно же можно и так было.
Вы не ступили) Просто у нас так задумано - функции и классы объявляются в общем коде. а в блоке С# они уже вызываются и используются.
 
Регистрация
23.12.2014
Сообщения
127
Благодарностей
65
Баллы
28
Вы не ступили) Просто у нас так задумано - функции и классы объявляются в общем коде. а в блоке С# они уже вызываются и используются.
Ок, тогда вопрос - могу ли я написать программу на c# и zenno poster использовать как обертку вокруг нее - чтобы не взломали?
 
  • Спасибо
Реакции: stanar

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 454
Благодарностей
5 913
Баллы
113
Ок, тогда вопрос - могу ли я написать программу на c# и zenno poster использовать как обертку вокруг нее - чтобы не взломали?
Не очень понимаю как Zennoposter поможет защитить программу от взлома.
 
Регистрация
23.12.2014
Сообщения
127
Благодарностей
65
Баллы
28
Не очень понимаю как Zennoposter поможет защитить программу от взлома.
Можно ли использовать шаблон Zenno Poster как обертку для основного кода программы? - потому что до сих пор я не видел, чтобы шаблоны ZP были взломаны.
 
  • Спасибо
Реакции: stanar

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 454
Благодарностей
5 913
Баллы
113
Можно ли использовать шаблон Zenno Poster как обертку для основного кода программы? - потому что до сих пор я не видел, чтобы шаблоны ZP были взломаны.
Попробуйте) Но выполнять шаблон все равно только в ZennoPoster можно.
 
Регистрация
23.12.2014
Сообщения
127
Благодарностей
65
Баллы
28
Попробуйте) Но выполнять шаблон все равно только в ZennoPoster можно.
То есть если я напишу программу с интерфейсом - то интерфейс не будет воспроизведен?
Или будет?
 
  • Спасибо
Реакции: stanar

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 454
Благодарностей
5 913
Баллы
113
То есть если я напишу программу с интерфейсом - то интерфейс не будет воспроизведен?
Или будет?
Выполнением шаблона? Скорее всего нет, не будет. Что-то слишком сложное вы хотите сделать.
 

Moadip

Client
Регистрация
26.09.2015
Сообщения
509
Благодарностей
824
Баллы
93
Можно ли использовать шаблон Zenno Poster как обертку для основного кода программы? - потому что до сих пор я не видел, чтобы шаблоны ZP были взломаны.
Сделал так чтобы защитить свою прогу.
Т.к. это самый простой вариант.))
Все хитрожопые защиты, если прога написана на C# при должном усердии можно обойти.

Делается следующим образом.
Пишется прога в VS, на чем будет UI, это уже вам выбирать, я делал на WPF, можно под WinForms.

Сразу продумывается архитектура. Чтобы UI отдельно, логика отдельно. Логика и UI разносится по разным проектам.
Дальше логика переносится в шаб в OwnCode, в рефы добавляется dll с UI.

Ну и все, создается скажем объект Окна из dll с UI, к всяким кнопкам, спискам и проч, привязываются свои обработчики событий и погнали.

Если делать под WinForms, то вообще весь код можно перенести в OwnCode, но все равно интерфейс лучше делать в VS, а потом переносить.
Т.к. зенка не заточена под такое, и написание интерфейса напрямую в зенке, это издевательство над собой.))
 
  • Спасибо
Реакции: Nick и Vlad Korobeinikov
Регистрация
23.12.2014
Сообщения
127
Благодарностей
65
Баллы
28
Сделал так чтобы защитить свою прогу.
Т.к. это самый простой вариант.))
Все хитрожопые защиты, если прога написана на C# при должном усердии можно обойти.

Делается следующим образом.
Пишется прога в VS, на чем будет UI, это уже вам выбирать, я делал на WPF, можно под WinForms.

Сразу продумывается архитектура. Чтобы UI отдельно, логика отдельно. Логика и UI разносится по разным проектам.
Дальше логика переносится в шаб в OwnCode, в рефы добавляется dll с UI.

Ну и все, создается скажем объект Окна из dll с UI, к всяким кнопкам, спискам и проч, привязываются свои обработчики событий и погнали.

Если делать под WinForms, то вообще весь код можно перенести в OwnCode, но все равно интерфейс лучше делать в VS, а потом переносить.
Т.к. зенка не заточена под такое, и написание интерфейса напрямую в зенке, это издевательство над собой.))
Да, я именно о таком ключе и думал сделать - через студию графику и логику, а потом это просто скопировать в own code.
Я правильно понимаю, что если разнести UI и логику в разные шаблоны. то тогда в шаблоне UI все настраивается графически, а после настройки вызывается с помощью функции шаблон в шаблоне - логика проекта, которая все и выполняет?
 
  • Спасибо
Реакции: stanar
Регистрация
23.12.2014
Сообщения
127
Благодарностей
65
Баллы
28
@VladZ Вопрос такой - я в коде вызываю метод MessageBox.Show(value) - ,бокс появляется, но текст из переменной в нем отсутствует, бокс пустой.
Однако, если я просто заполняю текстом MessageBox.Show("Любой текст") - тогда этот текст выводится.

Хочу узнать, какие ограничения еще есть?
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
@VladZ Вопрос такой - я в коде вызываю метод MessageBox.Show(value) - ,бокс появляется, но текст из переменной в нем отсутствует, бокс пустой.
Однако, если я просто заполняю текстом MessageBox.Show("Любой текст") - тогда этот текст выводится.

Хочу узнать, какие ограничения еще есть?
В обоих случаях работает
C#:
var str = "Привет!!!";
MessageBox.Show(str);
C#:
var str = "Привет!!!";
MessageBox.Show(str, "", MessageBoxButtons.OK);
 

Moadip

Client
Регистрация
26.09.2015
Сообщения
509
Благодарностей
824
Баллы
93
Да, я именно о таком ключе и думал сделать - через студию графику и логику, а потом это просто скопировать в own code.
Я правильно понимаю, что если разнести UI и логику в разные шаблоны. то тогда в шаблоне UI все настраивается графически, а после настройки вызывается с помощью функции шаблон в шаблоне - логика проекта, которая все и выполняет?
Нет, не так. Вся переносимая прога находится в одном шаблоне.
Разделяется первоначальный проект сделанный в VS.

Вот пример:
Так выглядела прога изначально. В солюшене находился один проект.


После того как было принятно решение, что надо "накрыть" прогу шаблоном, было сделано следующее.

Вместо одного проекта, появилось три.
Проект с UI в виде dll.
Проект с логикой - Core, в виде dll.
Плюс доп. проект, который работает с этим двумя dll, и связывает UI с функционалом.
Там есть все лишь один класс - Loader.
Его задача, загружать главную форму проекта, а также привязывать к различным элементам UI хэндлеры и доп. логика, чтобы все это дело работало.))

После того как все это отдебажено, проверено, что все работает так как надо(т.к. дебажить в PM это занятие для маньяков:D), код переносится в шаблон.
В шаблон переносится класс Loader, переносятся все классы из Core, плюс в рефы шаблона добавляется dll с UI.

Так выглядит шаблон.


Ну и собственно прога которая просто запускается, и запускается из под шаблона.



Называется найди два отличия.))

Как это все работает в живую, можно посмотреть тут.
Осторожно! Реклама!:D

PS: теги спойлера не работают, не получилось под спойлер спрятать картинки.((
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
Сколько знаю Moadip реально человек с головой и всё что надо для програмирования в ней у него всё есть
 
  • Спасибо
Реакции: Moadip
Регистрация
23.12.2014
Сообщения
127
Благодарностей
65
Баллы
28
@Moadip нереально круто!
Хоть сейчас плюсуй на 5 конкурс статей - как сделать такую же - пусть не с таким функционалом, но просто рыбу, чтобы увидеть как будет работать)))
 
  • Спасибо
Реакции: Sunny Friday

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
@Moadip нереально круто!
Хоть сейчас плюсуй на 5 конкурс статей - как сделать такую же - пусть не с таким функционалом, но просто рыбу, чтобы увидеть как будет работать)))
а это winform, пусть не так как мой друг это делает но захотел я такое и сделал
получается нет преград в зенке
 

samsonnn

Client
Регистрация
02.06.2015
Сообщения
1 782
Благодарностей
1 448
Баллы
113
Да, было бы не плохо увидеть подробную статью, как писать свои програмки с использованием их в зенно постере, в 5 - м конкурсе=)
 
Регистрация
23.12.2014
Сообщения
127
Благодарностей
65
Баллы
28
Сейчас изучаю c# по head first o'reilly - можно оттуда надергать примеров простого кода UI - чтобы проверить как самим делать интерфейс в zenno.
 
  • Спасибо
Реакции: stanar

7make

Client
Регистрация
25.06.2011
Сообщения
1 547
Благодарностей
1 311
Баллы
113

Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с 7make какие-либо сделки.

хоспади, дай людям возможность и они напридумывают изврата))
 
Регистрация
23.12.2014
Сообщения
127
Благодарностей
65
Баллы
28
  • Спасибо
Реакции: stanar

Nick

Client
Регистрация
22.07.2014
Сообщения
1 983
Благодарностей
817
Баллы
113
Прикольно, что можно пользоваться дорогой (over 9000 250 USD) лицензией на протектор, который приобрели разрабы Зенки, всего за 10 баксов (стоимость бокса).
 
Регистрация
23.12.2014
Сообщения
127
Благодарностей
65
Баллы
28
Прикольно, что можно пользоваться дорогой (over 9000 250 USD) лицензией на протектор, который приобрели разрабы Зенки, всего за 10 баксов (стоимость бокса).
А я думал, что протектор это разработка ZennoLab.
Но сделано с умом = не видел ни одного взломанного шаблона.

Правда, чтобы упаковать прогу в шаблон - тоже нужно соображать, исходя из вышеуказанного примера))
 
  • Спасибо
Реакции: stanar
Регистрация
23.12.2014
Сообщения
127
Благодарностей
65
Баллы
28

Moadip

Client
Регистрация
26.09.2015
Сообщения
509
Благодарностей
824
Баллы
93
хоспади, дай людям возможность и они напридумывают изврата))
Изврат, согласен.
Но, зачем этот изврат.
У меня стояла задача, защитить код от декомпиляции, плюс чтобы была возможность ограничить распространение - выдавать ключи/лицухи.
В зенке все это есть.
Это собственно и причина, почему впихнул прогу в шаб.

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

Плюс помимо обфускации, еще нужно решение, по выдаче ключей/лицух.
Какие то серьёзные комплексы, стоят серьезных денег. И "обычному" пользователю они не доступны.
Делать свое, не вариант, все равно сломают.))

Единственный вариант, это писать не на C#, а на С++, там уже потребуется более высокая квалификация человека, который изучает защиту.
Т.к. не каждый сможет/захочет возиться с ассемблерным кодом.
 
Регистрация
23.12.2014
Сообщения
127
Благодарностей
65
Баллы
28
@Moadip а есть ли какая-то разница по скорости выполения между обычным решением и через ZP?
 
  • Спасибо
Реакции: stanar

Moadip

Client
Регистрация
26.09.2015
Сообщения
509
Благодарностей
824
Баллы
93
Думаю нет. Разница чувствуется, если например какую то логику разносить по нескольким экшенам C#.
Т.е. в одном она отработает быстрее чем раскидать ее к примеру по трем.

Ну если касаемо классов что лежат в owncode и если бы эти классы были в обычном проекте, то тут разницы не должно быть.
По крайней мере я так думаю.
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)