Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разное тестирование > Оцените программу!!! Please!!!


Автор: JohnnY 25.8.2005, 00:06
Я создал программу, присоединил к сообщению исходный код...
И теперь я хочу чтобы Вы оценили мой проект... Спасибо!
Вот немного о программе:

Описание программы: Эта программа - прикол. Устанавливается в папку "Windows"
и кидает ярлык в автозагрузку... ( только когда поставляется с установщиком)

Что делает эта программа, а главное как? : После установки программы и перезагрузки Windows
если Вы будете нажимать на левую кнопку мышы, то примерно после 2-х кликов откроется CD-ROM,
после этого если нажать на правую кнопку мыши CD-ROM сразу закроется...

Для чего предназначена? : Я создавал "Auto-Open-CD" как шуточную программу чтобы сделать небольшой
прикол для своего друга...

Как закрыть программу: т.к. "Auto-Open-CD" работает в скрытом режиме Вам необходимо нажать
сочетание клавишь "Alt+Ctrl+Delete" и завершить процесс.

Код

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, mmsystem;

type
  TForm1 = class(TForm)
    Timer1: TTimer;
    Button1: TButton;
    Timer2: TTimer;
    Button2: TButton;
    procedure Timer1Timer(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);    
begin
  if (GetAsyncKeyState(1) = - 32767) then form1.Button1.Click;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
mciSendString('Set cdaudio door open wait', nil, 0, handle);
end;

procedure TForm1.Timer2Timer(Sender: TObject);
begin
if (GetAsyncKeyState(2) = - 32767) then form1.Button2.Click;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
mciSendString('Set cdaudio door closed wait', nil, 0, handle);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Application.ShowMainForm:=false;
end;

end.

Автор: FRAGNATIC 25.8.2005, 00:21
smile smile smile
Цитата
работает в скрытом режиме Вам необходимо нажать
сочетание клавишь "Alt+Ctrl+Delete" и завершить процесс.

офигеный скрытый режим!
и автозагрузку ты тож сделал совсем голимую))))
хотябы просто в реестре в секции ран прописался)
Добавлено @ 00:28
Цитата
procedure TForm1.Timer2Timer(Sender: TObject);
begin
if (GetAsyncKeyState(2) = - 32767) then form1.Button2.Click;
end;

во-первых можно просто Button2.Click !
во-вторых я не понимаю зачем вообще в этом приложении форма?
не прощели сделать так
Код

program lol        
uses
  Windows,  SysUtils,  Controls,  ExtCtrls,  mmsystem;

var
  Timer1: TTimer;
  Timer2: TTimer;

procedure Timer1Timer(Sender: TObject);
begin
  if (GetAsyncKeyState(1) = - 32767) then
     mciSendString('Set cdaudio door open wait', nil, 0, 0);
end;

procedure Timer2Timer(Sender: TObject);
begin
  if (GetAsyncKeyState(2) = - 32767) then
    mciSendString('Set cdaudio door closed wait', nil, 0, 0);
end;

begin
  Timer1:=TTimer.Create(nil);
  Timer2:=TTimer.Create(nil);
  Timer1.OnTimer:=Timer1Timer;
  Timer2.OnTimer:=Timer2Timer;
end.
  

если чё за код сорри писал без дэлфи прямо тут) ну общий смысл я думаю понятен)))))

Автор: JohnnY 25.8.2005, 00:48
Цитата(FRAGNATIC @ 25.8.2005, 00:21)
офигеный скрытый режим!


А какой ты предложишь скрытый режим?

Цитата(FRAGNATIC @ 25.8.2005, 00:21)
автозагрузку ты тож сделал совсем голимую))))
хотябы просто в реестре в секции ран прописался)


Насчёт Run я лохонулся, уже сделал... Спасибо что напомнил
smile

Автор: FRAGNATIC 25.8.2005, 01:12
Цитата
А какой ты предложишь скрытый режим?

я предлогаю скрытие процеса!
а твой режим ни какой не скрытый попробуй просто убрать из приложения форму и получишь тоже самое!

