KeUserModeCallback

Тема в разделе "WASM.BEGINNERS", создана пользователем link, 16 май 2009.

  1. link

    link Member

    Публикаций:
    0
    Регистрация:
    3 янв 2008
    Сообщения:
    52
    Я просто не знаю как их оттуда достать? с помощью чего? функции не экспортируются ядром
     
  2. link

    link Member

    Публикаций:
    0
    Регистрация:
    3 янв 2008
    Сообщения:
    52
    Если взять просто смещение относительно базы загруженного ядра, где смещение равно адресу функции в ядре, то такое подойдет или как то иначе?
     
  3. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Большинство неэкспортируемых функций ищутся по релокам и программным дизассемблированием
     
  4. link

    link Member

    Публикаций:
    0
    Регистрация:
    3 янв 2008
    Сообщения:
    52
    можешь какую нидь ссылку по этой теме дать
     
  5. link

    link Member

    Публикаций:
    0
    Регистрация:
    3 янв 2008
    Сообщения:
    52
    Ещё малек по общей стратегии не понимаю! Мы у замороженых потоков по очереди берем контекст и перенаправляем его на наш код, но так как он в заморозке он его не исполняет! После того как все треды перенаправлены мы их размораживаем и они выполняют код обработчика! Но доменя никак не допрет как наш обработчик поймет какое состояние какому потоку восстановить(стек+еип+ефлагс)?
     
  6. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    link
    Сказано:
    Она перечисляет все треды процесса и выводит их из спящего состояния, если конечно число остановок равно 1.
    Наш обработчик в контексте всех потоков вызывается. При настройке(захвате) его контекста сохраняем в его стеке все необходимые регистры. Затем в обработчике восстанавливаем их из стека(RGP, влажки и Eip).