Клейкий софт Skylord (sky_lord@mail.ru) Xakep, номер #065, стр. 065-044-1 Утилиты для сращивания исполняемых файлов Программы, позволяющие склеить несколько exe’шников в один аккуратный исполняемый файл, в нормальные каталоги ПО обычно не попадают. Однако у людей продвинутых потребность в подобного рода инструментах возникает довольно часто. Кому-то нужно подклеить трояна к «новому классному» флеш-мультику, кто-то захочет внедрить прогу-западлянку в Excel.exe любимого бухгалтера. Неважно! Главное – этот софт действительно необходим, а информации о нем в инете мало. Что ж, именно этот недостаток информации мы сегодня и постараемся восполнить. С ЧЕГО НАЧИНАЕТСЯ BACKDOOR С приаттаченного к письму файла, со слитой из инета проги, а зачастую - с дискеты (флешки или CD-RW) лучшего друга. Вопрос ненадежности лучших друзей выходит за рамки этой статьи, а вот чем маскируют добрые проги для управления чужими тачками или мирных троянчиков, посылающих пароли с компа жертвы, - это вопрос особый. Конечно, существует классический Joiner by Blade, соединяющий два EXE-файла в один так, чтобы при запуске этот файл в свою очередь запускал обе интегрированные в него проги. Но, к сожалению, кроме "сшивания" пары файлов, делать Joiner больше ничего не умел, а по нынешним временам этого маловато будет... Что же требуется от современного джойнера? Во-первых, умение склеивать любые файлы, раскладывать их при запуске по заданным папкам, а затем запускать необходимые. Во-вторых, как можно меньший размер делающего всю "черную работу" загрузчика (не слишком-то весело, когда в результате соединения двух прог по 10 Кб на свет появляется здоровенный стокилобайтный монстр). В-третьих, никогда не помешают всякие мелкие приятности, вроде встроенного средства смены иконки exe’шника, функции сохранения файлов на удаленном компе под другим именем или автоматического добавления нужного файла в автозагрузку... Но это все мелочи, самое главное - чтобы программа не определялась современными антивирусами! Кому нужен джойнер, на результат работы которого орут все DrWeb'ы и Касперские хором? Вот и получается, что из целой толпы разных blinder’ов и joiner’ов мне удалось отобрать лишь пару-тройку и в самом деле стоящих прог. ВВЕДЕНИЕ В АНАТОМИЮ Работают все джойнеры одинаково - загрузчик (размером где-то с десяток килобайт) распаковывает из exe'шника все остальные файлы, складывает их в заданный каталог и уже оттуда выполняет. Увы, запустить нужные вещи без выкладывания их на диск прямо из памяти нельзя - сказываются ограничения Windows (а если конкретнее - функции CreateProcess). Из-за этого, кстати, зачастую возникает небольшая задержка между двойным кликом на exe'шник и запуском первой проги, "прикрывающей" все, что происходит в фоне... Что же касается внутреннего устройства получаемых "наборов", то тут вариаций может быть много. К примеру, у SuperGlue в файле лежат три секции - pec1, которая и является загрузчиком, и две .rsrc, где, однако, нет самих приклеенных файлов (они "пришпилены" в конце и, если не выбирать в программе их шифровку, лежат совершенно открыто у всех на виду). В итоге инфа из PE-заголовка о размере программы не совпадает с фактическим размером... Примерно такая же ситуация с MicroJoiner'ом - размеры прописаны правильно, но название секции "coban2k!" намекает на то, что не все так просто. А вот у Juntador'а внутри все красиво - не хуже чем в любой "порядочной" софтине. |