Люди, подскажите. Есть задача: имеется программа (exe и куча dll, которые использует этот экзешник), нужно дизассемблировать сам экзешнике, выявить алгоритм его работы, написать свой с похожим интерфесом. Приложение достаточно сложное само по себе, представляет из себя клиентское приложение торговой системы (торговля ценными бумагами). Сколько стоит такая работа?
MSoft infern0 где то на крэклабе было сказано что 20% процентов от суммы, объясните сколько на самом деле стоит брать денег?
Разобрать сложную программу на части, а потом написать с нуля - это явно не 20%. Тебе там про кряк наверна говорили. Взлом программы действительно можно оценивать в 20%, но никак не полное воспроизведение.
где то видел похожую тему, так там предлагали цену вопроса определять объемом кода, который надо отреверсить. Что-то вроде: 1 килобайт - нное количество $....
чтобы написать аналог программы, необходимо как минимум знать возможности этой программы а для распределённых приложений ещё и брать откуда-нибудь входные данные.
Andr_ Есть расценки на реверсинг, но в данном случае я бы лично умножил их на некий коэффициент, зависящий и от стоимости самой программы и от объема полученного исходного кода. А вообще стоимость такой работы где-то примерно равна стоимости разработки самой программы (берем количество разработчиков, умножаем на среднюю зарплату и на количество месяцев разработки).
IMHO, реверсировать программу полностью не имеет смысла. Тривиальные или стандартные части (UI, то, что написано (может быть написано) с использованием шаблонных библиотек), лучше писать с нуля, ориентируясь только на нужную функциональность. Код в этом случае будет значительно более пригоден для дальнейшего развития.
Мой +1. Столкнувшись с необходимостью воспроизвести драйвер размером всего в 30 КБ (!), по настоящему реверсил только десяток функций. Остальное писал с нуля. Не очень представляю как можно воспроизвести большую программу исследую ее код. Стоимость воспроизведения должна быть меньше чем стоимость разработки оригинала, но не за счет реверсинга а за счет исследования общего дизайна приложения: функциональность, GUI, данные и пр.