Как просмотреть код страницы?
Чтобы посмотреть исходный код страницы сайта, нужно навести курсор мыши на любую область веб-страницы (за исключением изображений и ссылок). После этого нажать на правую кнопку мыши. Перед нами откроется окно с несколькими опциями (в разных браузерах они могут немного отличаться). В браузере Google Chrome, например, это команды:
- назад;
- вперёд;
- перезагрузить;
- сохранить как;
- печать;
- перевести на русский;
- просмотр кода страницы
; - просмотреть код.
Нам нужно кликнуть на просмотр кода страницы
, и перед нами откроется html код страницы сайта.
Другие способы использования данной функции в браузере Google Chrome
В общем, продолжая отвечать на вопрос, как посмотреть код элемента и зачем он нужен, следует перечислить его функции. А именно благодаря возможности посмотреть код элемента любого сайта в браузере Google Chrome мы можем:
- Увидеть структуру сайта начиная от head («шапка сайта») и заканчивая end (конечной командой любой программы);
- Просмотреть все функции сайта, а именно: ссылки на другие сайты, дополнительные модули с внешних сайтов и наличие встроенных счетчиков по сбору различной информации;
- Узнать, запрещено ли копирование с сайта или нет;
- В коде будет записаны все ссылки на другие страницы сайта, а также их оформление и последующие действия после клика по ним.
Это далеко не конечный список. Но следует напомнить, что без специальных знаний – «читать» код страницы Google Chrome практически невозможно и полученные данные обычному пользователю практически не нужны.
Просмотр кода страницы: на что обратить внимание?
Итак, Html код страницы представляет собой пронумерованный список строк, каждая из которых несёт информацию о том, как сделан данный сайт. Чтобы быстрей научиться разбираться в этом огромном количестве знаков и специальных символов, нужно различать разные участки кода.
Например, строки кода, находящиеся в внутри тега head содержат информацию для поисковых машин и веб-мастеров. Они не выводятся на сайт. Здесь можно увидеть, по каким ключевым словам продвигается эта страница, как написаны её title и description. Также здесь можно встретить ссылку, перейдя по которой узнаем о семействе google шрифтов, используемых на сайте.
Если сайт сделан на CMS WordPress или Joomla, то это также будет видно здесь. Например, в этой области выводится информация о теме WordPress или шаблоне Joomla сайта. Увидеть её можно, прочитав содержание ссылок, выделенных синим цветом. В одной ссылке виден шаблон сайта.
Например:
//fonts.googleapis.com/css?family=Source+Sans+Pro%3A400%2C400italic%2C600&ver=4.5.3
Мы увидим CSS стили шрифтов страницы. В данном случае используется шрифт. Это видно здесь – font-family: ‘Source Sans Pro’.
Данный сайт оптимизируется с помощью сео-плагина Yoast SEO. Это видно из этого закомментированного участка кода:
This site is optimized with the Yoast SEO plugin v3.4.2 — https://yoast.com/wordpress/plugins/seo/
Вся информация, находящаяся внутри тега body, выводится браузером на экране монитора. Здесь мы видим html код страницы, а в самом низу находится код скрипта Яндекс метрики. Он облечён закомментированным тегом с текстом:
/Yandex.Metrika counter
Скрытый текст
В последнее время все чаще исходный код скриптов шифруется или пакуется. Этим начали увлекаться Яндекс, DLE и другие популярные проекты, а красивые байки про «заботу о пользователях», «экономию трафика» и прочую чушь выглядят очень смешно. Что ж, если кому-то есть что скрывать, значит наша задача вывести их на чистую воду.
Начнем с теории. Из-за особенностей выполнения JavaScript все шифровщики и упаковщики, несмотря на их разнообразие, имеют всего два варианта алгоритма:
Var encrypted=»зашифрованные данные»; function decrypt(str) {
} // Выполнить расшифрованный скрипт eval(decrypt(encrypted));
или как вариант:
var encrypted=»зашифрованные данные»; function decrypt(str) { // функция расшифровки или распаковки } // Вывести на экран расшифрованные данные document.write(decrypt(encrypted));
Второй способ чаще всего используется для защиты исходного html-кода страницы, а также разными троянами для внедрения в страницу вредоносного кода, например скрытого фрейма. Оба алгоритма могут комбинироваться, «навороченность» и запутанность расшифровщика может быть любой, неизменным остается только сам принцип.
В обеих случаях получается, что функциям eval()
и
document.write()
передаются полностью расшифрованные данные. Как их перехватить? Попробуйте заменить
eval()
на
alert()
, и в открывшемся
MessageBox
«е вы сразу увидите расшифрованный текст. Некоторые браузеры позволяют копировать текст из
MessageBox
«ов, но лучше воспользоваться таким вот полуавтоматическим декодером:
Для примера возьмем какой-нибудь скрипт с Яндекса, посмотрев исходный код видим что-то нездоровое:
Сразу скажу, что этот скрипт обработан JavaScript Compressor , его легко узнать по сигнатуре — характерному названию фукнции в начале скрипта. Копируем целиком исходный текст скрипта, заменяем первый
eval
на
decoder
, вставляем в декодер и сохраняем его как html-страничку.
Открываем ее в любом браузере и видим, что в textarea сразу появился распакованный скрипт. Радоватся пока рано, в нем убраны все переносы строчек и форматирование кода. Как с этим бороться написано в .
Второй пример. Вот html-страничка , накрытая программой HTML Protector. Это страница, демонстрирующая возможности программы, поэтому там задействованы все опции: блокировка выделения и копирования текста, запрет правой кнопки мыши, защита картинок, скрытие строки состояния, шифрование html-кода и т.д. Открываем исходный код, смотрим. В самом верху уже знакомый нам document.write и зашифрованный скрипт. Запускаем его через декодер, получаем функцию расшифровки основного содержимого:
hp_ok=true;function hp_d01(s){ …вырезано… o=ar.join(«»)+os;document.write(o)
Заменяем в функции последний
document.write
на
decoder
и вставляем после нее все три оставшихся зашифрованных скрипта: Для удобства в статье скрипты приводятся не полностью, вы же должны копировать их целиком. Открываем декодер в браузере и видим защитные скрипты, добавленные программой, и расшифрованный исходный текст страницы. Для удобства можно расшифровывать только третий скрипт, в котором содержится html-код страницы. Вот и вся защита. Как видите, ничего сложного. Аналогично снимаются и другие защиты html-страниц.
От ручной расшифровки перейдем к автоматической. Для снятия защит первого типа я немного модифицировал уже известный вам скрипт Beautify Javascript и откомпилировал его в exe-файл. Он без проблем справляется с большинством виденных мной защит и упаковщиков JavaScript.
Eval JavaScript Unpacker 1.1
Eval.JavaScript.Unpacker.1.1-PCL.zip (12,073 bytes)
Для более сложных случаев придется пускать в ход тяжелую артиллерию. Это бесплатный проект Malzilla , предназначенный для исследования троянов и другого вредоносного кода. Поскольку все программы, предназначенные для защиты авторского права, являются однозначно вредоносными, Malzilla поможет нам в борьбе с ними. Качаем последнюю версию (на сегодняшний день это 1.2.0), распаковываем, запускаем. Открываем вторую вкладку Decoder, в верхнее окно вставляем код зашифрованного скрипта, нажимаем кнопочку Run script
.
Функций в нем поменьше, но вполне имеет место быть. С офсайта можно скачать демонстрационный ролик, показывающий пример работы с программой.
Как видите, нет ничего сложного в снятии защиты со скриптов JavaScript и с html-страниц. Вы все еще продолжаете защищать свои поганые «аффтарские права»? Тогда мы идем к вам!
Введите текст для шифрования:
Для чего предназначен инструмент «Шифровальщик html»?
Инструмент «Шифровальщик html
» будет полезен веб-мастерам, которые хотят защитить свои программные продукты от поисковых роботов, хакеров и любителей воспользоваться результатами чужого труда. Речь идет о защите HTML-кода, который на большинстве ресурсов находится в свободном доступе, и его легко может воспроизвести любой желающий. С помощью инструмента «Шифровальщик (Encoder) для HTML» вы без лишних усилий сможете обфусцировать (зашифровать, запутать) исходный HTML –код.
На самом деле, энкодером можно защитить все, что отображается на страницах сайтов: тексты, изображения и прочие элементы веб-страницы, созданные с помощью языка программирования HTML (HyperText Markup Language). Или CSS-коды (Cascading Style Sheets) – особые таблицы, в которых код прописывается один раз и сохраняется в отдельном файле.
Как это работает?
Инструмент «Шифровальщик html» позволяет преобразовать исходный код программного продукта так, чтобы его функциональность сохранилась, а анализ и расшифровка кода третьими лицами или роботами стал практически невозможен.
В первую очередь, в защите нуждаются HTML-код страницы и код CSS, то есть те программные продукты, которые может увидеть на своем компьютере конечный пользователь. Конечно, 100%-ной защиты кода от сервисов-шифровальщиков ожидать не следует, но и облегчать жизнь любителям легкой наживы тоже не стоит. Поэтому введите текст для шифрования в поле, которое вы видите ниже, и нажмите кнопку «Закодировать». В результате вы получите новый текст, зашифрованный через JavaScript, который не смогут прочитать посетители вашего ресурса и поисковые роботы.
Стоит ли перестраховываться и шифровать все подряд?
На наш взгляд, защищать нужно не только ценные программные продукты, которые являются дорогостоящей интеллектуальной собственностью, но и просто удачные проекты, в которые вложено немало усилий и времени. Навряд ли кто-то будет заниматься копированием программы, написанной по шаблону. А вот воспользоваться «красивым» кодом или скопировать удачный дизайн сайта захотят многие. Именно в таких случаях вам поможет наш инструмент «Шифровальщик html». Когда пользователь зайдет на ваш сайт, он увидит лишь зашифрованный код, а «за кулисами» браузера в это же время javascript расшифрует код и отобразит страницы ресурса в надлежащем виде.
Стоит отметить, что такой метод шифрования имеет свои минусы. Например, если в браузере пользователя запуск javascript запрещен, то сайт не отобразится. К счастью, такое встречается довольно редко.
Эта статья — дополнение к статье про деобфускацию скриптов. Здесь будут рассмотрены основные принципы шифровки и упаковки, слабые места защит, способы ручного снятия, а также универсальные инструменты для автоматического снятия упаковщиков и навесной защиты со скриптов JavaScript. В последнее время все чаще исходный код скриптов шифруется или пакуется. Этим начали увлекаться Яндекс, DLE и другие популярные проекты, а красивые байки про «заботу о пользователях», «экономию трафика» и прочую чушь выглядят очень смешно. Что ж, если кому-то есть что скрывать, значит наша задача вывести их на чистую воду.
Начнем с теории. Из-за особенностей выполнения JavaScript все шифровщики и упаковщики, несмотря на их разнообразие, имеют всего два варианта алгоритма:или как вариант:Второй способ чаще всего используется для защиты исходного html-кода страницы, а также разными троянами для внедрения в страницу вредоносного кода, например скрытого фрейма. Оба алгоритма могут комбинироваться, «навороченность» и запутанность расшифровщика может быть любой, неизменным остается только сам принцип.
В обеих случаях получается, что функциям eval()
и
document.write()
передаются полностью расшифрованные данные. Как их перехватить? Попробуйте заменить
eval()
на
alert()
, и в открывшемся MessageBox»е вы сразу увидите расшифрованный текст. Некоторые браузеры позволяют копировать текст из MessageBox»ов, но лучше воспользоваться таким вот полуавтоматическим декодером:
- JavaScript Decoder title > head >
- // Функция записи в лог результатов расшифровки
- function decoder (str ) {
- document . getElementById («decoded» ). value += str + «\n» ;
- textarea >
- body >
- html >
Для примера возьмем какой-нибудь скрипт с Яндекса, посмотрев исходный код видим что-то нездоровое: