2016-12-28 2 views
1

Недавно я начал новый проект, и моя проблема в том, что я хочу, чтобы моя программа не подключалась никаким отладчиком или не просматривалась тем, что показывает, какие данные (кроме ip), как Wireshark.Защита программы aC# от отладчиков и программ, таких как wireshark

Я не уверен, как я должен начать с этого, я уже просмотрел много форумов для этого.

Моя первая попытка была поставить его перед каждым действием, как это, но я искать более легкий способ сделать это с помощью всего 1-2 строк кода на каждой форме

if (System.Diagnostics.Debugger.IsAttached == true) 
     this.close(); 
else 
    // run the rest of the program 

, но делает это помощь против каждого, а также против зашифрованных отладчиков?

Или мне нужно получить некоторые подписи программ?

Было бы хорошо, чтобы получить некоторые хорошие советы

Спасибо за любую помощь

+1

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

+1

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

+0

Я ищу лучший способ, чем мой, который выполняется все время, программа работает и закрывается если он основан. – TheDexter

ответ

1

Я предполагаю, что у вас есть два фронта: там

1) Вы можете запутать свой код по этой статье. Это поможет вам решить проблемы с debbuger: https://www.codeproject.com/Articles/1040107/Configuring-Visual-Studio-for-Obfuscation

2) По вопросам связи вам придется зашифровать ваше сообщение. Поскольку программное обеспечение Wireshark работает на другом уровне, вы не сможете его избежать. В зависимости от того, какой тип связи используется вашим программным обеспечением и какие конечные точки, вы можете зашифровать и расшифровать свою другую конечную точку. В этом сообщении вы получите хорошее представление об этом: How to create a stateful encrypted connection between two C# applications?

+0

, так что нет способа обнаружить отладчик паба? и автоматическое закрытие приложения? – TheDexter

+0

Я никогда не делал ничего подобного. Вы можете проверить, действительно ли то, что замечено в этом сообщении, работает для вас ... http://stackoverflow.com/questions/2188201/is-there-a-way-to-detect-if-a-debugger-is-attached -в-а-процесса из-C- – NicoRiff

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

  • Нет связанных вопросов^_^