@AndreyLug
Системный администратор и программист.

С чего начать изучение дизассемблирования и реверс-инжиниринга?

По работе столкнулся с тем что есть программный комплекс который находится в активной эксплуатации,
но нет исходных кодов и уже нет фирмы которая этот комплекс сделала.
Необходимо исправлять ошибки и вносить изменения в алгоритмы работы комплекса.
Написание нового программного комплекса это огромный объем работы.
Большинство специалистов которые работают с данным программным комплексом знают куда зайти и что нажать,
но при этом не понимаю как сделать руками то что реализовано в комплексе.
  • Вопрос задан
  • 1104 просмотра
Пригласить эксперта
Ответы на вопрос 2
longclaps
@longclaps
Держись подальше от этой затеи. Есть хозяева бизнеса - вот им и решать, писать новое или ломать старое. Ты просто прикинь, что будет, если ты накосячишь, "исправляя ошибки и внося изменения".
В целом сколь-нибудь значительного рынка "дизассемблирования и реверс-инжиниринга" нет, и карьерного потенциала эти навыки тебе не прибавят.
А уж если так припекает, что просто сил нет - научись писать на ассемблере, без этого - никак.
Ответ написан
Комментировать
@poslannikD
Java/C/C++ Programmer
Добавочка к ответу @longclaps
Асемблер
+ устройство операционных систем в общем и целом
+ устройство конкретно той под которую написан комплекс
+ если комплекс юзает драйвера, навыки написания и реверса драйверов
+ умение пользоваться специальными прогами типа Olly, IDA, Gidra и тд(соответственно нужны знания из всех предыдущих пунктов)
+ знание какого-нибудь Python для автоматизации
Иногда что бы восстановить алгоритм нужно знать как компиляторы переваривают исходники. Т.к. то что пишет программист и то что потом получается на выходе не всегда одно и тоже :)

Главное не проявляйте инициативу, иначе рискуете нажить большой комок проблем. Как уже было сказанно решать владельцам,а не вам.
Реверс качать стоит если манит эта сфера и хочеться работать в иб конторах типа каспера. А так рынок очень маленький и денег меньше, вкатится сложнее.
*(по сравнению с разработкой)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы