Forth и чем его ...

Тема в разделе "WASM.RESEARCH", создана пользователем WRP, 28 май 2009.

  1. WRP

    WRP New Member

    Публикаций:
    0
    Добрый день всем. Хотелось бы задать вопрос.
    Есть ли в природе декомпиляторы Forth ?
     
  2. CyberManiac

    CyberManiac New Member

    Публикаций:
    0
    Форт-систем много, и все - разные. Программу на SP Forth можно зарядить в IDA, немного подумать над результатом и декомпилировать нужные слова вручную, он внутри нехитро устроен. Для классических форт-систем декомпилятор придётся творить вручную, взяв Оранжевую Книгу Большого Формата под названием "Язык программирования Форт"(самое полное чтиво по данному языку).
     
  3. WRP

    WRP New Member

    Публикаций:
    0
    CyberManiac
    Чем отличается данный экземпляр от классического ?
    И есть ли где-то описание байт-кодов Forth или они опять же разные для разных
    реализаций ? Google , который знает где и что лежит , не помог.
     
  4. shoo

    shoo New Member

    Публикаций:
    0
    декомпиляторы специфичны компиляторам. например, в GP-FORTH вроде как было слово DECOMP, правда, я им не пользовался, тк не нуждался - чужих программ на форте у меня не было.
     
  5. CyberManiac

    CyberManiac New Member

    Публикаций:
    0
    WRP
    Хотя бы тем, что он - действительно компилятор в исполняемый код, а не интерпретатор шитого кода, как принято. Однако кроме собственно компиляции слов он сохраняет в коде ещё и имена этих слов, (в SP-Forth у каждого слова в словаре есть что-то вроде заголовка), что позволяет пр помощи ручки и листа бумаги "прочитать" исходник. Наверняка этот процесс можно автоматизировать.

    Насколько я знаю, нет. Зато есть волшебные слова : ; , С, create> does и т.д., по которым можно расследовать особенности работы данного конкретного компилятора. Если раздобыть такой же Форт, как тот, на котором написана программа, после недели экспериментов почти наверняка программу можно будет разобрать на запчасти. Если нет такой возможности - можно попытаться запатчить прогу так, чтобы она рухнула от исчерпания данных на стеке - тогда, возможно, форт-система вывалится в интерактивный режим, где с ней можно делать всё, что угодно.
     
  6. katrus

    katrus New Member

    Публикаций:
    0
    В году так 91 была книга Семенова. Там был код декомпилятора для форта.

    Эх форт - удивительный язык программирования. Жалко, что не уцелел в "соревновании" с другими языками. Впрочем, наверное это логично. Уж слишком уж он "другой".