не хочу очень сильно...

Тема в разделе "WASM.HEAP", создана пользователем ALEXA, 9 фев 2007.

Статус темы:
Закрыта.
  1. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    ??? А по-другому загрузить библиотеку невозможно!!! Я не совсем понимаю стоящую перед тобой задачу. И что значит, пустое адресное пространство???
     
  2. trash_master

    trash_master New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2006
    Сообщения:
    319
    Адрес:
    Україна
    если ты хочешь вручную загружать библиотеки и искать в них адреса, то тебе прямая дорога в микрософт, они там тоже все через жопу делают :real_cool: & :big_green:
     
  3. ALEXA

    ALEXA New Member

    Публикаций:
    0
    Регистрация:
    31 май 2005
    Сообщения:
    26
    значит пустое, после передачи управления на мой процесс он располагает только тем что имее. тоесть уровнем привелегий кольца три и регистры процессора.
     
  4. Nouzui

    Nouzui New Member

    Публикаций:
    0
    Регистрация:
    17 ноя 2006
    Сообщения:
    856
    ALEXA
    извини, но по-моему ты бредишь
     
  5. trash_master

    trash_master New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2006
    Сообщения:
    319
    Адрес:
    Україна
    Сразу прошу барышню не обижаться, IMHO у меня самая трезавая оценка ситуации :)
     
  6. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    Ну и задачки ставите, сударыня. А кто передаст управление на твой процесс??? Кто-то ж должен создать хотя бы один тред, инициализировать внутренние переменные и т.д. Импорты-девственицы - это возможно (хоть и не будет работать), но девственого адресного пространства не бывает - уж извиняйте.

    И trash_master прав - грузить библиотеку не используя апи... Да еще и в третьем кольце - такого даже в микрософт не умеют :)
     
  7. ALEXA

    ALEXA New Member

    Публикаций:
    0
    Регистрация:
    31 май 2005
    Сообщения:
    26
    это реально если я сама отвечаю за создание дескриптора для селектора кода моего процесса
     
  8. trash_master

    trash_master New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2006
    Сообщения:
    319
    Адрес:
    Україна
    мне б такое третье кольцо
     
  9. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    Хорошо. Допустим ты создала адресное простанство, вставила в него код и создала каким-то чудом поток. Как ты представляешь себе процесс поиска и загрузки библиотеки в память? Все функции кернела сводятся к вызову Zw-функций в ntdll, а те в свою очередь - к вызову sysenter. Т.е. все вызовы типа LoadLibrary - это всего лишь заглушки для функций уровня ядра, т.е. системных вызовов. Как в _третьем_кольце_, не_используя_апи, ты планируешь обращаться к винту для посика библиотеки, обращаться к памяти для ее выделения и создания атрибутов со всеми вытекающими последствиями и т.д.???
     
  10. ALEXA

    ALEXA New Member

    Публикаций:
    0
    Регистрация:
    31 май 2005
    Сообщения:
    26
    Ты просто кудесник. Я тебя и спрашивю этот вопрос
     
  11. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    Хех, тогда вариант только один - выдирать весь код из всех библиотек, которые отвечают за вывод на экран пикселей - ну шоб нарисовать окошко. А потом еще непременно вставить код, который будет отвечать за клики мышки и клавиатуру. Но прямое обращение к озу, видеокарте, процессору и др. устройствам врядли возможно в третьем кольце. Так шо ты будешь первой, кто написал операционку, которая поместилась в 1 файл!!! :)
     
  12. ALEXA

    ALEXA New Member

    Публикаций:
    0
    Регистрация:
    31 май 2005
    Сообщения:
    26
    ха тоже вариант но не подходит
     
  13. Freeman

    Freeman New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    1.385
    Адрес:
    Ukraine
    порезать нативных функций из нтдлл по минимуму, чтоб хватило этот самый нтдлл подгрузить. настроить там все что настраивацо... после этого хоть окошки, хоть консольки. вобщем даешь чистое пространство!
     
  14. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    Я серъезно. Ведь все подобные процессы работы с устройствами - винт и др. находятся в ядре. А доступ к ядру "осуществляется" через апишки в третьем кольце. Т.е. нельзя и апишки убрать, и к ядру доступ получить. Имхо у тебя слишком жесткие требования. Какой вообще код (т.е. для какой цели) тебе нужен? Если не секрет конечно
     
  15. ALEXA

    ALEXA New Member

    Публикаций:
    0
    Регистрация:
    31 май 2005
    Сообщения:
    26
    значит ответ однозначный что из третьего кольца я никак не выберусь
    ? или точнее сказать что при ТАКИХ ТРЕБОВАНИЯХ Я НЕ ВЫБЕРУСЬ?
     
  16. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    Думаю да. Тебе нужен по крайней мере Ntdll. Хотя, мне кажеца, кернел тоже по-любому будет.

    Просто для вызова мессаджбокса тебе уже надо подгрузить user32.dll, а это уже не чистое пространство. Так шо, думаю, имеет смысл хотя бы чуточку смягчить требования
     
  17. ALEXA

    ALEXA New Member

    Публикаций:
    0
    Регистрация:
    31 май 2005
    Сообщения:
    26
    а как же вызовы прерываний? ими то я могу пользоваться может там что есть?
     
  18. asd

    asd New Member

    Публикаций:
    0
    Регистрация:
    12 мар 2005
    Сообщения:
    952
    Адрес:
    Russia
    По-моему она не знает, что ей надо. Началось всё с чистого импорта, а заканчивается запретом длл грузить:) Такое пойдёт?
     
  19. ALEXA

    ALEXA New Member

    Публикаций:
    0
    Регистрация:
    31 май 2005
    Сообщения:
    26
    началось с импорта потОму что я не знала как вас всех увести от дельта смещения
    я не думала что по умолчанию загрузчик загружает кернел и нтдлл
     
  20. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    Прерывания - это и есть системные вызовы. Досовские прерывания тебе ниче не дадут. А ядерные... В винде до 2000 включительно используются прерывания, а с ХР - sysenter'ы, хотя кажеца и прерывания тоже пока поддерживаются. В любом случае это уже не третье кольцо
     
Статус темы:
Закрыта.