eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС
выпущен 4 ноября!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме: (+3 невидимых)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

 eXeL@B —› Софт, инструменты —› Gbhv - Simple x64 Hypervisor Framework
<< . 1 . 2 .
Посл.ответ Сообщение


Ранг: 535.3 (!)
Статус: Участник
_Вечный_Студент_

Создано: 8 января 2019 04:06 · Поправил: plutos New!
Цитата · Личное сообщение · #1

--> Gbhv<-- is a simple, powerful 64-bit Windows-based VT-x Hypervisor proof of concept written as an exercise to help learn how to develop and work with Intel's VT-X hardware virtualization technology.

Хотелось бы услышать мнения людей, кто в теме. Ну и конечно мнение сами знаете чьё...

ну и просто для тех, кто хочет все знать!

Ранг: 42.5 (посетитель)
Статус: Участник

Создано: 10 января 2019 01:31 New!
Цитата · Личное сообщение · #2

Что вообще может произойти при выполнении инструкции mov [eax],eax, скопированной в буфер и которая хочет модифицировать следующую инструкцию?
1. Эксепшн при записи. Ок, тут нормально.
2. Запись без эксепшна, но и без модификации следующей инструкции (еах указывает на какие-то ебеня, а не на текущий код).
Контроль над кодом сохраняется, но поток выполнения совсем другой, т.к. оригинальный код выполнил бы совсем другую инструкцию (jmp/call etc).
3. Запись без эксепшна, но с модификацией следующей инструкции. Тут теряется контроль над кодом.

По итогам, очевидно, что без анализа еах мы никак не можем прогнозировать выполнение кода. А следовательно нужно трейсить каждую инструкцию, чтобы понять что будет в еах


Ранг: 535.3 (!)
Статус: Участник
_Вечный_Студент_

Создано: 10 января 2019 07:56 · Поправил: plutos New!
Цитата · Личное сообщение · #3

вопрос относится к данной теме весьма косвенно, просто он возник в процессе "раздумий" над ней.
При попытке собрать этот проэкт выяснилось следующее:
Есть две версии Visual Studio: 2015 and 2017.

Code:
  1. Microsoft Visual Studio Professional 2015 Version 14.0.25431.01 Update 3
  2. Microsoft .NET Framework Version 4.7.02558
  3. Installed Version: Professional
  4.  
  5. Target platform version: 10.0.17763.0
  6. Platform Toolset: WindowsKernelModeDriver10.0 <b>(not installed)</b>


Code:
  1. Microsoft Visual Studio Professional 2017 Version 15.8.9
  2. VisualStudio.15.Release/15.8.9+28010.2050
  3. Microsoft .NET Framework Version 4.7.02558
  4. Installed Version: Professional
  5.  
  6. Windows SDK version: 10.0.17763.0
  7. Platform Toolset: Windows Driver Kit   10.0.17740.1000


Т.е. на 2015 WindowsKernelModeDriver10.0 (not installed), а на 2017 - все в порядке.
Как заставить VS 2015 "увидеть" WDK? Причем SDK версии совпадают.
На интернете вроде бы много решений, но все какие-то "бубны с танцами": попробуйте убрать это, поставить то, а потом убрать то, поставить это. Перепробовал, и все в пустую. Может кто знает простой и верный путь?


Ранг: 316.1 (мудрец)
Статус: Участник

Создано: 10 января 2019 19:54 New!
Цитата · Личное сообщение · #4

ntldr

Я посмотрел vmx_cpu.c

Такое варево что просто ппц. Как такое человек в здравом уме способен написать не понятно. Кэши какие то, асм вставки и прочее месево, что бы понять это всё нужно быть ебанутым как автор этих сурков. Надеюсь это не ваш проект.

Добавлено спустя 14 минут
spinz

> Контроль над кодом сохраняется, но поток выполнения совсем другой, т.к. оригинальный код выполнил бы совсем другую инструкцию (jmp/call etc).
> Тут теряется контроль над кодом.

Каким же образом ?
Вы видимо не понимаете что спрашиваете.

Инструкция выбирается, затем исполняется. Ну перепишет она саму себя и часть следующей в исходной области. Штатно визор цикл выберет следующую инструкцию и выполнит её. Не понимаю какая проблема.

Опишите как вы это понимаете подробно. Иначе это представляется каким то не связанным бредом.

Ранг: 42.5 (посетитель)
Статус: Участник

Создано: 11 января 2019 00:43 · Поправил: spinz New!
Цитата · Личное сообщение · #5

Вот смотри, Инде.
Визор распарсил блок кода, поместил его в буфер для выполнения и отдал выполнение этому блоку.
В коде встречается инструкция типа mov [eax],eax, ну или любая подобная, которая изменяет
выбранный блок по оригинальному адресу. При выполнении этого кода в буфере изменение потока инструкций не произойдет, т.к.
адрес буфера и еах, понятно, не будут совпадать. Т.е. код, выполняемый в буфере, будет себя вести так, как будто mov [eax],eax не выполнялась. А это фиаско.


