Гомеопа́тия (от греч. ὅμοιος — «подобный» и πάθος — «болезнь»)
т.е. гомеопатия это по определению «лечение подобным (болезни)». Безумное разведение Ганеман придумал уже в дополнение, ибо большинством неразведенных гомеопатических препаратов можно просто отравиться, так что два раза такое никому не продашь.
Хотя, нет, я выше порядки напутал и тумана напустил.
Вот проще:
Для 0.1 г 236U полная энергия покоя равна 0.1 * 9e16 = 9e15 Дж.
Дефект масс Δm для ядра 236U=0.179 а.е.м., т.е ~ 7,59e-4 от веса ядра. Если прям все ядра распадутся, то для 0.1 г 236U дефект масс будет равен 0.1 * 7,59e-4 = 7,59e-5 г. Значит энергии выделится 7,59e-5 * 9e16 ~ 6.8e12 Дж.
Т.е. разница между аннигиляцией и распадом поменьше, но все-таки 3 порядка: 9e15 vs 6.8e12 Дж.
ЧТД.
Не понимаю с чем вы продолжаете спорить. В исходном тексте мысль сформулирована так, что будто если прореагировало 100 мг вещества, то выделится энергии 1e-4 * 3e16=3e12 Дж энергии. Вот это утверждение мне показалось неверным, о чем и написал.
Массовое число ядра 236U = 236. Значит атомная масса 236U равна 236 а.е.м. 1 а.е.м ≈ 1,67·10−24 г, поэтому масса ядра примерно равна 236·1,67e−24 г = 3,9412e-22г. Значит в 100 мг урана 236 1e-4 / 3,9412e-22 = 2,5e+17 а.е.м вещества. Δm для ядра 236U=0.179 а.е.м. Учитывая, что 1 а.е.м. = 931.494 МэВ и предполагая невероятное, что все ядра поучаствуют в реакции, энергия, выделяемая в ходе реакции распада 100 мг 236U равна 2.5e+17 * 0.179 * 931.494 = 4.2e+19 МэВ или 4.2e+25 эВ. Зная, что 1 эВ = 1,6e−19 Дж, получим 6.7 Дж.
Надеюсь, разница между 3e12 Дж и 6.7 Дж понятна?
Из-за дефекта масс же, ниже правильно написали.
Но тогда и формула «слегка» другая — ΔE = Δmc². Но это уравнение описывает не энергию, которая появилась вследствие расходования массы вещества, а наоборот — описывает изменение массы вещества в результате распада за счет высвобождения энергии связей. Мало того, для синтеза исходного ядра изотопа урана из результирующих веществ (при условии, что это вообще возможно) придется потратить больше энергии, чем ее выделилось при делении.
Это верно, но, надеюсь, понятно, что Δm != m и строго говоря описывает энергию связи нуклонов, а не их массу. Т.е. это никак не масса прореагировавшего ядерного вещества.
Еще чувство собственного достоинства забыли.
На всякий случай поясню сарказм: есть органы чувств, а есть чувства, производимые этими органами (как их воспринимает когнитивная система). Здесь просто адская смесь одного с другим.
Ну, если программы нельзя изменять, то это не интересно. Тогда и вся свистопляска с обфускацией не нужна, т.к. любая атака направлена на модификацию штатного кода. А если это невозможно, то и смысла рассуждать дальше нет. Проще тогда взять какой-нибудь матричный проц, типа FPGA и «напрожигать» в нем программ, аля MS Office.
Пока все верно понимаете.
По большому счету, метод, который вы предложили в железе, уже много лет используется в софтовом исполнении. Это т.н. метод виртуальных машин (например, можно сразу смотреть п. 3). Взлом такой защиты затруднен, только если применяется многоуровневый стек виртуализации (в современных системах защиты ПО — это несколько десятков слоев виртуализации).
В простейшем случае не нужно вычислять каждый отдельный опкод. К примеру, я приду к вам в гости и пока вы будете заваривать мне чай на кухне, незаметно перекопирую стандартную программу Калькулятор с вашего ПК к себе на флешку. Я на халяву получу почти всю таблицу кодов процессора и это без малейшего брута, исключительно соц. инженерией. При удаленной атаке слегка посложнее, но так же нет ничего невероятного в том, чтобы словить в сетевых пакетах мусор из кодового сегмента при том же пресловутом выходе за границы памяти. Вопрос целенаправленности атаки — не более.
Проблема обфускации в том, что а) поле вариантов изначально сужено до изначального набора кодов, б) одна и та же изначальная лексема сопоставляется строго одной и той же обфусцированной лексеме, в) правила связывания лексем между собой семантически предопределены (к примеру, две инструкции mov ax, bx и mov ax, cx не будут следовать подряд друг за другом). К примеру, предположим, что есть язык, в котором есть две буквы, а длина слов ограничена 2 символами. Тогда в языке может быть не более 6 слов. Теперь как бы вы не обфусцировали предложения на этом языке, проблема перебора возможных вариантов сильно сужается указанными правилами. Поэтому нет и не будет никаких 2^64 комбинаций (которых, впрочем, тоже весьма мало для сколь-нибудь эффективной криптозащиты).
Переполнение буфера это не атака, а уязвимость, открывающая вектор атаки. В вашем примере все еще проще — уязвимостью является сам подход, для которого известны ограничения а, б и в (см. выше).
Описана разновидность security through obscurity (в данном случае — рандомная таблица опкодов). В общем случае — ни от чего не защищает. Т.к. обмен с внешним миром, судя по всему предполагается, то удаленной таргетированной атакой на конкретный процессор можно восстановить всю таблицу опкодов, а дальше — дело техники.
Точка насыщения рынка смартфонов (в отличие, к примеру от рынка мониторов) не пройдена, соответственно, цена пока будет расти. На первом курсе любого универа, на парах по экономике это доходчиво объясняют.
А чем плох вариант оборачивания в анонимную лямбду? ИМХО, на порядок нагляднее всяких байндов с плейсхолдерами. По производительности — одинаково. По памяти скорее всего тоже.
КМК, основное непонимание теории относительности происходит из того, что в быту процесс измерения представляется чем-то само собой разумеющимся. Мало кто задумывается, что любое измерение чего бы то ни было (времени, расстояния, частоты и т.п.) есть процесс передачи информации от объекта измерения к экспериментатору. Теория относительности накладывает ограничение именно на скорость распространения информации. Поэтому любые измерения, связанные с релятивистскими скоростями, начинают «чувствовать» эту особенность.
По условию задачи зонд летит с ускорением, значит его СО неинерциальная. Поэтому, чтобы посчитать время и пройденный путь для этого случая, надо решать задачу в рамках ОТО (уравнения СТО не работают). А для этого нужно ОТО хотя бы знать, чем я не могу похвастаться.
По корабельным часам пройдет гораздо меньше времени, но и расстояние сократится пропорционально. Поэтому по корабельному же спидометру зонд будет лететь с досветовой скоростью, а не 4с.
Вот проще:
Для 0.1 г 236U полная энергия покоя равна 0.1 * 9e16 = 9e15 Дж.
Дефект масс Δm для ядра 236U=0.179 а.е.м., т.е ~ 7,59e-4 от веса ядра. Если прям все ядра распадутся, то для 0.1 г 236U дефект масс будет равен 0.1 * 7,59e-4 = 7,59e-5 г. Значит энергии выделится 7,59e-5 * 9e16 ~ 6.8e12 Дж.
Т.е. разница между аннигиляцией и распадом поменьше, но все-таки 3 порядка: 9e15 vs 6.8e12 Дж.
ЧТД.
Массовое число ядра 236U = 236. Значит атомная масса 236U равна 236 а.е.м. 1 а.е.м ≈ 1,67·10−24 г, поэтому масса ядра примерно равна 236·1,67e−24 г = 3,9412e-22г. Значит в 100 мг урана 236 1e-4 / 3,9412e-22 = 2,5e+17 а.е.м вещества. Δm для ядра 236U=0.179 а.е.м. Учитывая, что 1 а.е.м. = 931.494 МэВ и предполагая невероятное, что все ядра поучаствуют в реакции, энергия, выделяемая в ходе реакции распада 100 мг 236U равна 2.5e+17 * 0.179 * 931.494 = 4.2e+19 МэВ или 4.2e+25 эВ. Зная, что 1 эВ = 1,6e−19 Дж, получим 6.7 Дж.
Надеюсь, разница между 3e12 Дж и 6.7 Дж понятна?
Из-за дефекта масс же, ниже правильно написали.
Но тогда и формула «слегка» другая — ΔE = Δmc². Но это уравнение описывает не энергию, которая появилась вследствие расходования массы вещества, а наоборот — описывает изменение массы вещества в результате распада за счет высвобождения энергии связей. Мало того, для синтеза исходного ядра изотопа урана из результирующих веществ (при условии, что это вообще возможно) придется потратить больше энергии, чем ее выделилось при делении.
Ну бред же. Даже для реакции аннигиляции это скорее всего неверно.
На всякий случай поясню сарказм: есть органы чувств, а есть чувства, производимые этими органами (как их воспринимает когнитивная система). Здесь просто адская смесь одного с другим.
По большому счету, метод, который вы предложили в железе, уже много лет используется в софтовом исполнении. Это т.н. метод виртуальных машин (например, можно сразу смотреть п. 3). Взлом такой защиты затруднен, только если применяется многоуровневый стек виртуализации (в современных системах защиты ПО — это несколько десятков слоев виртуализации).
Переполнение буфера это не атака, а уязвимость, открывающая вектор атаки. В вашем примере все еще проще — уязвимостью является сам подход, для которого известны ограничения а, б и в (см. выше).