Как стать автором
Обновить
10
0.1

Пользователь

Отправить сообщение

Эта либа устанавливала хуки на системные вызовы, которые работают с диском.

And I was able to confirm (in some of the dumps, we don't collect the right heap information in all dumps) that Trend Micro code (one region is a DLL that seems to be called ApiHookStub.x64.dll, another is not a direct DLL copy) which has been allocated on our process heap without going through the loader, presumably via something like ::VirtualProtectEx and ::WriteProcessMemory. This is a pattern I see used broadly in Edge crashes we root cause to third-party software.

https://bugs.chromium.org/p/chromium/issues/detail?id=1218384#c81

arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
arch/x86/tools/insn_decoder_test: warning: ffffffff81d68bb2: f2 0f 78 c0 08 08 insertq $0x8,$0x8,%xmm0,%xmm0
arch/x86/tools/insn_decoder_test: warning: objdump says 6 bytes, but insn_get_length() says 0

А что это значит? Компиляция с профилем привела к ошибочным оптимизациям, из-за которых сломался встроенный в ядро декодер длин инструкций? Выглядит опасно, тогда ведь могло сломаться и другое место, но не покрытое такой проверкой.

Зато в 9x можно было попытаться открыть con\con по сети, что приводило к бсоду на обоих компьютерах.

Если речь про Трансмету, то у меня сложилось впечатление что Бабаян говорил скорее с гордостью и уважением о том что они Дитцелом обсуждали бинарную трансляцию и прочие идеи, и что Дэвид смог реализовать это в реальном продукте.

Advanced RISC Machine

ARM это больше не акроним.

Напишите, пожалуйста, в следующих статьях — когда вы узнали (и какая была реакция) что один из самых крутых авторов и редактор рубрики «взлом» является сотрудником ФСБ.

>… добавляете к этому адресу смещение что бы получить указатель на адрес возврата из данной функции. Прописываете по этому указателю…

Уже в этот момент будет undefined behavior.

Как это можно сделать в C или C++ без undefined behavior?

Скорее всего такой код будет написан или в виде ассемблерной вставки или обложен volatile.

Если benchmark плохо написан, то да. Надо или возвращать результат вычислений из программы или говорить компилятору не делать оптимизаций. С этим сталкивался, наверное, автор любого бенчмарка, вот например AnTuTu.

А насчёт wipe data, зависит от того каких данных — если на диске, то это видимый результат, а если в памяти, то такой код тоже может быть удалён.

Тут описан только недостижимый код, который является подмножеством мёртвого кода. В общем случае, мёртвый код — это любой код, который не имеет видимых результатов (он может быть как достижимом, так и не достижимым). Например, запись в регистр без последующего чтения из него.

Подобное преобразование нелегально в C++, но т.к. многие его используют по привычке из C, то компиляторы предпочитают не ломать такой код: https://stackoverflow.com/questions/11373203/accessing-inactive-union-member-and-undefined-behavior

Большая Parallels (которая бывшая SWSoft, которая купила маленькую компанию Parallels в 2004) была разделена на 3 части в 2015 году. Все эти части были куплены разными иностранными фирмами. Одна их них продолжила называться Parallels и стала подразделением канадской Corel, которая принадлежит американскому инвестиционному фонду Kohlberg Kravis Roberts. А зарегистрирована Parallels International GmbH в Швейцарии.

Можно сделать анрол цикла, векторизовать и т.д.

Миллениалы изобрели Яндекс.Маркет.

Информация

В рейтинге
2 736-й
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность