TinyGL, KolibriOS, Wine, Windows, PE (очередная идея %)

Everything you can't fit into other forums
  • 1) Quake2 не простое OpenGL приложение. И для него id software написала свой программный OpenGL драйвер.
    2) Wine перехватывает вызовы импортируемых функций. Это не сложно. Информация о всех импортируемых функциях заносится в секцию ".idata" PE файла.
    3)Kolibri не умеет загружать PE программы и DLL.
  • 3)Ну теоретически(!) можно запустить PE под Kolibri. Но для этого придется писать эмулятор статической или динамической рекомпиляции.
    # Статическая рекомпиляция:
    Такой эмулятор переписывает весь код программы, используя инструкции вашего компьютера. Таким образом вы запускаете программу безо всяких примочек. В результате, несомненно, высокая скорость работы. К сожалению, не всегда возможно использовать данный приём, например для самомодифицирующихся програм.
    # Динамическая рекомпиляция:
    Схожа со статической, но перекомпилирует программу налету, т.е. изменяет небольшие участки кода во время выполнения программы. Наверное это самый сложный способ :)
  • Veliant
    Рекомпиляция не нужна. Загрузка РЕ не сильно отличается от загрузки COFF. У PE другой формат релокаций. Если написать PE программу без импортируемых функций то она сразу заработает. А для импорта потребуется подгружаемая ДЛЛ которая будет эмулировать вызовы как в Wine.
  • Who is online

    Users browsing this forum: No registered users and 5 guests