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

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

 eXeL@B —› Оффтоп —› Если очень хочется поговорить об Indy
<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 . 15 . 16 . 17 . 18 . 19 . >>
Посл.ответ Сообщение


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

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

Если вас направили в эту тему в оффтопе, то это значит, что вы участвуете в токсичном обсуждении персонажа, известного как Indy / Clerk / difexacaw (Инди / Клерк / <как_это_вообще_читается>).

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



Как это работает?

Шаг 1. Вы поддались соблазну обсудить личность Инди/Клерка в теме, для этого не предназначенной.
Шаг 2. Модератор удалил сообщения всех участников, скатившихся в оффтоп, и дал ссылку на эту тему.
Шаг 3. Вы комментируете в данной теме и высказываете то, что хотели, но не загрязняете исходную тему.


Не забывайте об уважении друг к другу и о Правилах подфорума!


Ранг: 77.0 (постоянный)
Статус: Участник

Создано: 13 января 2020 18:09 · Поправил: Boostyq New!
Цитата · Личное сообщение · #2

Забавно что это пасс я попробовала первым, но видимо в другой раскладке
В сорсах дичь, коментов нет, написано на эльфийском, вызовов syscall нет, есть какой-то бред с wow64.dll, но вызывать его функции это еще != прямые системные вызовы на wow64
Короче, тебе опять приснилось и ты что-то напутал, трата моего времени


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

Создано: 13 января 2020 18:11 New!
Цитата · Личное сообщение · #3

Boostyq

Там полностью разобрана обработка в leg mode. На всей линейке, и полностью разобран wow слой. Если что то не понятно, тогда кури матчасть (c).


Ранг: 77.0 (постоянный)
Статус: Участник

Создано: 13 января 2020 18:22 · Поправил: Boostyq New!
Цитата · Личное сообщение · #4

Там не о чем курить, часть кода спизжена с wow64 дллкок, весь этот код можно полистать в иде в оригинальных либах и не на чокнутом языке
Обработка в wow64 это подготовка стека, подготовка параметров, переход в 64-битный режим, вызов оригинального системного вызова, возвращение в 32-бита, конвертация параметров для 32-битной системы, а у тебя просто какой-то мусор


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

Создано: 13 января 2020 18:27 New!
Цитата · Личное сообщение · #5

Boostyq

Мусор у тебя в голове, хотя какая мне разница. Скажи хоть за это спасибо


Ранг: 77.0 (постоянный)
Статус: Участник

Создано: 13 января 2020 18:33 New!
Цитата · Личное сообщение · #6

Мне незачто говорить тебе спасибо, как всегда ты выложил кал обернув его блестящим фантиком
Ctrl+C/Ctrl+V листинга в коммент это не разобрать и не описать
Прямой системный вызов на Wow64 это не вызывать куски wow64


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

Создано: 13 января 2020 18:39 · Поправил: difexacaw New!
Цитата · Личное сообщение · #7

Boostyq

> Прямой системный вызов на Wow64 это не вызывать куски wow64

У меня для тебя новость, прямые вызовы там всегда выключены и реализованы как turbo-call.


Ранг: 77.0 (постоянный)
Статус: Участник

Создано: 13 января 2020 18:48 New!
Цитата · Личное сообщение · #8

Ya dumala ti sharish...

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

Создано: 13 января 2020 18:49 New!
Цитата · Личное сообщение · #9

Boostyq пишет:

Код бессмысленный, нафига им замедлять обработку сисвызовов


Spectre митигейшн, ваш кэп.


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

Создано: 13 января 2020 18:57 New!
Цитата · Личное сообщение · #10

Alchemistry

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

melt&spectre это асинхронная атака на подобие RC. Шед нт так реализован, что такая атака маловероятна, она расчитана на линукс. Только там такая атака проходит стабильно.

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

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

difexacaw
У тебя для тебя есть 2 плохие новости.

1) У тебя дурная привычка вставлять свои "драгоценные" не имеющие к сути вопроса никакого отношения комменты куда-угодно. Ты замечал за собой какой ты нудный?

2) Spectre вполне работает под виндой.


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

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

Alchemistry

> Ты замечал за собой какой ты нудный?

Конечно. Это не занудство, а скорее привычка копаться бесконечно в одном и том же пока не станет ясно

А есчо я свои посты перечитываю много раз


Ранг: 77.0 (постоянный)
Статус: Участник

Создано: 13 января 2020 20:36 · Поправил: Boostyq New!
Цитата · Личное сообщение · #13

Alchemistry пишет:
Spectre митигейшн

А чем куча вызовов с последующей коррекцией стека поможет против этого?
Их ровно 32, я бы предположила что эта фигня не должна исполнятся в норме вовсе, или чем-то переписывается, однако странно
difexacaw пишет:
Даже не смогла найти в дизе элементарную переменную

Вот именно, я задала вопрос, ты не смог найти даже простую переменную, начал нести левую инфу, и потом когда я нашла где заполняется эта штука, ты написал "ааа а я думал ты про другое", и начал нудить как же это легко было найти, конечно легко, когда ответ уже написан
В общем расстроил ты меня, у тебя на это ушло слишком много времени, вопрос то элементарный, и каждый ядерщик легко бы мне ответил, но люди не хотят мараться заходить в эту тему
За то самомнением твоим весь форум загажен, ну правильно, оскарблять других мозгов много не нужно

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

Создано: 14 января 2020 06:53 · Поправил: Alchemistry New!
Цитата · Личное сообщение · #14

Boostyq
Это код для branch target injection - манипуляция целевым кешем адресов ветвлений. Это костыльный код. Ты можешь найти его во всех трапах/интераптах, в коде стаба потока KyStartUserThread.
Он заполняет буфер возврата из стека (RSB) чтобы при возвратах не было обхода буфера адресов переходов (BTB) в случае если он полон.
Перед этим блоком всегда есть проверка KPRCB -> BpbState флажков.
Если там установлено что есть поддержка IBRS (https://software.intel.com/security-software-guidance/insights/deep-dive-indirect-branch-restricted-speculation) тогда вместо этого блока юзается интеловский MSR.

| Сообщение посчитали полезным: Boostyq



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

Создано: 14 января 2020 13:29 · Поправил: difexacaw New!
Цитата · Личное сообщение · #15

Alchemistry

А можно пример например где это в ядре находится ?

> Он заполняет буфер возврата из стека (RSB)

Что за буфер возврата, нет такого в нт. Есть пара механизмов связанных с теневым стеком, это защита rfg/cfg. Есть контекст(trap-frame). Обработка ловушек всегда прозрачная и проста, любое усложнение приведёт к анстабу. Разве что трудности с обработкой математики, там действительно сам чёрт ноги сломит из этих отложенных квантований ради оптимизации.

Гугл мало что знает про это, есть лишь одна ссылка:

Code:
  1. Windows 10 also defined explicit padding to keep to 0x0670 bytes for the architecturally defined section. This did not get used until the 1709 release, which defines bit fields in union with the BamFlags. That the 1803 release formalises them as their own type, now as PrcbFlags, looks to have been motivated by more than mere tidiness. Notably, the new PrcbFlags do not pass into the type information for the KPRCB in the public symbol files for the HAL. This suggests strongly that conditional compilation keeps them from the HAL programmers. To the HAL, the PrcbFlags are just unnamed alignment space.


--> Link <--

Добавлено спустя 11 часов 11 минут
Boostyq

Всё что я про тебя помню, связано с темой девирта вмп, наверно только потому, что я туже задачу пытался решить. Раз вот полезла в ядерную обработку, то скажи. Мне на васм дали семпл BattleEye, драйвер протекчен вмп и статик анализ врядле возможен, я не имею девирта. Что мне делать и как быть


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

Создано: 15 января 2020 01:42 · Поправил: DimitarSerg New!
Цитата · Личное сообщение · #16

difexacaw пишет:
Мне на васм дали семпл BattleEye, драйвер протекчен вмп и статик анализ врядле возможен, я не имею девирта. Что мне делать и как быть


Это решается автоматикой. Визором покрути.

difexacaw пишет:
Кстати забыл про главное. Хоть десяток вм друг на друга наложи, всё равно останется исходная выборка. Это значит что данные в памяти не зависят от вм.


difexacaw пишет:
достаточно минуты что бы полистать код по полученным адресам и решить задачу.


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

Создано: 15 января 2020 02:07 New!
Цитата · Личное сообщение · #17

DimitarSerg

Мне интересно что думает бустик, а не я

Ты что скрипт чтоле меня цитировать.


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

Создано: 15 января 2020 09:38 New!
Цитата · Личное сообщение · #18

difexacaw, Инди! ))
Вообще это лучший форум! С давних пор заметил, что хороший метод зайти сюда и протестироваться с бодунища - если осиливаю 2 абзаца, можно садиться дальше за умственную работу. Но слова от тебя - что и сколько надо покурить? Или какие грибы надо жрать?

P.S. Тема про твою хвалёную технологию висит, я создал. Зайди в неё раньше первого тролля.


Ранг: 77.0 (постоянный)
Статус: Участник

Создано: 15 января 2020 15:29 · Поправил: Boostyq New!
Цитата · Личное сообщение · #19

Начни с ручного анализа вм, только бегло, чтобы понять смысл и не более, сразу нужно приступать к автоматике, как бы не хотелось поразбирать новые примитивы и т.д. потому что это трата времени, тот же BatllEye выпускает обновы регулярно.

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

