Создание своей собственной секции
Наиболее честный (читай– "корректный") и наименее скрытный способ внедрения в файл состоит в создании своей собственной секции (сегмента), а то и двух секций – для кода и для данных соответственно. Разместить такую секцию можно где угодно. Хоть в начале файла, хоть в конце (вариант внедрения в сегмент с раздвижкой соседних секций мы уже рассматривали выше).
Name Start End Align Base Type Class 32 es ss ds fs gs
.init 08000910 08000918 para 0001 publ CODE Y FFFF FFFF 0006 FFFF FFFF
.plt 08000918 08000B58 dword 0002 publ CODE Y FFFF FFFF 0006 FFFF FFFF
.text 08000B60 080021A4 para 0003 publ CODE Y FFFF FFFF 0006 FFFF FFFF
.fini 080021B0 080021B8 para 0004 publ CODE Y FFFF FFFF 0006 FFFF FFFF
.rodata 080021B8 0800295B byte 0005 publ CONST Y FFFF FFFF 0006 FFFF FFFF
.data 0800295C 08002A08 dword 0006 publ DATA Y FFFF FFFF 0006 FFFF FFFF
.ctors 08002A08 08002A10 dword 0007 publ DATA Y FFFF FFFF 0006 FFFF FFFF
.dtors 08002A10 08002A18 dword 0008 publ DATA Y FFFF FFFF 0006 FFFF FFFF
.got 08002A18 08002AB0 dword 0009 publ DATA Y FFFF FFFF 0006 FFFF FFFF
.bss 08002B38 08013CC8 qword 000A publ BSS Y FFFF FFFF 0006 FFFF FFFF
.data1 08013CC8 08014CC8 qword 000A publ DATA Y FFFF FFFF 0006 FFFF FFFF
Листинг 12 карта файла, зараженного вирусом, внедряющимся в собственноручно созданную секцию и этим себя демаскирующим (подробнее об этом рассказывалось в предыдущей статье этого цикла "борьба с вирусами – опыт контртеррористических операций")