Программирование – одна из тех профессий, где возможны сотни специализаций, причем среди них как изначально противозаконные, так и самые благородные. Реверс-инжиниринг (RE) – не самый законный метод заработка на жизнь, но иногда он бывает нужен и для законных применений.

RE стоит ближе всего к хакингу, причем хакинг может быть связан не только с программным обеспечением, но и с аппаратным. Задача RE – понять, как работает объект взлома, какие в нем заложены алгоритмы и секреты, чтобы потом воспроизвести аналог, который не будет иметь явно заимствованных из оригинала частей. Создание полного аналога или заимствование алгоритма в чистом виде в современном мире почти всегда противозаконно, но даже в годы войны, когда на это никто не обращал внимание, оружие врага изучалось и внедрялось подобным же образом – не напрямую, а с применением собственных новаций. Еще позже дело дошло до микросхем, компьютеров, машин и даже одежды: кому интересно, пусть спросят у китайцев и японцев, а нам ближе программное обеспечение.

Все читали лицензионные соглашения (хотя бы название), и все знают, что его нельзя вскрывать, исследовать и вообще проявлять к нему нездоровый интерес. Но бывают случаи, когда это делать просто необходимо. К примеру, в целях национальной безопасности – а ну как в программу внедрен шпионский модуль? Или наоборот – остался ли НАШ шпионских модуль у НИХ? Если не играть в разведчиков, то RE постоянно занимаются разработчики антивирусных программ, исследуя поведение вирусов, ну чем же это не законный метод? Бывает, что программа крайне нужна, а ее разработчики прекратили поддержку. В этом случае нужно создавать свой вариант, и почему бы при этом не поинтересоваться – а как работал оригинал?

Как правило, софт, написанный на традиционных языках (C++, Delphi, Modula-2, Fortran и т.д.), плохо подготовлены к реинжинирингу, так как неплохо оптимизированы, почти не имеют отладочной информации. Более того, в особо сложных случаях авторы применяют динамические архиваторы, обсфукаторы и кодировщики для того, чтобы затруднить исследование. В результате приходится использовать дизассемблеры, отладчики, эмуляторы исполняющей среды и прочие штуки, которые сложны для понимания – это не ВКонтакте взламывать. А вот для Java- и NET-языков, где используется особый промежуточный код, уже давно созданы автоматические декомпиляторы, воссоздающие программу почти в исходном виде. Как и для программ баз данных – FoxPro, Clipper, dBase, Clarion и тому подобных. Декомпиляторы нужны и самим авторам программ – они тоже иногда теряют свои исходные коды (особенно школьники и студенты за день до сдачи лабораторной работы). И, что более всего интересно, RE чрезвычайно высоко оплачивается, так что никакой кризис RE-специалистам не страшен.

captcha

Что такое облачное хранилище и как им пользоваться? Что такое облачное хранилище и как им пользоваться?
Как выбрать пластины для теплообменника? Пластины для теплообменника
Изучение языка ECMAScript: основа современной веб-разработки История языка ECMAScript
Как добавить комментарий в HTML? HTML примеры
Apple позволит разработчикам распространять приложения напрямую с их сайтов Apple позволит разработчикам распространять приложения напрямую с их сайтов
jQuery 4.0 сокращает поддержку браузеров, удаляет API Новое в jQuery 4.0
Как продвинуть Telegram-канал: с нуля до результата Как продвинуть канал в Telegram с нуля?
Получить IT профессию с нуля: академия Eduson Получить IT профессию с нуля
Перспективы эволюции SEO: встречайте будущее продвижения в поисковых системах Будущее SEO-продвижения
Создание сайтов в Алматы: агентство site-promote.kz Разработка сайта компании
Антипкин Михаил Сергеевич о метавселенной, открывающей безграничные возможности для инноваций и экспериментов Антипкин Михаил Сергеевич о метавселенной
Сёрфинг с браузером FraudFox: исчерпывающее руководство Сёрфинг с браузером FraudFox
Где найти лицензионные ключи активации к ПО? Где найти лицензионные ключи активации к ПО?
Курсы веб дизайна: обучение онлайн Курсы веб дизайна: обучение онлайн
Как продлить срок службы бытовой техники? Как продлить срок службы бытовой техники?
Основы VPS/VDS: что нужно знать перед арендой? Основы VPS/VDS: что нужно знать перед арендой?
Откройте для себя азарт Mostbet KZ - ведущего онлайн-казино для геймеров Откройте для себя азарт Mostbet KZ - ведущего онлайн-казино для геймеров
Топ-10 игр для Android стоимостью менее $5 Топ-10 игр для Android стоимостью менее $5
Проверка авто в базе ГИБДД перед покупкой Проверка авто в базе ГИБДД перед покупкой
Бизнес-психология в онлайн-институте Smart Бизнес-психология в онлайн-институте Smart