Здравствуйте господа тунеядцы и разбойники! =)
Сегодня мы с вами поговорим о вещице довольно новой и интересной без которой современному уважающему себя ксакепу не обойтись! =)
А именно о ДжиИИИИнах =) нет-нет, не о тех которые живут в лампах олигархов на ближнем востоке.
Jinn если кто ещё не знает это такая програмулина которая работает в связке с другой програмулиной и выполняет ваши пожелания.
В качестве второй програмулины мы возьмём SMSER.
А точнее в качестве Первой... потому что именно SMSER будет у нас всем руководить а джинн будет выполнять его прихоти.
Находится она здесь
http://SMSER.mobi
SMSER это програмка приёмник SMS сообщений...
С её помощью можно отправить себе на компьютер любое SMS сообщение с вашего телефона.
Принцип такой вы скачиваете её себе на компьютер и регистрируетесь!
После регистрации у вас будет свой ID и KEY
ЧТобы отправить SMS себе на компьютер нужно написать:
SMSER 1000:1234 блаблабла
- вместо 1000 ваш ID
- вместо 1234 ваш KEY
и оправить это на номер 1141
Тут вроде всё просто всё понятно...
Но нам то нужно не блаблабла отправлять а команды для нашего джинна.
Вот и пришла очередь написать свой jinn который будет выполнять наши команды когда мы отправим SMS сообщение.
На элементарном примере мы рассмотрим как можно отправить SMS и открыть/закрыть CD.
Итак берём Delphi
Код:
procedure Send(Target: Hwnd; Text: PChar);
var
xData: TCopyDataStruct;
begin
xData.cbData:=Length(Text)+1;
xData.lpData:=Text;
SendMessage(Target,WM_COPYDATA,0,LParam(@xData));
end;
procedure TForm1.FormCreate(Sender: TObject);
var
SMSER: Integer;
Prefix, Command: String;
begin
if AnsiLowerCase(ParamStr(1))='jinn' then
begin
SMSER:=StrToInt(ParamStr(2));
Prefix:=Copy(ParamStr(3),0,Pos('#',ParamStr(3)));
Command:=Copy(ParamStr(3),Pos('#',ParamStr(3))+1,Length(ParamStr(3)));
if AnsiLowerCase(Command)='ocd' then
begin
Send(SMSER,PChar(Prefix+'Врага оттолкнул! иду по приборам! =)' );
mciSendString('Set cdaudio door open wait', nil, 0, 0); // Открываем CD
end;
if AnsiLowerCase(Command)='ccd' then
begin
Send(SMSER,PChar(Prefix+'Гаубица заряжена! =)' );
mciSendString('Set cdaudio door closed wait', nil, 0, 0); // Закрываем CD
end;
Halt;
end;
end;
Не забудьте добавить в uses MMSystem
Схема такая... по сути Джинн это обычный файл который запускается с 3 параметрами.
Главной его целью является получение и выполнение команды с ответом отправителю.
test.exe jinn 12345 z#ocd
1) указатель - jinn
2) хэндл отправителя - 12345 (SMSER)
3) команда для Джинна - z#ocd
Джинн должен проверить есть ли указатель jinn если он есть то джинн начинает свою работу...
Джинн получает хэндл отправителя и копирует его в переменную чтобы в дальнейшем отправить на него ответ.
Далее Джинн приступает к обработке команды он делит её на 2 части префикс z# и собственно саму команду ocd.
Затем Джинн выполняет команду ocd - Открытие CD после чего Джинн составляет ответ из префикса z# + сообщение 'Врага оттолкнул! иду по приборам! =)' и отправляет это на хэндл 12345 (SMSER)
Далее это сообщение уже получает наш SMSER и отправляет его нам на телефон! =)
Всё просто! Осталось только подключить наш джинн к SMSER(у).
Открываем в SMSER(е) Конфигуратор и жмём Добавить, указываем путь к нашему файлу и ставим для нашего джинна префикс z#
Готово! =) теперь, когда мы отправим на номер 1141
SMSER 1000:1234 z#ocd
CD откроется и нам на телефон придёт SMS: 'Врага оттолкнул! иду по приборам! =)'
Чтобы закрыть CD нужно отправить SMSER 1000:1234 z#сcd
Разумеется это всего лишь пример!
Всегда можно придумать что-нибудь более полезное и интересное =)
Например, экстренную удалялку секретных файлов на тот случай если доступ к компьютеру получил злоумышленник а вас рядом нет.
И многое-многое другое =)
Автор: Geek
E-mail: geek@smser.mobi
Скачать: jinn.zip (6 Кб)