Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #95, НОЯБРЬ 2006 г.

Троян с синим зубом

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

Хакер, номер #095, стр. 095-138-3


- Использование класса RNotifier, который предоставляет простейший доступ к bluetooth устройствам, находящимся в радиусе действия. Его плюс в простоте реализации, минус в том, что нельзя фильтровать девайсы. Ведь нет же смысла посылать программу на мобильники, для которых она не предназначена, правда?

- Использование класса RHostResolver, предоставляющего большие возможности для взаимодействия с доступными bluetooth-девайсами.

В данном случае применим второй метод. Параметром конструкторов указанного класса является объект MBluetoothObserver, функции-члены которого нам предстоит определить самостоятельно.

Прототип его выглядит следующим образом:

class MBluetoothObserver

{

public:

virtual void ServerStartedL() = 0;

virtual void ConnectedL() = 0;

virtual void HandleErrorL(TInt aErrorCode) = 0;

virtual void DeviceFoundL(TInt aResult) = 0;

};

Назначения этих функций, думаю, понятны из их названий :). После реализации этих классов можно перейти непосредственно к созданию функционала, ответственного за посылку файла через bluetooth. Поиск девайсов осуществляем так:

void CXaTroj::FindRemoteDeviceL()

{

iDeviceSearcher = CBluetoothDeviceSearcher::NewL(*this);

iDeviceSelectionResponse = new (ELeave) TBTDeviceResponseParamsPckg();

iDeviceSearcher->SelectDeviceL(*iDeviceSelectionResponse);

}

Вызов этой функции можно добавить в реализацию TimerCallBack, о которой говорилось выше. Для более полной картины смотри исходник.

В результате программа каждые полчаса будет пытаться рассылать свою копию на доступные устройства при условии, что bluetooth на смартфоне жертвы включен. Поэтому, чтобы пользователь пораженного устройства не удивлялся аварийному закрытию какой-то непонятной программы, нужно реализовать обработку ошибки соединения.

Кому патрон?

Прога запустится на всех смартфонах 60-й серии всех версий, кроме 3.0. Разработчики девятой версии Symbian несколько подпортили хакерам жизнь, пойдя на бескомпромиссный шаг ради обеспечения безопасности пользователей. Весь софт, написанный для более ранних версий Symbian (6.1, 7.0, 8.0), не будет работать на новых мобилках. Можно, конечно, перекомпилировать существующий код с использованием SDK 3.0, но новая система контроля девятой Symbian обязательно напишет пользователю, какие API использует наша программа! Представь себе такую ситуацию: пользователь устанавливает наш файловый менеджер, а телефон ему сообщает, что этот самый файловый менеджер использует функции для отправки sms! Если пользователь не идиот (правда, многие пользователи являются идиотами :). – Прим. редактора), он отменит установку. Кроме того, по умолчанию новые смарты могут устанавливать только symbian-signed ПО, которое проходит проверку. Подробнее об этом можешь прочитать на форуме http://www.club60.org.

Назад на стр. 095-138-2  Содержание  Вперед на стр. 095-138-4