Обфускация

Обфускация (от англ. to obfuscate — сбивать с толку, запутывать) — это приведение исполняемого кода или исходного текста программы к виду, который сохраняет ее функциональность, но затрудняет понимание, анализ алгоритмов работы, а также модификацию при декомпиляции.

Цели обфускации

  • Продемонстрировать неочевидные возможности языка и квалификацию программиста (если запутывание производится не инструментальными средствами, а вручную).
  • Оптимизировать программу для уменьшения размера кода и ускорения работы.
  • Осложнить декомпиляцию/отладку и изучение вредоносных программ, чтобы предотвратить обнаружение их вредоносной функциональности.
  • Затруднить декомпиляцию проприетарных программ, чтобы предотвратить обратную разработку или обход систем проверки лицензий и DRM.
  • Нарушить авторские права программистов и скрыть авторство.

В поисковой оптимизации обфускация javascript-файлов использовалась для запутывания поисковых ботов при декомпиляции кода, нередко в обманных целях. На сегодняшний день это неактуально.

Технологии

  1. На уровне машинного кода. Обфускация применяется в таких частях программы, как проверка регистрационного кода, т. е. не критичных к скорости, но критичных к безопасности. Простейший метод запутать машинный код — вставить в него недействующие конструкции (or ax, ax).
  2. На уровне исходных текстов. Исходный текст программы на скрипт-языках (JavaScript, VBScript и т. п.) доступен пользователю. Менее читаемым его можно сделать путем форматирования и замены имён.
  3. На уровне промежуточного кода. Обычные языки, такие как C++ и Паскаль, компилируют исходный код в машинный. В отличие от них языки платформы .NET, а также NetP и Java, компилируют исходный код в промежуточный (байт-код), содержащий достаточно информации для восстановления исходного кода. Поэтому для перечисленных языков используется обфускация промежуточного кода.

Другие термины на букву «О»

AdSenseAJAXAllSubmitterAltApacheAPIBegunBlogunCAPTCHACMSCookieCopylancerCPACPCCPLCPMCPOCPSCPVCRMCS YazzleCSSCTR, CTB, CTI, VTRDescriptionDigital-агентствоDigital-маркетингDMOZDoS и DDoS атакиEmailFaviconFeedBurnerFTPGoGetLinksGoogle AdWordsGoogle AnalyticsGoogle ChromeGoogle MapsGoogle webmasters toolsGoogle Мой бизнесhCardhProducthRecipehreflanghtaccessHTTP-заголовкиHTTP-протоколHTTPS-протоколInternet ExplorerIP-адресJavaScriptJoomlaKeywordsKPILanding PageLiexLiveinternetLTVMash-upMiralinksMozilla FirefoxMSNNofollow и noindexOperaPageRank и тИЦPerformance MarketingPHPPinterestPPAPPCPush-уведомленияRobots.txtROI (ROMI)RookeeRotapostRSSSafariSapeSEO-продвижениеSEO-трафикSeoPultSeozavrSERPSidebarSitemap.xmlSocial Media OptimizationSSL сертификатыSubcribe.ruSubscribe.DirectTextbrokerTitleTwitterUTMWeb-порталWebMoneyWhoisWordpressXenuXML выдача ЯндексаXSS атакиYouTubeАватарАвторизацияАГСАдаптивность сайтаАдминистраторАккаунтАлгоритмы ЯндексаАмбассадорАнкорАпдейтАпрувАутентификацияБагБаза данныхБайнетБаннерная рекламаБаннерная слепотаБидБиржа ссылокБитые ссылкиБуржунетБыстрые ссылкиБэки поплылиВаловая прибыльВеб-аналитикаВеб-сервисВебвизорВейтерВирусный маркетингВнешние ссылкиВнутренняя перелинковкаВнутрякВодаВоронка продажВыпадение сайтаВыручкаГендерГенератор дорвеевГестбукГлубина просмотраГолосовой поискГрабберДампед ранкДемпингДенверДиверсификацияДизамбигуацияДилерДистрибьюторДифференциацияДокументные операторы ЯндексаДоменДорвейДорвейщикДропшиппингДубли страницИдентификаторы сессийИндексация сайтаИнсайтИнтернет-маркетингИнтернет-сайтИнтерфейсИнфляцияИнформеры ЯндексаИсследование юзабилитиКвизКлишеКлоноводКоды ошибокКоды перенаправленияКоллтрекингКомьюнитиКонверсияКонтентКонцепцияКредитКэшЛидЛидыЛиквидностьЛинкаторЛогистикаЛояльностьМаржаМаркетингМаркетинговый аудитМассфолловингМедийная рекламаМенеджерМетатегиМикроданныеМикроформатыМисспелМобильный трафикМодераторМониторингМордоворотМотивацияНПСОптимизация сайтаОтложенная конверсияПартизанский маркетингПартнерские программыПоведенческие факторыПоддержка сайтовПодкастингПоисковые роботыПоисковый аудитПоисковый спамПоказатель отказовПресс-релизыПрокси-серверыРанжированиеРегистратор доменаРекламаРелевантностьРепутационный маркетингРерайтингРетаргетингРеферерРитейлРСЯСебестоимостьСемантическое ядроСервисы «вопрос – ответ»Сети сайтовСинонимайзерСквозная аналитикаСклейка зеркалСловоформаСниппетыСоциальные сетиСплит-тестированиеСпросСсылкаСтатические URLСтратегияСупервайзерТендерТехнический анализ сайтаТизерная рекламаТрастовость сайтаТрафикУникальность контентаУслугаУТП: уникальное торговое предложениеФильтры GoogleФильтры ЯндексаФишингФлеймФлудФорумыФранчайзингФреймворкФреймыФьючерсХостингЦитируемость сайтаЧПУ-адресаЧто такое SMM. Как он помогает бизнесуЧто такое контекстная реклама: краткая выжимка основных особенностей инструментаЧто такое маркетинговая стратегия: виды и особенности разработкиЭмпатияЮзабилитиЮзабилити-аудит сайтаЯзык запросов ЯндексаЯзык сценариевЯндекс ИКСЯндекс КаталогЯндекс.ВебмастерЯндекс.ВидеоЯндекс.Метрика
Все термины SEO-Википедии
Теги термина
(Рейтинг: 4.71, Голосов: 7)
Находи клиентов. Быстрее!
наверх