Большой брат для мобилы Дмитрий «Zhir» Тарасов Хакер, номер #103, стр. 103-116-2 Прячем от глаз Перед хакером, желающим впарить гадость, часто стоит проблема: как заставить юзера установить вредоносную программу так, чтобы тот ничего не заподозрил? Недавно в Сети появился троян, который рассылал платные sms на короткий номер. Его распространяли следующим образом. На сайте dimonvideo.ru (кстати, привет авторам этого нехорошего ресурса, с вас ящик пива за пиар) есть раздел, куда пользователи могут выкладывать программки для всеобщего обозрения. Так вот, автор троя выдавал свою шнягу за какую-то полезную софтину, немало заработав на этом деле, поскольку программа при запуске первым делом отправляла sms стоимостью в 100 рублей. Понятное дело, что юзер, заметив, что программка, мягко говоря, не та, за которую себя выдает, сносил эту гадость. Однако в тайных подземельях злокодеров есть способ и получше: зашить нехорошую программу в работоспособную и полезную софтину. Пусть пользователь радуется, что скачал крутой файловый менеджер, не подозревая, что в него зашита программка, которая за ним следит. Рассмотрим, как именно плохие люди это делают. За сборку приложения в инсталляционный файл, как ты знаешь, отвечает *.pkg – файл, в котором прописывается, какие файлы и куда должны быть помещены на мобиле в момент установки программы. Так вот, в этот файл можно добавить следующую строку: @"eFileMan.sis",(0x101F4284) Это означает, что в текущую инсталляцию будет включен файл eFileMan.sis, который во время сборки находится у тебя там же, где и конфиг. 0x101F4284 – это UID подключаемого приложения, который можно узнать, запустив программу SIS Xplode, показывающую UID любого приложения под Symbian. Теперь, после создания сборки, можешь смело переименовывать ее из какого-нибудь там megaTroy.sis в eFileMan.sis, и юзер будет уверен, что устанавливает файловый менеджер, как во время, так и после установки, поскольку пресловутый eFileMan также установится и будет отображаться в меню приложения. Если же пользователь захочет удалить eFileMan, он без труда сможет это сделать, оставив в сохранности зловредную программу. Далее, хакеры обычно скрывают шпионскую программу от глаз пользователя. Для этого нужно модифицировать файл информации о приложении, хранящийся в папке AIF и имеющий имя вида OurMegaAppaif.rss. Делается это следующим образом: RESOURCE AIF_DATA { app_uid=0x0871aba4; //уникальный идентификатор приложения ... hidden = KAppIsHidden; //прячем иконку } Вот и все, иконка приложения из меню смартфона бесследно исчезла. После этого программисты переопределяют виртуальную функцию UpdateTaskNameL класса AppUi, которая отвечает за отображение приложения в тасклисте. Для этого они добавляют в заголовочный файл документа в объявление класса Document строку: virtual void UpdateTaskNameL(CApaWindowGroupName* aWgName); После этого в реализацию класса документа они вставляют: void CXaSMSDocument::UpdateTaskNameL(CApaWindowGroupName* aWgName) // конструкция :: играет роль namespace { CAknDocument::UpdateTaskNameL(aWgName); //вызывается системная функция UpdateTaskNameL |