Ранг: 316.1 (мудрец)
Статус: Участник

Создано: 11 января 2019 04:27 New!
Цитата · Личное сообщение · #6

spinz

Ясно. Это надуманная проблема. Во первых запись как и исполнение можно блокировать на системном уровне. А во вторых в таком случае можно сократить блок до одной инструкции, о чём я выше и говорил. Аналогично как и при необходимости адресной трансляции. А есчо такая ситуация крайне редкая. И это всё немного зарубит защита на новых ос.

Ранг: 370.2 (мудрец)
Статус: Участник

Создано: 11 января 2019 04:50 · Поправил: ntldr New!
Цитата · Личное сообщение · #7

difexacaw пишет:

Такое варево что просто ппц. Как такое человек в здравом уме способен написать не понятно.

Спасибо на добром слове. Буду знать что писал в нездравом уме и вообще ебанутый. Выпить что-ли водки, для оздоровления.

PS: мне теперь понятно почему тебя, Клерк, травят все кому ни попадя.


Ранг: 535.3 (!)
Статус: Участник
_Вечный_Студент_

Создано: 11 января 2019 05:57 · Поправил: plutos New!
Цитата · Личное сообщение · #8

ntldr пишет:
Буду знать что писал в нездравом уме и вообще ебанутый


"It is always nice to know what exactly is wrong with you."
©Kurt Vonnegut

Ранг: 42.5 (посетитель)
Статус: Участник

Создано: 11 января 2019 06:34 New!
Цитата · Личное сообщение · #9

клерк изрядно потроллил ремантлдра))


Ранг: 226.3 (наставник)
Статус: Участник

Создано: 11 января 2019 07:09 · Поправил: f13nd New!
Цитата · Личное сообщение · #10

ntldr пишет:
Буду знать что писал в нездравом уме и вообще ебанутый.

Ты всё сделал неправильно. Надо было минимум полгода сношать всем мозги о том, каким должен быть правильный динамический транслятор, а уже опосля, изрядно всех утомив, выложить. Причем дико лайт версию того, чем грозился. Не создал интригу, цену не набил. А уж выкладывать исходники не за пивас это вообще форменное безумие.

Ранг: 44.8 (посетитель)
Статус: Участник

Создано: 11 января 2019 10:07 New!
Цитата · Личное сообщение · #11

У клерка же алгоритм простой.
Новая технология + индей не разобрался = хлам
Старая технология + индей не умеет в С/C++ = хлам
Старая технология + написана на православном масм + незаточена под vx = хлам

При этом технология патч гвард + много много этих лет осознавания индеем = новая технология IDP (по версии индея)
Технология dbi + много много этих лет осознаванием индеем = новая технология визора(по версии индея)

Ждем еще много этих лет и индей откроет для себя symbolic execution, а там и до виртуализации недалеко

Ранг: 7.1 (гость)
Статус: Участник

Создано: 11 января 2019 19:35 New!
Цитата · Личное сообщение · #12

у ntldr норм код, как я вижу это 2007 год - 12 лет назад уже такое мутить... зачет. сорцы вполне себе. как стартовая площадка на потыкать норм. thnx


Ранг: 1120.2 (!!!!)
Статус: Участник

Создано: 12 января 2019 06:56 New!
Цитата · Личное сообщение · #13

difexacaw пишет:
Такое варево что просто ппц. Как такое человек в здравом уме способен написать не понятно. Кэши какие то, асм вставки и прочее месево, что бы понять это всё нужно быть ебанутым как автор этих сурков. Надеюсь это не ваш проект.


Поражаюсь. Огромное кол-во людей использует отлично работающий, бесплатный, софт для шифрования жесткого диска, написанный ntldr и даже не догадывается, как там всё плохо. И вот ты, не сделавший для людей вообще ни фига, вечно ноющий, да вечно тролящий. Иди ка ты на хер, со своим идеальным кодом.

| Сообщение посчитали полезным: sefkrd, SReg, Vintersorg



Ранг: 589.9 (!)
Статус: Модератор
Research & Development

Создано: 12 января 2019 10:19 New!
Цитата · Личное сообщение · #14

spinz
f13nd
SegFault
superakira
Gideon Vi

Вам сюда: --> Если очень хочется поговорить про Инди <--



Ранг: 535.3 (!)
Статус: Участник
_Вечный_Студент_

Создано: 13 января 2019 23:23 · Поправил: plutos New!
Цитата · Личное сообщение · #15
<< . 1 . 2 .
 eXeL@B —› Софт, инструменты —› Gbhv - Simple x64 Hypervisor Framework

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS