Страницы

Поиск по вопросам

среда, 31 октября 2018 г.

Обфусация кода, Защита от декомпиляции

Собственно, кто какие способы защиты от декомпиляции программы и кто какие способы обфуксации кода написанного на c# знает?


Ответ

Но я вижу, что здесь только издеваются, так что, закройте кто-нибудь тему @MadKeks никто над вами не издевается, не преувеличивайте. Дело в том, что необходимость в обфускации программ на C# сама по себе довольно сомнительна - очень существенная часть C# кода - это веб-приложения, веб-сервисы и прочий код, который работает на сервере, а следовательно, конечный пользователь его не видит и покопаться в нем не сможет даже с помощью ildasm'a или Reflector'a. Большая часть оставшегося софта - это программы, используемые очень ограниченным кругом лиц (внутрикорпоративные десктоп-приложения например), а следовательно, никому не придет в голову воровать их исходный код, не представляющий особой ценности. К примеру, на своей первой работе я получил в сопровождение кучу адского говнокода, нарушающего все возможные и невозможные каноны чистоты кода и в каккой-то степени благодаря этому уже являвшийся обфусцированным (справедливости ради, мои навыки на тот момент как раз того и стоили - из под моих пальцев вытекал точно такой же кривой говнокод). Так вот что тогда, что сейчас я бы не только не стал этот код воровать с помощью декомпиляции, я бы не стал брать его даже даром из исходников. В подобной защите, вероятно, нуждается серьезное проприетарное ПО, скажем, какой-нибудь Photoshop, но оно на C# обычно не пишется. Учитывая, что исходники практически на все случаи жизни можно отыскать на всяческих гитхабах и битбакетах, пляски с бубном для получения исходников становятся еще более сомнительными. Стоит также отметить вот что: на моей памяти 99% процентов случаев, когда программист волновался по этому поводу сводились к тому, что это был юный и неопытный разработчик, искренне уверенный в том, что его хелловорлды способны потрясти мир и произвести революцию в области софта, а потому срочно нуждаются в защите и сокрытии своих исходников. По мере профессионального взросления у них это обычно проходило. Впрочем, при желании материалов на эту тему можно найти достаточно. Например вот и вот UPD статья по обфускации в .NET обфускация в JS Стоит кстати заметить, что обфускация во многом зависит от средств конкретного языка

Комментариев нет:

Отправить комментарий