Проект скомпилированный при помощи -O3 может работать медленнее -O2, случаи и обсуждения легко найти в Google. Идеальный вариант смотреть флейм графы и иметь механизм трейсинга по горячим путям, тогда достаточно легко понять какие опции для конкретного проекта приносят бОльший прирост.
Спорт это хорошо и кровь надо разгонять периодически. По тексту получается, что мозг это отдельное существо живущее своей жизнью, какие-то отмазки придумывает он, а лично вы его не контролируете. Лично для меня это уже не очень здоровая концепция.
Может взглянуть на это под другим углом? Например, что это перенос ответственности?
Я так понимаю проще сказать "это не я думаю, это мозг". Нежели признаться, что это Я и Я не контролирую (или не хочу контролировать) поток своих мыслей. @Lesika пропустите через себя этот вопрос.
avdx, Вы правильно считаете, но наличие сохраненного состояния не гарантирует вам хорошей рандомизации если за основу взят неправильный принцип его генерации, состояние — это только одна важная часть PRNG. Передо мной не стояла задача сохранять стейт xorshift256, в данном случае просто получить вменяемые compile time значения, чтобы не получать повторения одних и тех же инструкций на большОм количестве операций.
Можно делать и так как вы говорите, но качество рандома будет хуже чем у xorshift256, это основная причина почему сделано именно так, можете провести эксперимент с TestU01 если есть возможность и интерес. Так же посмотрите макрос SEED в проекте.
Описанные вами методы недостаточны для параноидальных программ. Как правило авторы коммерческого ПО используют по 3-4 метода детекта виртуальной машины, неговоря уже про malware.
VMware может быть задетектирована:
1) Проверками диапазона MAC адресов
2) Наличием sys файлов на диске (в случае установки VMware Tools)
3) Через WinAPI опросом конфигурации ОС и прочей системной информации (FirmwareTable)
4) Низкоуровневыми трюками.
5 п. Сейчас популярно передавать обфусцированный код оптимизирующему компилятору и на выходе получить вполне читабельный код.
Вот схема работы на LLVM:
1) Чтение обфусцированного кода.
2) Трансляция в LLVM bitcode.
3) Построение CFG.
4) Оптимизация.
5) Генерация оптимизированного кода.
5 метод действительно может использоваться для того чтобы скрыть api функцию из импорта приложения, когда через PEB (Process Environment Block) находят адрес GetProcAddress, далее LoadLibrary и все необходимые функции, это можно реализовать не прибегая к использованию inline asm-а.
уточните пожалуйста, что вы имеете ввиду под «полностью ручной загрузкой»?
Проект скомпилированный при помощи -O3 может работать медленнее -O2, случаи и обсуждения легко найти в Google. Идеальный вариант смотреть флейм графы и иметь механизм трейсинга по горячим путям, тогда достаточно легко понять какие опции для конкретного проекта приносят бОльший прирост.
Спорт это хорошо и кровь надо разгонять периодически. По тексту получается, что мозг это отдельное существо живущее своей жизнью, какие-то отмазки придумывает он, а лично вы его не контролируете. Лично для меня это уже не очень здоровая концепция.
Может взглянуть на это под другим углом? Например, что это перенос ответственности?
Я так понимаю проще сказать "это не я думаю, это мозг". Нежели признаться, что это Я и Я не контролирую (или не хочу контролировать) поток своих мыслей. @Lesika пропустите через себя этот вопрос.
Общался некоторое время с ним по телескопам, давал мне несколько советов, за что ему спасибо.
VMware может быть задетектирована:
1) Проверками диапазона MAC адресов
2) Наличием sys файлов на диске (в случае установки VMware Tools)
3) Через WinAPI опросом конфигурации ОС и прочей системной информации (FirmwareTable)
4) Низкоуровневыми трюками.
Вот схема работы на LLVM:
1) Чтение обфусцированного кода.
2) Трансляция в LLVM bitcode.
3) Построение CFG.
4) Оптимизация.
5) Генерация оптимизированного кода.
Есть несколько попыток реализации:
а) Fracture
b) Dagger
c) Opticode online
nop = exchange eax,eax
pastebin.com/5cHFBbuf
Appearance->Highlighting->Jump and calls
2
3
уточните пожалуйста, что вы имеете ввиду под «полностью ручной загрузкой»?