Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
n если Image Base < 1.00.00h и перемещаемых элементов нет, отказываемся от внедрения;
n если Image Base <= 40.00.00h и перемещаемых элементов нет, лучше отказаться от внедрения, т.к. файл не сможет запускаться в Windows 9x;
n внедряем 1.00.00h байт в заголовок по методу, описанному в разделе «Раздвижка заголовка», оформляя все 1.00.00h байта как оверлей (т.е. оставляя SizeOf Headers неизменным), а если это невозможно, отказываемся от внедрения;
n уменьшаем FS.v_a и FS.r_off на 1.00.00h;
n увеличиваем FS.r_sz на 1.00.00h;
n если FS.v_sz не равен нулю, увеличиваем его на 1.00.00h;
n увеличиваем виртуальные адреса всех секций, кроме первой, на 1.00.00h;
n анализируем все служебные структуры, перечисленные в DATA DIRECTORY (таблицы экспорта, импорта, перемещаемых элементов и т. д.), увеличивая все RVA-ссылки на 1.00.00h;
n внедряем X-код в начало кодовой секции от FS.r_off до FS.r_off + 1.00.00;
n пересчитываем Image Size.
Типовой алгоритм внедрения путем переноса западной границы первой секции, выглядит так:
n считываем PE-заголовок;
n если OA < 2000h лучше отказаться от внедрения, т.к. файл будет неработоспособен на Windows 9x, но если мы все-таки хотим внедриться, то:
n устанавливаем FA и OA равными 20h;
n для каждой секции: если NS.v_a – CS.v_a – CS.v_sz > 20h, подтягиваем CS.v_sz к NS.v_a – CS.v_a;
n для каждой секции: если v_sz > r_sz, увеличиваем длину секции на v_sz – r_sz байт, перемещая все остальные в физическом образе и страничном имидже;