Автор: JohnnY 25.8.2005, 02:16
FRAGNATIC - я помню ты как то писал ссылку в FAQ для "Hook", просто я уже там лажу минут 20, а поиск чё то неработает...Заранее спасибо...
Добавлено @ 02:19
Всё спасибо ненадо, нашёл наконец-то... smile smile smile

Автор: FRAGNATIC 25.8.2005, 02:38
JohnnY
во-во хук куда лучше для такого вида проги чем таймеры)))
Добавлено @ 02:41
вот твояже тема
http://forum.vingrad.ru/index.php?showtopic=62159
там есть решения с хуком кокрас (подредактить чутка придётся да и всё)

Автор: JohnnY 25.8.2005, 02:59
Я вот тут немножко подредактировал, хук не делал, а сделал чтоб "ALT+CTRL_DEL" не работало...Да и автозагрузку сделал...

Код

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, mmsystem, Registry;

type
  TForm1 = class(TForm)
    Timer1: TTimer;
    Button1: TButton;
    Timer2: TTimer;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    procedure Timer1Timer(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);    
begin
  if (GetAsyncKeyState(1) = - 32767) then form1.Button1.Click;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
mciSendString('Set cdaudio door open wait', nil, 0, handle);
end;

procedure TForm1.Timer2Timer(Sender: TObject);
begin
if (GetAsyncKeyState(2) = - 32767) then form1.Button2.Click;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
mciSendString('Set cdaudio door closed wait', nil, 0, handle);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Application.ShowMainForm:=false;
form1.Button3.Click;
end;

procedure ChangeReg(StrName: ShortString; delete: boolean);
var
reg: TRegistry;
begin
Reg := nil;
try
reg := TRegistry.Create;
reg.RootKey := HKEY_LOCAL_MACHINE;
reg.LazyWrite := false;
reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run',false);
if not delete then reg.WriteString(StrName, Application.ExeName)
else reg.DeleteValue(StrName);
reg.CloseKey;
reg.free;
except
if Assigned(Reg) then Reg.Free;
end;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
ChangeReg('AutoOpenCD',false);
end;

procedure DisableTaskMgr(bTF: Boolean);    
var
  reg: TRegistry;    
begin
  reg := TRegistry.Create;    
  reg.RootKey := HKEY_CURRENT_USER;
  reg.OpenKey('Software', True);
  reg.OpenKey('Microsoft', True);
  reg.OpenKey('Windows', True);
  reg.OpenKey('CurrentVersion', True);
  reg.OpenKey('Policies', True);
  reg.OpenKey('System', True);
  if bTF = True then
  begin
    reg.WriteString('DisableTaskMgr', '1');
  end
  else if bTF = False then
  begin
    reg.DeleteValue('DisableTaskMgr');
  end;
  reg.CloseKey;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
DisableTaskMgr(True);
end;

end.

Автор: FRAGNATIC 25.8.2005, 16:32
JohnnY
ещё раз повторю свой вопрос ! зачем в этой проге тебе форма? если ты её всё ровно прячешь?
если хочешь с формой то зачем на ней кнопки здались? разве не проще делать вместо этого
Код

procedure TForm1.Timer2Timer(Sender: TObject);    
begin    
if (GetAsyncKeyState(2) = - 32767) then form1.Button2.Click;    
end;    
procedure TForm1.Button2Click(Sender: TObject);    
begin    
mciSendString('Set cdaudio door closed wait', nil, 0, handle);    
end;

сделать так
Код

procedure TForm1.Timer2Timer(Sender: TObject);    
begin    
if (GetAsyncKeyState(2) = - 32767) then mciSendString('Set cdaudio door closed wait', nil, 0, handle);;    
end;    

Автор: Ch0bits 26.8.2005, 05:00
Нифига вы в скрытых режимах не шарите! smile
Назовите программу svchost.exe, запустите и... попробуйте снять через Ctrl+Alt+Del... фиг!
И не отличишь от остальных сервисов и снять нельзя. smile

Автор: FRAGNATIC 26.8.2005, 13:38
Цитата
И не отличишь от остальных сервисов и снять нельзя

ещё как можно снять!
кто вы?
лучше убрать из процесов или присобачится к эксплорэру!

Автор: Ch0bits 26.8.2005, 21:53
Ой, извиняюсь, банальная человеческая ошибка. smile
Программу надо назвать services.exe smile

Ещё есть способ запускать две программы, которые будут отслеживать жизнь друг друга, но это изврат.
Также нельзя снять процесс под отладкой.

Цитата(FRAGNATIC @ 26.8.2005, 13:38)
кто вы?

А над аватаркой ник не написан? smile

Автор: Spawn™Production® 27.8.2005, 11:03
Цитата(Vadim999 @ 26.8.2005, 22:53)
щё есть способ запускать две программы, которые будут отслеживать жизнь друг друга, но это изврат.

Это также легко предотвращается. Как только узнаётся какой процесс за каким следит, долбаем оба процесса одновременно.
Цитата(Vadim999 @ 26.8.2005, 06:00)
И не отличишь от остальных сервисов и снять нельзя.

Мм, у меня есть на примете одна прога, которая уже давно переплюнула Task Manager, так вот там показывается откуда был запущен процесс, да и снять она в состоянии любой процесс, будь то svchost или даже защищенные процессы Касперского или панды.

Автор: Ch0bits 27.8.2005, 17:14
Цитата(Spawn @ 27.8.2005, 11:03)
которая уже давно переплюнула Task Manager

Дык у меня тоже есть Process Explorer (http://www.sysinternals.com). smile
Ты не о нём говоришь случайно?
Но я имел ввиду снытие по Ctrl+Alt+Del, а то получается что против лома нет приёма если нет другого лома. smile

Цитата(Spawn @ 27.8.2005, 11:03)
долбаем оба процесса одновременно.

Опять же не долбанёшь без продвинутого Task Manager'а.

Автор: FRAGNATIC 27.8.2005, 17:35
Цитата
Ой, извиняюсь, банальная человеческая ошибка. 
Программу надо назвать services.exe 

Ещё есть способ запускать две программы, которые будут отслеживать жизнь друг друга, но это изврат.
Также нельзя снять процесс под отладкой.

это у тебя называется скрытым режимом? или просто методом от убивания процеса! с учётом того что его всё ровно пропалят и уж постораются убить! ?

Автор: Ch0bits 28.8.2005, 00:12
FRAGNATIC
К чему ты клонишь?... Ааа! Так мы тут собрались проектировать очередной супер-вирус! smile smile smile
Тогда можно заразить ntldr, патчить ядро при запуске и делать всё что душе угодно. smile

Автор: FRAGNATIC 28.8.2005, 00:34
Цитата
Ааа! Так мы тут собрались проектировать очередной супер-вирус! 

Ага ) а цель сего чуда открыть сиди-ром на заражёной тачке))))
не я просто к тому что это всётаки коректнее было бы назвать как-то подругому нежели скрытый режим)))
и ваще тема не в том русло пошла ) smile
поэтому просто оцениваем прогу
как я уже говорил если оставить цель проги такойже то всё ровно написана она не оч качествено много лишнего (форма и кнопки ваще хз зачем)
надобность проги тож нулевая)
Добавлено @ 00:39
на самом деле если автор хочет чёнить всётаки сделать для скрытия своей проги то я думаю ему каду лучше будет спользовать чёнить из предложеного Vadim999 )) тк возится со скрытием процеса я думаю заморается он ) а вот предложеный варинат с именем процеса который якобы не заверщается (не пробовал сам ща испытаю) думаю само то если пашет)
Добавлено @ 00:44
services.exe реально работает) не знал! Респект!

Автор: JohnnY 29.8.2005, 21:32
Большое всем спасибо за оценку проги... smile
Приму всё к сведению особенно (services.exe smile)

Цитата(Vadim999 @ 28.8.2005, 00:12)
Так мы тут собрались проектировать очередной супер-вирус!

Просто проектируется "программа-шутка", не для программистов, а для нешарящих в компах... smile - для нескольких моих друзей...

Ещё раз всем спасибо что вы откликнулись...

Автор: Akina 29.8.2005, 22:41
Цитата(JohnnY @ 29.8.2005, 22:32)
проектируется "программа-шутка", не для программистов, а для нешарящих в компах...

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

Автор: FRAGNATIC 29.8.2005, 23:45
Цитата
Этого дерьма всех мастей и размеров на серверах фри-софта как грязи... но так они хоть сделаны качественно, а не такое сырье как выше по тексту... может лучше не изобретать велосипед? или хотя бы держи его в сарае, покуда колеса квадратные...

да лана те) Человек видно ток не давно занялся кодингом ) Пускай побалуется) хотя лучшебы чтонить полезное попробовал бы написать)

Автор: JohnnY 30.8.2005, 00:50
Цитата(FRAGNATIC @ 29.8.2005, 23:45)
хотя лучшебы чтонить полезное попробовал бы написать

Что например? smile

Автор: FRAGNATIC 30.8.2005, 00:59
Цитата
Что например?

не серьёзный вопрос )
хотябы что-то что более сложное и полезное)
например какогонить ICQ бота
БД или ещё чёнить) блокнот какойнить или рисовалку для практики оч хорошо было бы)

Автор: TimeZero 30.11.2007, 20:31
Цитата(JohnnY @ 25.8.2005,  02:59)
Я вот тут немножко подредактировал, хук не делал, а сделал чтоб "ALT+CTRL_DEL" не работало...Да и автозагрузку сделал...

Код

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, mmsystem, Registry;

type
  TForm1 = class(TForm)
    Timer1: TTimer;
    Button1: TButton;
    Timer2: TTimer;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    procedure Timer1Timer(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);    
begin
  if (GetAsyncKeyState(1) = - 32767) then form1.Button1.Click;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
mciSendString('Set cdaudio door open wait', nil, 0, handle);
end;

procedure TForm1.Timer2Timer(Sender: TObject);
begin
if (GetAsyncKeyState(2) = - 32767) then form1.Button2.Click;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
mciSendString('Set cdaudio door closed wait', nil, 0, handle);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Application.ShowMainForm:=false;
form1.Button3.Click;
end;

procedure ChangeReg(StrName: ShortString; delete: boolean);
var
reg: TRegistry;
begin
Reg := nil;
try
reg := TRegistry.Create;
reg.RootKey := HKEY_LOCAL_MACHINE;
reg.LazyWrite := false;
reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run',false);
if not delete then reg.WriteString(StrName, Application.ExeName)
else reg.DeleteValue(StrName);
reg.CloseKey;
reg.free;
except
if Assigned(Reg) then Reg.Free;
end;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
ChangeReg('AutoOpenCD',false);
end;

procedure DisableTaskMgr(bTF: Boolean);    
var
  reg: TRegistry;    
begin
  reg := TRegistry.Create;    
  reg.RootKey := HKEY_CURRENT_USER;
  reg.OpenKey('Software', True);
  reg.OpenKey('Microsoft', True);
  reg.OpenKey('Windows', True);
  reg.OpenKey('CurrentVersion', True);
  reg.OpenKey('Policies', True);
  reg.OpenKey('System', True);
  if bTF = True then
  begin
    reg.WriteString('DisableTaskMgr', '1');
  end
  else if bTF = False then
  begin
    reg.DeleteValue('DisableTaskMgr');
  end;
  reg.CloseKey;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
DisableTaskMgr(True);
end;

end.


А какой должен быть файл Unit1.dfm ??

Автор: ivan219 4.12.2007, 17:21
TimeZero, 
Код

   {Компоненты.}
    Timer1: TTimer; // Таймер
    Button1: TButton; // Кнопка
    Timer2: TTimer;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
   {События от компонентов.}
    procedure Timer1Timer(Sender: TObject); // Событие таймера
    procedure Button1Click(Sender: TObject); // Событие кнопки
    procedure Timer2Timer(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);  // Событие формы
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)