Hex-редактор. описание инструмента и обзор наиболее популярных

XVI32

В завершении хочется проверить популярный hex-редактор, распространяемый бесплатно. По словам автора, утилита пользуется огромным успехом и даже применяется в компании Microsoft. В остальном каких-то особенных отличий эта программа не имеет, поэтому быстренько посмотрим, способна ли утилита на элементарный взлом, после чего подведем итоги.

Открываем наш крякмис и с помощью знакомого сочетания Ctrl-F проводим поиск по последовательности байт. Программа успешно находит нужный фрагмент, после чего нам остается только подставить замену. Готово. Так просто, что даже несколько обидно.

Разработчик: Christian Maas Сайт: https://www.chmaas.handshake.de/ Дата выхода последней версии: июнь, 2012 Стоимость: freeware

Курсы «Коммерческий автор»

Рис. №9. Платформа для обучения на курсе Коммерческий автор«Базовый курс о Teachbase» составлен специалистами нашей компании для того, что бы Вам было удобнее и нагляднее ознакомиться с функциями и возможностями платформы Teachbase”.

Рис. №10. Стоимость обучения на текстерра

Личный отзыв о курсе «Коммерческий автор»

  1. Рудов – въедливый редактор.
  2. Александров – опытный копирайтер, который съел собаку на сео. Помог мне очень разобраться в спорных вопросах.
  3. Елена Столетова задала задачи, решить которые, если честно, я сразу был не в состоянии. Знаний по редактуре и грамотности маловато.
  4. Константин Ивлев рассказал, как работать с фактажем и дал определение источников.
  5. Кристина Стащенко показала ошибки на моем сайте. Исправил, по большей части. (Всё, блин, времени мало).
  6. Татьяна Свит объяснила как продавать свои услуги. есть несколько полезных фишек.

HexCmp

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


Приложение поддерживает выборочное сравнение. Перемещаясь между отдельными блоками и пользуясь прокруткой, можно выбирать необходимые части файлов. Кроме того, HexCmp позволяет сравнивать файлы в текстовом формате. Командам можно присваивать горячие клавиши, чтобы было удобно работать с клавиатуры. Проблему создает лишь плата, которую разработчики просят за лицензию.

McAfee FileInsight

FileInsight – это бесплатный hex-редактор для Windows от компании McAfee Labs. Продукт, само собой, выполняет весь стандартный функционал, сопутствующий подобному софту, предлагая удобный интерфейс для просмотра и редактирования файлов в шестнадцатеричном и текстовом режимах. Но это лишь капля в море, если посмотреть на весь его функционал. Начать стоит с того, что FileInsight способен парсить структуру исполняемых бинарников для Windows (PE файлов), а также OLE-объектов Microsoft Office. Мало этого, пользователю предлагается встроенный x86 дизассемблер. Достаточно выбрать часть файла, которую хочешь просмотреть в виде читаемого кода, и FileInsight покажет этот фрагмент как листинг ассемблерных инструкций. Дизассемблер особенно полезен, когда ищешь шеллкод в зловредных файлах. Среди других опций, которые придутся по душе реверсерам – возможность импортировать объявления структур. Для этого программе достаточно указать заголовочный файл с объявлениями вроде:

struct ANIHeader { DWORD cbSizeOf; // Num bytes in AniHeader DWORD cFrames; // Number of unique Icons DWORD cSteps; // Number of Blits };

LibreOffice Writer

