И фразы: «я туда не копал», «сюда я давно не лазил», «я сильно не вникал, как у нас это работало» очень тригерят.
Считаю это нормально, не может же человек везде и всюду лазить и копать. На это жизни не хватит. Бывают еще такие ситуации(и очень часто) кода работы очень много и нет времени разбираться, что там под капотом происходит. Ну или проект легаси и с жутким кодом и в нем копаться, какой в этом бизнес-вэлью? захламлять свои знания тем чем потом скорее всего не пригодится в жизни
Видим, что две функции имеют одну и ту же сигнатуру, и нам нужно выбрать, какую из них использовать. Для этого слева, рядом с именем нужной функции ставим +. Я выбираю первую. То же самое повторяем с остальными строками.
А почему вы выбрали первую сигнатуру?
У вас есть какая-нибудь версия, почему могла такая коллизия сигнатур произойти?
как же быть, если вредоносное ПО обнаружит ненастоящее окружение и завершит свою работу?
Это получается можно свою домашнюю систему настроить так что бы она представлялась вирутальной машиной и теперь вирусы будут встрахе закрываться, что и антивирус можно не ставить =)
К примеру изменения в конфигурации OpenSSL могут привести к тому, что ОС перестанет корректно запускаться.
OpenSSL это же всего лишь системная библиотека. Как её можно не правильно сконфигурировать?
контейнеры Docker — опять же предназначены для другого, на мой взгляд в них не очень удобно быстро прототипировать с применением того ПО, которое еще не упаковано в отдельные контейнеры.
Так у вас в LXC контейнеры тоже изначально пусты и туда нужно софт доставлять. Или вы что то другое имели ввиду?
Для сравнения посмотрим на символ foo, который явно присутствует:
08 00 00 00 02 00 02 00 00 00 00 00 00 00 00 00 16 00 00 00 00 00 00 00
Символ определяет функцию, которая находится в секции .text по адресу относительно начала секции 0x00000000, т.е. в самом начале секции, как мы видели в дизассемблерном листинге, размер функции 22 байта.
Это бинарная последовательность соответсвует же
typedef struct elf64_rela {
Elf64_Addr r_offset; /* Location at which to apply the action */
Elf64_Xword r_info; /* index and type of relocation */
Elf64_Sxword r_addend; /* Constant addend used to compute value */
} Elf64_Rela;
Почему тогда адрес относительно начала секции 0x00000000? Cудя по бинарю r_offset = 0x00000008
Это тоже пасхалка?)
Считаю это нормально, не может же человек везде и всюду лазить и копать. На это жизни не хватит.
Бывают еще такие ситуации(и очень часто) кода работы очень много и нет времени разбираться, что там под капотом происходит.
Ну или проект легаси и с жутким кодом и в нем копаться, какой в этом бизнес-вэлью? захламлять свои знания тем чем потом скорее всего не пригодится в жизни
А зачем токарю знать при какой температуре образуется тростит?
К примеру какие?
А есть нечто подобное только что бы с телефона работало? Держать включенный комп не очень выгодно. А телефон намного проще и экономичнее выходит
Смотря сколько для вас нормальная партия, а дальше просто посчитать расход на время
А Unity не рассматривали для разработки игры? в 2018 году он был уже хорош
А будет такая подборка про кафку? Или может она уже есть?
А почему вы выбрали первую сигнатуру?
У вас есть какая-нибудь версия, почему могла такая коллизия сигнатур произойти?
Это получается можно свою домашнюю систему настроить так что бы она представлялась вирутальной машиной и теперь вирусы будут встрахе закрываться, что и антивирус можно не ставить =)
А что имеются ввижу за тулы? Это nmap?
и еще у вас в первой статье было слово заспавнить. Тоже интересно что это значит
OpenSSL это же всего лишь системная библиотека. Как её можно не правильно сконфигурировать?
Так у вас в LXC контейнеры тоже изначально пусты и туда нужно софт доставлять. Или вы что то другое имели ввиду?
Это бинарная последовательность соответсвует же
Почему тогда адрес относительно начала секции 0x00000000? Cудя по бинарю r_offset = 0x00000008
Попытался более подробно вникнуть и возникло пару вопросов, скорее всего потому что я дилетант в асемблере.
0xffffffffc10b3de8 — а почему такой большой офсет? вроде бы просто должно быть c10b3de8 судя по дампу
Вот тут не очень понятно откуда 0x79 взялось?
И самое главное непонятно почему в первый раз ф-ция отработала корректно? ведь при копировании ф-ции foo
у нас опять же смещение в RIP = RIP + offset будет неправильное