Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Наконец, X-код не может позволить себе задерживать управление более чем на несколько сотых, ну от силы десятых долей секунд, в противном случае факт внедрения станет слишком заметным и будет сильно нервировать пользователя, чего допускать ни в коем случае нельзя.
Внедрение
Перед внедрением в файл необходимо убедиться, что он не является драйвером, не содержит нестандартных таблиц в DATA DIRECTORY и доступен для модификации. Присутствие оверлеев крайне нежелательно, и без особой необходимости в оверлейный файл лучше ничего не внедрять, а если и внедрять, то придерживаться наиболее безболезненной стратегии внедрения – стратегии А (см. раздел «Классификация механизмов внедрения»).
Ниже все эти требования разобраны подробнее:
n если файл расположен на носителе, защищенном от записи, или у нас недостаточно прав для его записи/чтения (например, файл заблокирован другим процессом), отказываемся от внедрения;
n если файл имеет атрибут, запрещающий модификацию, либо снимаем этот атрибут, либо отказываемся от внедрения;
n если поле Subsystem > 2h или Subsystem < 3h, отказываемся от внедрения;
n если FA < 200h или SA < 1000h – это, вероятнее всего, драйвер, и в него лучше ничего не внедрять;
n если файл импортирует одну или несколько функций из hal.dll и/или ntoskrnl.exe, отказываемся от внедрения;
n если файл содержит секцию INIT, он, возможно, является драйвером устройства, а возможно, и нет, но без особой нужды лучше сюда ничего не внедрять;
n если DATA DIRECTORY содержит ссылки на таблицы, использующие физическую адресацию, либо отказываемся от внедрения, либо принимаем на себя обязательства корректно «распотрошить» всю иерархию структур данных и скорректировать физические адреса;
n если ALIGN_UP(LS.r_off + LS.r_sz, A) > SizeOfFile, файл скорее всего содержит оверлей, и внедряться в него можно только по методу А;
n если физический размер одной или нескольких секций превышает виртуальный на величину большую или равную FA и при этом виртуальный размер не равен нулю, подопытный файл содержит оверлей, допуская тем самым использовать внедрения только типа А.