Важная информация

User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 11

Тема: декомпиляция

  1. #1
    Veteran Аватар для ZEman
    Регистрация
    28.10.2005
    Адрес
    Омск
    Сообщений
    1,884
    Благодарностей: 303
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию декомпиляция

    когдато давно, лет 8 - 9 назад я писал всевозможные програмки и игрульки для себя.
    писал их на бейсике с применением граф.редактора Art Studio и компилятора Tobos FP.
    вот недавно я посписывал всё это добро с касет и хотел бы снова поковыряться в своих произведениях.
    в общем вопрос такой:
    можно ли как нибудь превести из машинного кода программы назад в бейсик?
    если да то как?
    для примера выкладываю пару своих произведений
    Последний раз редактировалось ZEman; 10.08.2007 в 15:08.

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Activist
    Регистрация
    23.05.2005
    Адрес
    Санкт-Петербург
    Сообщений
    367
    Благодарностей: 1
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Скачать вот эту прогу (ZX-Blockeditor) http://home.arcor.de/clausjahn/spectrum/. После чего выдрать все файлы с бэйсиком и кодом в виде отдельных файлов, дальше их можно засунуть в .trd/.scl

  4. #3
    Activist
    Регистрация
    23.05.2005
    Адрес
    Санкт-Петербург
    Сообщений
    367
    Благодарностей: 1
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZEman
    можно ли как нибудь превести из машинного кода программы назад в бейсик?
    Если нету исходных бэйсик файлов (из которых Tobos FP получил машинный код), то никак, а если они есть в образах касет, то см. пункт ниже.

  5. #4
    Veteran Аватар для ZEman
    Регистрация
    28.10.2005
    Адрес
    Омск
    Сообщений
    1,884
    Благодарностей: 303
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  6. #5
    Member Аватар для cyrax inc
    Регистрация
    24.09.2006
    Адрес
    Саратов
    Сообщений
    99
    Благодарностей: 0
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZEman
    исходных бейсик файлов нету, стёр давным-давно..
    а так значит никак нельзя?
    ведь компилятор же перводит из бейсика в машинный код, почему нельзя сделать процесс наоборот?
    как компилятор перевел исходную бейсик-программу в машкод одним только авторам тобоса и известно. есть выражение: мяса из котлет не восстановишь и фарш не провернуть назад...
    この悲しみは何時かきっと優しさに成る
    貴方に逢えた丘の上星が降る
    -------------------------------------------------
    Критик - человек, рассуждающий о том, как бы правильно сделал он сам... если бы умел.
    -------------------------------------------------
    Sony PS2 SCPH-70008 et Sony PS3 Eur 2.10

  7. #6
    Guru Аватар для Lethargeek
    Регистрация
    07.09.2005
    Адрес
    Воронеж
    Сообщений
    2,239
    Благодарностей: 218
    Записей в дневнике
    2
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Talking

    Цитата Сообщение от cyrax inc
    есть выражение: мяса из котлет не восстановишь и фарш не провернуть назад...
    Переврал немного. Это такая песня-пародия на Пугачиху.
    Прихожу без разрешения, сею смерть и разрушение...

  8. #7
    Guru Аватар для goodboy
    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    9,848
    Благодарностей: 3337
    Записей в дневнике
    1
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZEman
    ведь компилятор же переводит из бейсика в машинный код
    ничего в маш.код он не переводит, операторы бейсика переводятся в хитрый формат который быстрее передаётся ПЗУшным процедурам, только и всего

    если бы переводил зачем тогда нужен сам Tobos в памяти для работы проги ?

  9. #8
    Master Аватар для boo_boo
    Регистрация
    10.05.2005
    Адрес
    Москва
    Сообщений
    713
    Благодарностей: 14
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от goodboy
    ничего в маш.код он не переводит, операторы бейсика переводятся в хитрый формат который быстрее передаётся ПЗУшным процедурам, только и всего

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

  10. #9
    Activist
    Регистрация
    23.05.2005
    Адрес
    Санкт-Петербург
    Сообщений
    367
    Благодарностей: 1
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от goodboy
    если бы переводил зачем тогда нужен сам Tobos в памяти для работы проги ?
    Скорее всего используются процедуры не из ПЗУ, а из самого Tobos'а, тоже самое касается, например, MegaBasic'а.

    Вполне возможно, что Tobos работает как старые версии VisualBasic (до 5.0) на PC (компилирует в байт код), а наличие Tobos'а требуется для исполнения этого байткода (по сути это виртуальная машина).
    Последний раз редактировалось deathsoft; 06.02.2007 в 19:51.

  11. #10
    Member Аватар для EARL
    Регистрация
    17.01.2006
    Адрес
    Тамбов
    Сообщений
    97
    Благодарностей: 66
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от deathsoft
    Скорее всего используются процедуры не из ПЗУ, а из самого Tobos'а, тоже самое касается, например, MegaBasic'а.

    Вполне возможно, что Tobos работает как старые версии VisualBasic (до 5.0) на PC (компилирует в байт код), а наличие Tobos'а требуется для исполнения этого байткода (по сути это виртуальная машина).
    Да очень на то похоже. Я как-то разбирался с этим компилятором, когда хотел декомпилировать игру Tank war, чтобы немного переписать и заметил, что там действительно все команды представляются в виде 16 битных адресов обработчиков команд бейскика. Часть этих команда находится в ПЗУ бейсика, а часть переписана и расположена в самом компиляторе. Сейчас точно не помню, но есть такая мысль, что можно даже имена переменных восстановить, которые компилятор бережно сохраняет в начале результирующего кода. Даже конструкции вида:
    Код:
    GOTO label
    где label - переменная можно восстановить, потому что когда компилятор встречает такой GOTO, то он сохраняет в все нормера строк в виде адресов байт-кодов результирующей программы, т.е. создается специальная таблица по которой можно восстановить даже сколько и какие операторы были в строке.

Страница 1 из 2 12 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •