Ответ 1
Прочитайте как это сделал Skype. Во всяком случае, в общем, это невозможно.
Я делаю коммерческий продукт, который будет иметь клиентскую и серверную сторону. Клиент полностью зависит от сервера, просто для того, чтобы сделать его более трудным для взлома/пирата. Проблема в том, что даже если есть вероятность, что кто-то перепроектирует протокол и сделает свой собственный сервер.
Я думал о шифровании соединения либо с помощью ssl, либо с помощью другого алгоритма, поэтому не так просто вычислить протокол, просто обнюхивая трафик между клиентом и сервером.
Теперь единственное, что я могу подумать о том, что пираты будут использовать, - это декомпилировать программу, удалить шифрование и попытаться увидеть протокол "обычного текста", чтобы перепроектировать его.
Я прочитал предыдущие темы, и я знаю, что это невозможно сделать невозможным для взлома, но какие настройки мы можем программисты внести в наш код, чтобы сделать его огромной головной болью для крекеров?
Прочитайте как это сделал Skype. Во всяком случае, в общем, это невозможно.
Одна вещь, о которой вам нужно знать, заключается в том, что большинство упаковщиков/криптопов вызывают ложные срабатывания с помощью антивирусных сканеров. И это может быть довольно раздражающим, потому что люди все время жалуются на то, что ваше программное обеспечение содержит вирус (они не получают концепции ложных срабатываний).
А для обхода протоколов не используется SSL. Для злоумышленника тривиально перехватывать открытый текст, когда вы вызываете Send
с помощью обычного текста. Используйте SSL для обеспечения соединения и обфускации данных перед их отправкой. Алгоритм обфускации не требует криптографической защиты.
ИМХО, трудно скрыть фактический простой код. То, что делают большинство упаковщиков, - это затруднить исправление. Однако в вашем случае Themida может сделать трюк.
Вот несколько полезных советов о написании хорошей защиты: http://www.inner-smile.com/nocrack.phtml
Это может быть полезно: http://www.woodmann.com/crackz/Tutorials/Protect.htm