На 2.x есть цикл, для которого тоже нужно писать анализ, чтобы узнать его свойства (роли регистров, таблицу примитивов, алгоритм расшировки номера примитива), на 3.x примитивы хранятся как есть и ссылаются друг на друга по смещению, поэтому анализировать переход нужно каждый раз.

Дальше нужно писать анализ примитивов. На 2.х после анализа цикла можно пройтись по таблице и проанализировать каждый из них, на 3.x это нужно делать на лету прямо во время трассировки, собираешь тело примитива, очищаешь от мусора по методу, что обсуждали раньше. Шаблоны примитивов не делай очень строгими, где-нибудь очистка может налажать, а с этой задачей не стоит ковыряться долго, учитывай, что регистры которые там используются могут быть/стать любыми.

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

Дальше начинается трансляция примитивов, можно в любой пригодный для оптимизации (и дальнейшей трасляции в x86 если нужно) язык, главное учитывать, что выбор языка будет определять какие свойства и проблемы появятся у промежуточного состояния, потому что нужно будет избавляться от регистров вм и стека вм. Затем нужно писать оптимизации, это достаточно нудный процесс, потому что всегда они должны сохранять исходные свойства и при этом опираться только на доказанные факты. Имей ввиду, что одна инструкция x86 реализуется кучей примитивов, поэтому ничто не мешает вмп смешивать реализации нескольких инструкций в одну большую кашу, единственное чем он ограничен это порядком чтения и записи памяти. Параллельно либо отдельно (в зависимости от языка) идет определение конструкций, которые реализуют инструкции и свертка их в x86. Затем нужно распределить регистры вместо оставшихся регистров вм.

Ну это в кратце, может что-то забыла.

| Сообщение посчитали полезным: difexacaw



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

Создано: 15 января 2020 15:49 · Поправил: difexacaw New!
Цитата · Личное сообщение · #20

Boostyq

Как то очень сложно всё, а есчо я как то срёмно смотрю даже на ручную отладку, не говоря уже про ручной реверс вирт машин

Может проще запустить и сдампить, собственно как это и было сделано, было несколько ссылок на реверс этого античита. Вмп обычно покрывает лишь небольшой процент от кода апп, так как не знает EP и данные.


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

Создано: 15 января 2020 16:01 New!
Цитата · Личное сообщение · #21

как выглядит реверс в стиле клерка
difexacaw пишет:
вот вам молоток и гвозди
дальше сами постройте летающий корабль
я бы мог, но это сильно комерц задача

то есть как только нужно любую задачу довести до конца - клерк сливается


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

Создано: 15 января 2020 16:09 New!
Цитата · Личное сообщение · #22

reversecode

По мойму это ты слился с типо" потерей сурков сиськи


Ранг: 77.0 (постоянный)
Статус: Участник

Создано: 15 января 2020 16:32 New!
Цитата · Личное сообщение · #23

difexacaw пишет:
ручной реверс вирт машин

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


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

Создано: 15 января 2020 16:39 New!
Цитата · Личное сообщение · #24

difexacaw
ты слился не раз уже на этом и других форумах

и кстати когда сделаешь правильный реверс ?


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

Создано: 15 января 2020 17:12 · Поправил: difexacaw New!
Цитата · Личное сообщение · #25

Boostyq

А если бы я прямо спросил что ты барыжишь читами-античитами ты бы не призналась. Девочка ты спалилась.


Ранг: 77.0 (постоянный)
Статус: Участник

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

difexacaw пишет:
А откуда такая инфа, мальчик?


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

Создано: 17 января 2020 00:00 · Поправил: difexacaw New!
Цитата · Личное сообщение · #27

На васме тролить плохая затея.


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

Создано: 17 января 2020 03:03 New!
Цитата · Личное сообщение · #28

Я у мамы пинкертон


Ранг: 77.0 (постоянный)
Статус: Участник

Создано: 17 января 2020 14:14 · Поправил: Boostyq New!
Цитата · Личное сообщение · #29

difexacaw пишет:
На васме тролить плохая затея

Блин, а как ты понял, что это тоже я? О_О
И почему плохая, что мне там сделают


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

Создано: 17 января 2020 22:40 New!
Цитата · Личное сообщение · #30

Boostyq

Как много ты знать хочешь


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

Создано: 18 января 2020 00:54 New!
Цитата · Личное сообщение · #31

Извините, не смог удержаться. Про клерка гитарную педаль сделали --> Link <--, я обязан об этом сообщить.
<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 . 15 . 16 . 17 . 18 . 19 . >>
 eXeL@B —› Оффтоп —› Если очень хочется поговорить об Indy

У вас должно быть 20 пунктов ранга, чтобы оставлять сообщения в этом подфоруме, но у вас только 0


Видеокурс ВЗЛОМ