2015-10-01 3 views
-1

У меня есть проект, который уже разработан, другими словами, у меня есть API для некоторого программного обеспечения, закодированного на языке C, но у компании нет исходного кода, поэтому моя миссия - написать исходный код для этого приложения. Теперь у меня есть исполняемая программа, и я хочу написать исходный код, относительно моего меньшего опыта, который я задаю, что лучше, чтобы написать исходный код с нуля или использовать какой-либо инструмент для обратного проектирования, чтобы узнать исходный код ? Но обратите внимание, что инструменты обратного проектирования приводят к некоторым трудным для чтения файлам, поскольку комментариев недостаточно!Обратное проектирование или код с нуля

+0

«но у компании нет исходного кода» - интересно, как это могло случиться? –

+0

@MitchWheat Я думаю, это не бесплатная lib/dll, и компания не хочет платить лицензию ... – LPs

+0

Да. Я знаю .............. –

ответ

2

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

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

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

+0

@ YePhlcK На самом деле я нашел инструмент под названием «Retargetable Decompiler», который декомпилирует исполняемый файл, но, как я уже сказал, его очень трудно прочитать. Так что ты думаешь. – Zainab

+3

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