Forth и чем его ...

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

  1. WRP

    WRP New Member

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

    CyberManiac New Member

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

    WRP New Member

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

    shoo New Member

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

    CyberManiac New Member

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

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

    katrus New Member

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

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