![]() |
eXeL@B —› Софт, инструменты —› Gbhv - Simple x64 Hypervisor Framework |
<< . 1 . 2 . |
Посл.ответ | Сообщение |
|
Создано: 08 января 2019 04:06 · Поправил: plutos · Личное сообщение · #1 Хотелось бы услышать мнения людей, кто в теме. Ну и конечно мнение сами знаете чьё... ну и просто для тех, кто хочет все знать! ![]() ----- Give me a HANDLE and I will move the Earth. ![]() |
|
Создано: 10 января 2019 01:31 · Личное сообщение · #2 Что вообще может произойти при выполнении инструкции mov [eax],eax, скопированной в буфер и которая хочет модифицировать следующую инструкцию? 1. Эксепшн при записи. Ок, тут нормально. 2. Запись без эксепшна, но и без модификации следующей инструкции (еах указывает на какие-то ебеня, а не на текущий код). Контроль над кодом сохраняется, но поток выполнения совсем другой, т.к. оригинальный код выполнил бы совсем другую инструкцию (jmp/call etc). 3. Запись без эксепшна, но с модификацией следующей инструкции. Тут теряется контроль над кодом. По итогам, очевидно, что без анализа еах мы никак не можем прогнозировать выполнение кода. А следовательно нужно трейсить каждую инструкцию, чтобы понять что будет в еах ![]() |
|
Создано: 10 января 2019 07:56 · Поправил: plutos · Личное сообщение · #3 вопрос относится к данной теме весьма косвенно, просто он возник в процессе "раздумий" над ней. При попытке собрать этот проэкт выяснилось следующее: Есть две версии Visual Studio: 2015 and 2017. Code:
Code:
Т.е. на 2015 WindowsKernelModeDriver10.0 (not installed), а на 2017 - все в порядке. Как заставить VS 2015 "увидеть" WDK? Причем SDK версии совпадают. На интернете вроде бы много решений, но все какие-то "бубны с танцами": попробуйте убрать это, поставить то, а потом убрать то, поставить это. Перепробовал, и все в пустую. Может кто знает простой и верный путь? ----- Give me a HANDLE and I will move the Earth. ![]() |
|
Создано: 10 января 2019 19:54 · Личное сообщение · #4 ntldr Я посмотрел vmx_cpu.c Такое варево что просто ппц. Как такое человек в здравом уме способен написать не понятно. Кэши какие то, асм вставки и прочее месево, что бы понять это всё нужно быть ебанутым как автор этих сурков. Надеюсь это не ваш проект. Добавлено спустя 14 минут spinz > Контроль над кодом сохраняется, но поток выполнения совсем другой, т.к. оригинальный код выполнил бы совсем другую инструкцию (jmp/call etc). > Тут теряется контроль над кодом. Каким же образом ? Вы видимо не понимаете что спрашиваете. Инструкция выбирается, затем исполняется. Ну перепишет она саму себя и часть следующей в исходной области. Штатно визор цикл выберет следующую инструкцию и выполнит её. Не понимаю какая проблема. Опишите как вы это понимаете подробно. Иначе это представляется каким то не связанным бредом. ----- vx ![]() |
|
Создано: 11 января 2019 00:43 · Поправил: spinz · Личное сообщение · #5 Вот смотри, Инде. Визор распарсил блок кода, поместил его в буфер для выполнения и отдал выполнение этому блоку. В коде встречается инструкция типа mov [eax],eax, ну или любая подобная, которая изменяет выбранный блок по оригинальному адресу. При выполнении этого кода в буфере изменение потока инструкций не произойдет, т.к. адрес буфера и еах, понятно, не будут совпадать. Т.е. код, выполняемый в буфере, будет себя вести так, как будто mov [eax],eax не выполнялась. А это фиаско. ![]() |
|
Создано: 11 января 2019 04:27 · Личное сообщение · #6 spinz Ясно. Это надуманная проблема. Во первых запись как и исполнение можно блокировать на системном уровне. А во вторых в таком случае можно сократить блок до одной инструкции, о чём я выше и говорил. Аналогично как и при необходимости адресной трансляции. А есчо такая ситуация крайне редкая. И это всё немного зарубит защита на новых ос. ----- vx ![]() |
|
Создано: 11 января 2019 04:50 · Поправил: ntldr · Личное сообщение · #7 difexacaw пишет: Такое варево что просто ппц. Как такое человек в здравом уме способен написать не понятно. Спасибо на добром слове. Буду знать что писал в нездравом уме и вообще ебанутый. Выпить что-ли водки, для оздоровления. PS: мне теперь понятно почему тебя, Клерк, травят все кому ни попадя. ----- PGP key ![]() |
|
Создано: 11 января 2019 05:57 · Поправил: plutos · Личное сообщение · #8 |
|
Создано: 11 января 2019 06:34 · Личное сообщение · #9 |
|
Создано: 11 января 2019 07:09 · Поправил: f13nd · Личное сообщение · #10 ntldr пишет: Буду знать что писал в нездравом уме и вообще ебанутый. Ты всё сделал неправильно. Надо было минимум полгода сношать всем мозги о том, каким должен быть правильный динамический транслятор, а уже опосля, изрядно всех утомив, выложить. Причем дико лайт версию того, чем грозился. Не создал интригу, цену не набил. А уж выкладывать исходники не за пивас это вообще форменное безумие. ----- 2 оттенка серого ![]() |
|
Создано: 11 января 2019 10:07 · Личное сообщение · #11 У клерка же алгоритм простой. Новая технология + индей не разобрался = хлам Старая технология + индей не умеет в С/C++ = хлам Старая технология + написана на православном масм + незаточена под vx = хлам При этом технология патч гвард + много много этих лет осознавания индеем = новая технология IDP (по версии индея) Технология dbi + много много этих лет осознаванием индеем = новая технология визора(по версии индея) Ждем еще много этих лет и индей откроет для себя symbolic execution, а там и до виртуализации недалеко ![]() |
|
Создано: 11 января 2019 19:35 · Личное сообщение · #12 |
|
Создано: 12 января 2019 06:56 · Личное сообщение · #13 difexacaw пишет: Такое варево что просто ппц. Как такое человек в здравом уме способен написать не понятно. Кэши какие то, асм вставки и прочее месево, что бы понять это всё нужно быть ебанутым как автор этих сурков. Надеюсь это не ваш проект. Поражаюсь. Огромное кол-во людей использует отлично работающий, бесплатный, софт для шифрования жесткого диска, написанный ntldr и даже не догадывается, как там всё плохо. И вот ты, не сделавший для людей вообще ни фига, вечно ноющий, да вечно тролящий. Иди ка ты на хер, со своим идеальным кодом. ![]() |
|
Создано: 12 января 2019 10:19 · Личное сообщение · #14 spinz f13nd SegFault superakira Gideon Vi Вам сюда: ![]() ----- EnJoy! ![]() |
|
Создано: 13 января 2019 23:23 · Поправил: plutos · Личное сообщение · #15 |
<< . 1 . 2 . |
![]() |
eXeL@B —› Софт, инструменты —› Gbhv - Simple x64 Hypervisor Framework |