  • Платформы: Windows, macOS, Linux.
  • Русский интерфейс: есть.
  • Стоимость: бесплатно.

LibreOffice Writer — полностью бесплатный текстовый редактор с открытым исходным кодом, основными функциями напоминающий Word.

Приложение позволяет выкладывать файлы в интернет, предварительно экспортировав их в HTML, а также поддерживает все популярные форматы текстовых документов.

В арсенал LibreOffice Writer входит много разных стилей форматирования. Текстовые структуры и линковка позволяют заниматься вёрсткой информационных бюллетеней, листовок и так далее. Приятные возможности редактора — функция автозавершения, которая предлагает варианты для быстрого ввода слов или фраз, и автоматическое создание оглавления.

У LibreOffice Writer есть портативная версия. Её можно использовать не устанавливая программу на компьютер.

Hex Editor Neo

Существует две версии этого шестнадцатеричного редактора от компании HDD Software – простая бесплатная и продвинутая коммерческая версия. Freeware-вариант – это добротный, но мало чем примечательный HEX-редактор, имеющий классный настраиваемый интерфейс с поддержкой разных цветовых схем. Не более того. А вот профессиональная версия Hex Editor Neo предоставляет несколько полезных опций, которые могут быть крайне полезны при анализе бинарников. К примеру, пользователь получает возможность декодирования кода, закриптованного с помощью наиболее общих алгоритмов. Помимо этого появляется возможность просмотра и редактирования локальных ресурсов типа NTFS-потоков, локальных дисков, памяти процесса, а также оперативки. В самой полной версии появляется и поддержка скриптового языка, позволяющая автоматизировать многие процессы с помощью сценариев на VBScript и JavaScript. Но самый смак в том, что к твоим услугам предоставляется встроенный дизассемблер, который работает и с x86, и с x64, и с .NET-бинарниками! Еще одна фича – быстрое создание патчей, основанное на сравнении двух бинарников. Звучит впечатляюще, но лучше ли он, чем FileInsight? Скорее, нет. FileInsight в целом выглядит более функционально. С другой стороны, любая, даже бесплатная версия Hex Editor Neo отлично работает даже с очень большими файлами и позволяет искать ASCII и Unicode-строки. Дизассемблер здесь не ограничивается одной лишь x86 платформой, а встроенный редактор ресурсов очень удобен. Есть над чем подумать.

Поиск в VirusTotal по хешу

Отправить на VirusTotal для проверки можно не только сам файл, но и его хеш (md5, sha1 или sha256). В этом случае, если такой же файл уже анализировался, VirusTotal покажет результаты этого анализа, при этом сам файл на VirusTotal мы не засветим.

Думаю, как узнать хеш файла, ты прекрасно знаешь. В крайнем случае можно написать небольшой скрипт на Python:

import hashlib with open(<����������������������������������������������������������������������������

��ультат подсчета хеша шлем на VirusTotal либо применяем мои рекомендации из статьи «Тотальная проверка. Используем API VirusTotal в своих проектах» и автоматизируем этот процесс с помощью небольшого скрипта на Python.

import sys import requests ## будем использовать 2-ю версию API VirusTotal api_url = ‘https://www.virustotal.com/vtapi/v2/file/report’ ## не забудь про ключ доступа к функциям VirusTotal params = dict(apikey=<��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

�� видишь, скрипт получает значение хеша, переданного в виде аргумента командной строки, формирует все нужные запросы для VirusTotal и выводит результаты анализа.

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

Продолжение доступно только участникам

Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».

Присоединяйся к сообществу «Xakep.ru»!

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score! Подробнее

7690 р.

Я уже участник «Xakep.ru»

Расшифровка дескриптора

Чтобы понять, что за данные там находятся, нужно код расшифровать. Для этого понадобится специальный сервис, определяющий форматы файлов, например, open-file.ru . Но есть и другие ресурсы, которые легко найти в интернете. После загрузки файла на сайт произойдет анализ данных, а затем вывод результата. Ниже появится таблица с типом, форматом и описанием файла.

То, что мы разобрали выше – использование HEX-редакторов. Теперь разберемся с кодом ASCII. Данный код можно проанализировать при помощи того же open-file.ru. Другими словами, оба кода проверяются на ресурсе и ничего по сути не нужно вводить.

Иногда формат определить не так просто. Это касается ASCII-заголовков. Дело в том, что первые несколько символов могут иметь отношение к расширениям файла, а может и к нескольким форматам.

Конечно, есть вариант определения формата. Для анализа будет использоваться несколько строк, а не одна. Тогда какой-то из элементов, находящийся там, по любому будет указывать на тип объекта.

WinHex

Начнем с «ВинХекса» – довольно простого в пользовании, но универсального шестнадцатеричного редактора. Он работает практически со всеми видами файлов, способен восстанавливать удаленные и поврежденные данные с жесткого диска. Кроме того, он позволяет просматривать информацию, которую многие программы обычно скрывают.


WinHex поддерживает все известные файловые системы (FAT16, FAT32, NTFS и др.) и читает 20 типов данных. Обладает функциями редактирования оперативной памяти, клонирования дисков, анализа, сравнения, объединения и разделения файлов, алгоритмом 256-битного шифрования и др. Однако бесплатная версия лишена большей части этих возможностей.

Nethouse

Ещё один достаточно простой для освоения конструктор с ориентацией на сайты-визитки малого бизнеса и продажи через интернет. Сервис не отличается большим набором и разнообразием шаблонов. Всего доступно 127 вариантов дизайна с минимальными настройками внешнего вида. Многие из них заточены именно под онлайн-витрины товаров и услуг.

Nethouse позволяет интегрировать сайт с «Яндекс.Кассой», программами «1С», а также сервисами «Большая птица», «Мой склад», СДЭК, DDelivery и другими. Подключив тариф «Бизнес», можно будет использовать разделение прав доступа, что позволит создать отдельные аккаунты для контент-менеджеров, маркетологов и бухгалтеров.

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

Тарифы: бесплатный; платные — от 1 рубля в месяц.

Nethouse →

Следующий шаг — полировка и углубление знаний

В машинном обучении половина успеха заключается в правильной подготовке данных для алгоритом и правильном формулировании решаемой задачи (целевой функции)

Также важно научиться проходить все шаги построения моделей машинного обучения в наиболее оптимальной последовательности. Все данные темы отлично раскрыты в курсе, записанными русскими ребятами, но на английском языке: https://www.coursera.org/learn/competitive-data-science

Не стоит обращать внимание на kaggle — приведенные методы актуальны для реальных задач. Пройдя этот курс вы сможете понять комикс ниже

В статьях сообщества ODS (см.выше) дано множество ссылок на дополнительные источники. Рекомендую с ними ознакомиться. Также, через сайт сообщества можно найти видеозаписи многих семинаров, в которых также иногда рассматриваются очень полезные и фундаментальные темы. Например, мне были полезны все выстпления от основателя сообщества, Алексея Натенкина (прогнозирование временных рядов, еще пример)

Разные смежные концепции, которые необходимо знать

Нужно четко понимать разницу между корреляцией и причино-следственной связью. Не понимая этого — нельзя работать дата-сайентистом.

С большой долей вероятности, если вы будете делать какой-нибудь сравнительный анализ различных групп (рекламных компаний, поведения людей и т.п.) вам придется столкнуться с парадоксом Симпсона (отличное видео)

Важно отточить его понимание, т.к. от его последствий необходимо защищася, и даже зная о нём, я не всегда осозновал что встречаюсь с ним в практике

Также, с точки зрения постановки целей — поведение людей часто оказывается искажено, о чём рассказывает Goodhart’s law. Знание данного эффекта может подсказать направления анализа разных явлений.

Другие полезные книги/ материалы

Куча англоязычных статей по использованию разных библиотеке, в основном очень начального уровня, регулярно публикуется на сайте https://towardsdatascience.com; до 3 статей в месяц можно читать бесплатно.

Statistics Done Wrong .The woefully complete guide by Alex Reinhart — отличная иллюстрация того как не стоит применять математические методы проверки гипотез. Автор рассказывает как даже профессиональные учёные всё время ошибаются в их использовании.

Python Machine Learning, by Sebastian Raschka — хороший набор разных кусков кода, которые могут помочь на начальном этапе. Также у этого автора хорошие статьи по разным темам.

Как находить другие хорошие книги и курсы, отбирать лучшие и наиболее подходящие — писал в предыдущих статьях.

Необходимые технические знания

Git необходимо выучить чтобы работать над каким-либо кодом совместном с другими людьми. Замечательно простая и бесплатня книжка на английском — Ry’s Git tutorial. Также много книг доступно бесплатно на официальном сайте git. Отличное визуальное объяснение разных концепций: http://ndpsoftware.com/git-cheatsheet.html

https://www.practicaldatascience.org/ — хороший набор материалов по разным библиотекам и дополнительным инструментам. Фактически, даётся исчерпывающий перечень тем, которые придётся освоить для работы в дата саенс, с вводными материалами по всем темам (секцию Cloud точо стоит читать наискосок, т.к. тут с большой вероятностью придется работать с подобными технологиями других вендоров, которые имеют отличия).

Готов выступить ментором в самообучении

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

Если у вас есть индивидуальные вопросы, на которые не отвечают мои статьи — пишите на почту self.development.mentor в gmail.com, Олег

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

И если мои статьи для вас полезны — на будущие статьи меня также можно мотивировать материально, под этой статьей должна быть кнопка «задонатить» для этих целей.Для получения скидок на первый месяц/курс специализаций на Coursera.org — можете воспользоваться ссылкой: http://fbuy.me/v/odemidenko

Простейшее редактирование

Самая простая задача при редактировании двоичных файлов: заменить значение байта по смещению XXXXХХХХ значением YY. Для этого после открытия файла в редакторе необходимо нажатием Enter переключить вид в режим дампа. В рабочей области в левой колонке указано значение смещения, в центральной части — значения байт в шестнадцатеричном виде, справа — те же значения в виде символов ASCII.

Для установки курсора по требуемому смещению требуется нажать клавишу F5 (или щелкнуть в заголовке мышью по ряду цифр, выделенному красным цветом), ввести значение смещения и нажать Enter. Если режим редактирования не был включен, то следует нажать Alt-F3 (при этом в панели клавиш появится надпись «Edit ON»). После этого можно вносить изменения в файл, набирая значения байт в шестнадцатеричном виде или, переместив курсор в правую колонку нажатием TAB, в виде символов. Курсор позиционируется с помощью обычных клавиш управления или мышью.

Для отмены сделанных изменений cледует установить курсор в месте ошибки и несколько раз нажать F3. Сохранить изменения можно при выходе, нажав W, или принудительно, нажав Alt-F9.

Простейшее редактирование

Самая простая задача при редактировании двоичных файлов: заменить значение байта по смещению XXXXХХХХ значением YY. Для этого после открытия файла в редакторе необходимо нажатием Enter переключить вид в режим дампа. В рабочей области в левой колонке указано значение смещения, в центральной части — значения байт в шестнадцатеричном виде, справа — те же значения в виде символов ASCII.

Для установки курсора по требуемому смещению требуется нажать клавишу F5 (или щелкнуть в заголовке мышью по ряду цифр, выделенному красным цветом), ввести значение смещения и нажать Enter. Если режим редактирования не был включен, то следует нажать Alt-F3 (при этом в панели клавиш появится надпись «Edit ON»). После этого можно вносить изменения в файл, набирая значения байт в шестнадцатеричном виде или, переместив курсор в правую колонку нажатием TAB, в виде символов. Курсор позиционируется с помощью обычных клавиш управления или мышью.

Для отмены сделанных изменений cледует установить курсор в месте ошибки и несколько раз нажать F3. Сохранить изменения можно при выходе, нажав W, или принудительно, нажав Alt-F9.

HxD Hex Editor

Бесплатный, но всё ещё достаточно мощный редактор для бинарных файлов поддерживающий основные кодировки, вроде ANSI или ASCII, зачастую используется как дополнение к более функциональным калькуляторам и конверторам. Воспринимает файлы без ограничения размеров, а главное – позволяет изменять оперативную память, сразу же записывая любые нововведения на жёсткий диск. А удобный и эргономичный интерфейс, продуманный создателями, лишний раз упрощает работу пользователя. В HxD Hex Editor нет классического нагромождения инструментов и всё устроено за счёт простой системы шторок, уже за это можно скачать hex редактор.

Использование [ править | править код ]

Hex-редакторы используются для редактирования не-текстовых данных, когда специализированной программы для редактирования имеющихся данных либо нет, либо её применение неоправданно или нежелательно. Примером может служить внесение изменений в скомпилированную программу без перекомпиляции последней. Так, с помощью Hex-редактора можно изменить значения жестко вшитых в код программы строковых и числовых констант, если правильно определить их расположение.

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

Поскольку Hex-редактор является достаточно универсальным инструментом, описать все варианты его применения не представляется возможным.

FlexHex

FlexHex – это мощный коммерческий hex-редактор от компании Heaventools Software, который включает многие из функций, доступных в Hex Editor Neo. Единственное, чего здесь нет – это, пожалуй, поддержка скриптов. Зато этот полнофункциональный редактор одинаково хорошо обрабатывает бинарники, OLE-файлы, физические диски и альтернативные NTFS-потоки

Последнее особенно важно, потому что FlexHex позволяет редактировать те данные, которые другие редакторы могут даже не увидеть. К тому же сразу чувствуется ориентированность на работу с большими массивами информации: какой бы размер ни был у файла, навигация по нему осуществляется без каких-либо лагов и тормозов

Для еще большего удобства работает система удобных закладок. При этом FlexHex непрерывно ведет историю всех операций – можно отменить любое действие, просто выбрав его из списка изменений (undo-list не ограничен)! В FlexHex поддерживаются все необходимые операции с бинарными данными, поиск ASCII и Unicode-строк. Если необходимо обрабатывать структуру с заранее известным форматом, задать ее параметры не составит труда с помощью специальных инструментов. В результате получаем отличный hex-редактор, но все-таки сильно уступающий тому же FileInsight. Единственная примечательная опция – это обработка OLE-файлов, но и тут есть проблемы. Несколько раз при попытке открыть зараженный OLE, программа вылетала с ошибкой «The docfile has been corrupted».

Как редактировать шестнадцатеричные коды в Hex Editor Neo

Далеко не все файлы можно редактировать в текстовых редакторах. Например, при открытии картинки в Word мы увидим только набор случайных символов. А попытка сохранить его приведёт к потере данных. Всё дело в том, что для изменения двоичных файлов необходимо использование специальных редакторов. Hex Editor Neo предоставляет все необходимые функции для редактирования файла в шестнадцатеричном режиме.

К сожалению, спокойную работу в Hex Editor Neo периодически нарушает всплывающее рекламное сообщение с предложением использования платной версии программы. Появляется оно при попытке выделения нескольких символов. Но также быстро его можно закрыть и продолжать работу.

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

Слева и сверху от области редактирования указаны адреса, позволяющие быстро определить адрес смещения относительно начала файла.

Для редактирования данных в файле просто ставим курсор на байт в шестнадцатеричном блоке или на символ в текстовом блоке Hex Editor Neo и вводим текст. Чтобы изменить шестнадцатеричный код, необходимо знать, какой код соответствует определённому символу. Для этого достаточно найти таблицу ASCII-кодов. Изменённые байты отображаются красным цветом.

Редактор Hex Editor Neo поддерживает стандартные функции копирования, вставки, вырезания, удаления. Есть в программе режим вставки (Insert Mode), когда при вводе символов все остальные данных отодвигаются относительно текущей позиции. Кнопка открывает окно побитного редактирования байта. Здесь можно просто включать/выключать кнопки, соответствующие каждому из восьми битов, присваивая, соответственно, нулевое или единичное значение биту. Кроме того, в битовом редакторе доступны такие операции, как быстрое обнуление или «объединичивание» всех битов, инвертирование битов. Можно изменить байты и вручную, просто введя необходимую последовательность единиц и нулей. А три режима позволяют увидеть шестнадцатеричное, десятичное или восьмеричное представление редактируемого байта.

Функция Fill редактора Hex Editor Neo позволяет заполнить выделенные байты указанными данными. Просто выделяем несколько байтов, жмём кнопку и вводим символ, который будет автоматически подставлен. Здесь же есть список типов данных, выбираемых в соответствии с вводимой информацией. Например, если мы хотим заменить выбранные байты на символ «а», выбираем тип String.

Полезна функция Go to offset, помогающая быстро перейти на указанный адрес (байт) в файле. Отметим также возможность изменения размера файла (Change File Size). Можно указать новый размер файла как в шестнадцатеричном представлении, так и в более привычном десятеричном (байты), а также в Килобайтах, Мегабайтах и Гигабайтах. В поле Resulting file size при этом отображается итоговый размер файла. При уменьшении размера лишние байты просто отбрасываются, а при увеличении заполняются нулями.

Мы рассмотрели основные функции Hex Editor Neo. Часть команд в этом редакторе не работает и при попытке их использования открывается уже упомянутое рекламное сообщение. Тем не менее, рассмотренных возможностей программы вполне достаточно для редактирования шестнадцатеричных кодов в файлах.

Характеристики: Язык интерфейса: английский ОС: Windows XP, Vista Размер файла: 8,4 Мб Лицензия: бесплатная

О чем писать в новостях компании, чтобы они не превращались в доску почета

Главная проблема раздела «Новости» на корпоративном сайте – они скучные и формальные. Раздел новости напоминает доску почета и достижений из советских времен, на которой руководство отчитывается, как много сделано в этой пятилетке. Но вы же понимаете, что раздел новости на сайте создается с целью сформировать доверие и также, как и другой формат контента, продемонстрировать экспертность?

Еще одна беда новостей на сайте в том, что они не обновляются вовремя. Нет ничего печальнее новостей 2011 года, которые мы видим, попадая на сайт в 2020. Эй, ребята, вы вообще еще живы? Или это шутка гугла, который выдал мне в поиске сайт «мертвой» компании?

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

Какие новости компании могут быть интересны аудитории:

Простейшее редактирование

Самая простая задача при редактировании двоичных файлов: заменить значение байта по смещению XXXXХХХХ значением YY. Для этого после открытия файла в редакторе необходимо нажатием Enter переключить вид в режим дампа. В рабочей области в левой колонке указано значение смещения, в центральной части — значения байт в шестнадцатеричном виде, справа — те же значения в виде символов ASCII.

Для установки курсора по требуемому смещению требуется нажать клавишу F5 (или щелкнуть в заголовке мышью по ряду цифр, выделенному красным цветом), ввести значение смещения и нажать Enter. Если режим редактирования не был включен, то следует нажать Alt-F3 (при этом в панели клавиш появится надпись «Edit ON»). После этого можно вносить изменения в файл, набирая значения байт в шестнадцатеричном виде или, переместив курсор в правую колонку нажатием TAB, в виде символов. Курсор позиционируется с помощью обычных клавиш управления или мышью.

Для отмены сделанных изменений cледует установить курсор в месте ошибки и несколько раз нажать F3. Сохранить изменения можно при выходе, нажав W, или принудительно, нажав Alt-F9.

Программирование: что и как учить?

Что такое SQL и зачем его учить?

SQL является стандартом для получения данных в нужном виде из разных баз данных. Это тоже своеобразный язык программирования, который дополнительно к своему основному языку используют многие программисты. Большинство самых разных баз данных использует один и тот же язык с относительно небольшими вариациями.

SQL простой, потому что он «декларативный»: нужно точно описать «запрос» как должен выглядеть финальный результат, и всё! — база данных сама покажет вам данные в нужной форме. В обычных «императивных» языках программирования нужно описывать шаги, как вы хотите чтобы компьютер выполнил вашу инструкцию. C SQL намного легче, потому что достаточно только точно понять что вы хотите получить на выходе.

Сам язык программирования — это ограниченный набор команд. 

Когда вы будете работать с данными — даже аналитиком, даже необязательно со знанием data science, — самой первой задачей всегда будет получить данные из базы данных. Поэтому SQL надо знать всем. Даже веб-аналитики и маркетологи зачастую его используют.

Как учить SQL:

Наберите в Гугле «sql tutorial» и начните учиться по первой же ссылке. Если она вдруг окажется платной, выберете другую. По SQL полно качественных бесплатных курсов.

На русском языке тоже полно курсов. Выбирайте бесплатные.

Главное — выбирайте курсы, в которых вы можете сразу начать прямо в браузере пробовать писать простейшие запросы к данным. Только так, тренируясь на разных примерах, действительно можно выучить SQL.

На изучение достаточно всего лишь от 10 часов (общее понимание), до 20 часов (уверенное владение большей частью всего необходимого).

Почему именно Python?

В первую очередь, зачем учить Python. Возможно, вы слышали что R (другой популярный язык программирования) тоже умеет очень многое, и это действительно так. Но Python намного универсальнее. Мало сфер и мест работы, где Python вам не сможет заменить R, но в большинстве компаний, где Data Science можно делать с помощью Python, у вас возникнут проблемы при попытке использования R. Поэтому — точно учите Python. Если вы где-то услышите другое мнение, скорее всего, оно устарело на несколько лет (в 2015г было совершенно неясно какой язык перспективнее, но сейчас это уже очевидно).

У всех других языков программирования какие-либо специализированные библиотеки для машинного обучения есть только в зачаточном состоянии.

Как учить Python

Основы:

Прочитать основы и пройти все упражнения с этого сайта можно за 5-40 часов, в зависимости от вашего предыдущего опыта.

После этого варианты (все эти книги есть и на русском):

  1. Learning Python, by Mark Lutz (5 издание). Существует и на русском.

    Есть много книг, которые сразу обучают использованию языка в практических задачах, но не дают полного представления о детальных возможностях языка.

    Эта книга, наоборот, разбирает Python досконально. Поэтому по началу её чтение будет идти медленнее, чем аналоги. Но зато, прочтя её, вы будете способны разобраться во всём.

    Я прочёл её почти целиком в поездах в метро за месяц. А потом сразу был готов писать целые программы, потому что самые основы были заложены в pythontutor.ru, а эта книга детально разжевывает всё.

    В качестве практики берите, что угодно, когда дочитаете эту книгу до 32 главы, и решайте реальные примеры (кстати, главы 21-31 не надо стараться с первого раза запоминать детально. Просто пробежите глазами, чтобы вы понимали что вообще Python умеет).

    Не надо эту книгу (и никакую другую) стараться вызубрить и запомнить все детали сразу. Просто позже держите её под рукой и обращайтесь к ней при необходимости.

    Прочитав эту книгу, и придя на первую работу с кучей опытных коллег, я обнаружил, что некоторые вещи знаю лучше них.

  2. Python Crash Course, by Eric Matthes

    Эта книга проще написана и отсеивает те вещи, которые всё-таки реже используются. Если вы не претендуете быстрее стать высоко-классным знатоком Python — её будет достаточно.

  3. Automate the Boring Stuff with Python

    Книга хороша примерами того, что можно делать с помощью Python. Рекомендую просмотреть их все, т.к. они уже похожи на реальные задачи, с которыми приходится сталкиваться на практике, в том числе специалисту по анализу данных.

Какие трудозатраты?

Путь с нуля до уровня владения Python, на котором я что-то уже мог, занял порядка 100ч. Через 200ч я уже чувствовал себя уверенно и мог работать над проектом вместе с коллегами.

(есть бесплатные программы — трекеры времени, некоторым это помогает для самоконтроля) 

Поиск и замена

QView поддерживает поиск в файле определенных байт или строк и поиск по маске. Диалоговое окно поиска вызывается нажатием F7. В поле ASCII можно ввести строку в виде символов, а в поле HEX — в шестнадцатеричном виде. Щелчком мыши можно указать направление поиска («Forward/Backward»), включить опции различения регистра символов для символьного поиска («Sensitive») или поиск по маске («Masking»). В последнем случае символ ‘?’ маскирует соответствующий байт в строке. Например, при поиске «w?r?» будут найдены слова worm, warm, were и т.п. При нажатии Shift-F7 выполняется поиск следующего совпадения.

Для выполнения поиска с заменой необходимо нажать Ctrl-F7. В верхней части окна вводится строка или шаблон для поиска, в нижней — заменяющая строка.

McAfee FileInsight

Этот HEX-редактор абсолютно бесплатен. Работает только в операционных системах семейства Windows. В продукте имеется весь джентльменский набор, такой как просмотр и редактирование файла. При этом программа обладает приятным и удобным интерфейсом.

Но стандартные функции — это минимум, для которого может быть использован FileInsight. Каков максимум? Начать надо с возможности парсинга структур исполняемых файлов. Этого мало? Любой выделенный фрагмент может быть дизассемблирован на лету. Одно нажатие — и непонятные цифры становятся читаемым листингом.

Помимо прочего, этот HEX-редатор предоставляет множество алгоритмов обработки кода для обхода встроенной разработчиками защиты

Прежде всего, нужно обратить внимание на декодирование методов обфускации, таких как add, xor, Base64, shift. Скрипты, с которыми поставляется приложение, ломают подобную криптозащиту с легкостью

Большую часть действий можно автоматизировать, написав простые сценарии на JS или Python. Иногда и создавать ничего нового не требуется, ибо база оных набрана внушительная.

Хоть FileInsight и считается одним из лучших инструментов для реверс-инжиниринга, имеется в программе и огромный недостаток — невозможность обработки файлов, превышающих 400 Мб.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
НоутИнфо
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: