Форт-систем много, и все - разные. Программу на SP Forth можно зарядить в IDA, немного подумать над результатом и декомпилировать нужные слова вручную, он внутри нехитро устроен. Для классических форт-систем декомпилятор придётся творить вручную, взяв Оранжевую Книгу Большого Формата под названием "Язык программирования Форт"(самое полное чтиво по данному языку).
CyberManiac Чем отличается данный экземпляр от классического ? И есть ли где-то описание байт-кодов Forth или они опять же разные для разных реализаций ? Google , который знает где и что лежит , не помог.
декомпиляторы специфичны компиляторам. например, в GP-FORTH вроде как было слово DECOMP, правда, я им не пользовался, тк не нуждался - чужих программ на форте у меня не было.
WRP Хотя бы тем, что он - действительно компилятор в исполняемый код, а не интерпретатор шитого кода, как принято. Однако кроме собственно компиляции слов он сохраняет в коде ещё и имена этих слов, (в SP-Forth у каждого слова в словаре есть что-то вроде заголовка), что позволяет пр помощи ручки и листа бумаги "прочитать" исходник. Наверняка этот процесс можно автоматизировать. Насколько я знаю, нет. Зато есть волшебные слова : ; , С, create> does и т.д., по которым можно расследовать особенности работы данного конкретного компилятора. Если раздобыть такой же Форт, как тот, на котором написана программа, после недели экспериментов почти наверняка программу можно будет разобрать на запчасти. Если нет такой возможности - можно попытаться запатчить прогу так, чтобы она рухнула от исчерпания данных на стеке - тогда, возможно, форт-система вывалится в интерактивный режим, где с ней можно делать всё, что угодно.
В году так 91 была книга Семенова. Там был код декомпилятора для форта. Эх форт - удивительный язык программирования. Жалко, что не уцелел в "соревновании" с другими языками. Впрочем, наверное это логично. Уж слишком уж он "другой".