Модераторы: Poseidon

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Копированние и Реестер 
V
    Опции темы
ВоВеЦ
Дата 28.6.2006, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 20.4.2006

Репутация: нет
Всего: нет



Народ если не трудно подскажите, как сделать в Delphi чтоб программа копировала сама себе к примеру в папку windows, и прописавалась в ресстаре на автоматическую загрузку? 
PM MAIL   Вверх
Guedda
Дата 28.6.2006, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 6
Всего: 78



Цитата(ВоВеЦ @  28.6.2006,  16:16 Найти цитируемый пост)
Народ если не трудно подскажите, как сделать в Delphi чтоб программа копировала сама себе к примеру в папку windows, и прописавалась в ресстаре на автоматическую загрузку?  

Это явно вирус. Поэтому помогать тебе никто не будет.
Я помогу...
Копировать надо через TStream, а в реестр кидать через TRegistry
 


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
Yanis
Дата 28.6.2006, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 4
Всего: 111



Цитата(ВоВеЦ @  28.6.2006,  16:16 Найти цитируемый пост)
Народ если не трудно подскажите, как сделать в Delphi чтоб программа копировала сама себе к примеру в папку windows, и прописавалась в ресстаре на автоматическую загрузку?

Что за программу ты можешь написать для которой может понадобится, то что ты хочешь реализовать, если ты даже скопировать её не можешь!? Хотя копирование осуществляется с помощью всего лишь одной функции:
Код

CopyFile('c:\windows\notepad.exe', 'c:\windows\np.exe', False);

Этот код скопирует файл notepad.exe в папку windows, но с новым именем np.exe.

Добавлено @ 15:31 
Цитата(Guedda @  28.6.2006,  16:21 Найти цитируемый пост)
Копировать надо через TStream

smile 


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Guedda
Дата 28.6.2006, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 6
Всего: 78



Цитата(Yanis @  28.6.2006,  16:31 Найти цитируемый пост)
smile  

Ошибся... Со всеми бывает...
Но у меня была недавно история, что программа сама себя не скопировала, так как она была запущена... 


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
Yanis
Дата 28.6.2006, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 4
Всего: 111



Цитата(Guedda @  28.6.2006,  16:34 Найти цитируемый пост)
Ошибся... Со всеми бывает...

Да не то что бы ошибся, но имхо для мега вируса подойдёт и CopyFile smile 


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
ВоВеЦ
Дата 28.6.2006, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 20.4.2006

Репутация: нет
Всего: нет



Неа эт не вирус, что то пахожее на него, скорее это программа-прикол, c копированием понятно, за это спасибо, а вот с ресстором не очень(пример автозапуска блокната можете привести?), скажу по секрету, если вы ещё не поняли я новичок в делфи smile   
PM MAIL   Вверх
Guedda
Дата 28.6.2006, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 6
Всего: 78



Код

uses
  ..., Registry,...; //Необходимо подключить модуль Registry
//...
procedure RegisterToReestr;
var
  Reg : Tregistry;
begin
  Reg := TRegistry.Create;
  Reg.RootKey := HKEY_LOCAL_MACHINE;
  Reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', false);
  Reg.WriteString('YourProgramName', Application.ExeName); //Твоя программа будет автозапускаться...
  Reg.CloseKey;
  Reg.Free;
end;


Потом ставишь эту процедуру, куда хочешь, и всё замечательно smile

Добавлено @ 16:18 
Цитата(ВоВеЦ @  28.6.2006,  17:11 Найти цитируемый пост)
новичок в делфи

Учись... Но не на вирусах... 


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
ВоВеЦ
Дата 29.6.2006, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 20.4.2006

Репутация: нет
Всего: нет



Странно, когда компиллирую прогу(консольное приложенние) с кодом добовленния ключа в реестр, ошибок ни каких не возникает, но прога вылетает и в реестр ни чё недобовляется, без кода добавленния прога нормальна работает. В чём может быть проблема?

Цитата

Учись... Но не на вирусах... 


Блин да не вирус это)  smile  
PM MAIL   Вверх
Guedda
Дата 29.6.2006, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 6
Всего: 78



1) В консольном приложении необходимо параметр Application.ExeName заменить на полный адрес программы.
Например:
Код

Reg.WriteString('YourProgramName', 'C:\WINDOWS\system32\myprog.exe');


2) И вообще консольная программа не может знать, что такое TApplication (в простом варианте)...
А у тебя всё запускается... Может быть ты просто процедуру не вставляешь в главный код?

В общем, покажи, пожалуйста, весь исходный код проекта... 


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
ВоВеЦ
Дата 3.7.2006, 01:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 20.4.2006

Репутация: нет
Всего: нет



Извеняюсь за долгое отсутствие, жёсткий накрылся...

Вообщем вот весь код программы, компилируется, но не исполняется

Код

program prog;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  MMSystem,
  Windows,
  Registry,
  Forms;

procedure RegisterToReestr;

var
 OpenParm: TMCI_Open_Parms;
 GenParm: TMCI_Generic_Parms;
 SetParm: TMCI_Set_Parms;
 DI : Cardinal;
 OK : boolean;
 Reg : Tregistry;
begin
 CopyFile('c:\project2.exe', 'c:\windows\prikol.exe', False);
 OK:=false;
 OpenParm.lpstrDeviceType := 'CDAudio';
 repeat
  mciSendCommand(0, mci_Open, mci_Open_Type, Longint(@OpenParm));
  DI := OpenParm.wDeviceID;
  mciSendCommand(DI, mci_Set, mci_Set_Door_Open, Longint(@SetParm));
  mciSendCommand(DI, mci_Set, mci_Set_Door_Closed, Longint(@SetParm));
  mciSendCommand(DI, mci_Close, mci_Notify, Longint(@GenParm));
  sleep(5000)
 until OK;

begin
  Reg := TRegistry.Create;
  Reg.RootKey := HKEY_LOCAL_MACHINE;
  Reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', false);
  Reg.WriteString('prikol.exe', 'C:\WINDOWS\prikol.exe');//Твоя программа будет автозапускаться...
  Reg.CloseKey;
  Reg.Free;
  end;
 end;
end.
  

Это сообщение отредактировал(а) ВоВеЦ - 3.7.2006, 16:29
PM MAIL   Вверх
Friackazoid
Дата 3.7.2006, 08:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 148
Регистрация: 23.2.2006

Репутация: 1
Всего: 3



ВоВеЦ, 
вот тебе
и не говори мне потом спасибо smile 
 to all тренироваться на программах-приколах есть самое эффективное обучение. Потому что прикол хочеться сделать всегда качественно и корпеешь над его кодом как ни над чем. К тому же это интересно, я пока мне не показали пару веселых прог, программирование вообще презирала, а теперь могу сутками кодить не надоедает.
А программирование приколов позволяет легко и интересно изучать самые что ни на есть современные технологии.
Так что ИМХО именно таким людям помогать и надо, а не двоечникам с задачей про диагонльную матрицу. 
--------------------
Даже если тебя съели, то все равно есть два выхода.42Team блог
PM MAIL WWW ICQ GTalk   Вверх
ВоВеЦ
Дата 3.7.2006, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 20.4.2006

Репутация: нет
Всего: нет



Фриказоид я это всё в инете уже находил smile , в моём последнем посте(если этот не учитовать) я выкинул весь код проги-прикола, там похожая вставка ключа в реестр, каторая впринципе должна исполняться, но этого не происходит, вот в чём косяк... Может кто посмотрит исходники, и подровняет их?

ПИСИ: А на прогах-приколах хорошо учиться не только потому что это интерестно, а ещё потому, что они очень близко затрагивают WinAPI, так что Friackazoid я с табой полностью согласен smile  
PM MAIL   Вверх
Palladin
Дата 4.7.2006, 08:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 932
Регистрация: 15.5.2007
Где: Беларусь г.Гомель

Репутация: 3
Всего: 17



Слыш тут же вроде True должно быть smile 

Код

Reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', false);



А вообще я всегда так добавляю smile 


Код

procedure TForm1.FormCreate(Sender: TObject);
 var RegIni:TRegIniFile;
begin
.......................................
 RegIni:=TRegIniFile.Create('Software');
 RegIni.RootKey:=HKEY_LOCAL_MACHINE; 
 RegIni.OpenKey('Software', true);  
 RegIni.OpenKey('Microsoft', true); 
 RegIni.OpenKey('Windows', true);     
 RegIni.OpenKey('CurrentVersion', true);    
 RegIni.WriteString('Run', 'Prikol.exe',Application.ExeName);   
 RegIni.Free;        
........................................          
end; 


P.S. Тоже такими программками балуюсьsmile 

Это сообщение отредактировал(а) RooR - 4.7.2006, 08:36


--------------------
Глуп тот кто полагается на истину авторитета, а не на авторитет истины
[color=red]KAV&KIS==Evil[/color]
PM MAIL   Вверх
ВоВеЦ
Дата 6.7.2006, 00:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 20.4.2006

Репутация: нет
Всего: нет



RooR это для формы, а у меня консальное приложенние. Ну вы незнаете как мне помочь или просто нехотите? Может просто мне в другом варианте её исполнять, где можно написать такую прогу, чтоб при запуске не вылетало никаких окошек? 
PM MAIL   Вверх
Palladin
Дата 9.7.2006, 00:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 932
Регистрация: 15.5.2007
Где: Беларусь г.Гомель

Репутация: 3
Всего: 17



Если тебе прога нужна без "всяких окошек", то и делай программу без таковых!!!! Не создавай формы просто и всё, пиши свой "вирус":) без использования форм!!!!! Ещё для программ такого рода нужен минимальный размер, для этого поотключай не используемые в программе модули!!!плюс сожми екзешник какойнить прогой (чтонить типа AsPack)

P.S. Заметьте я не помогаю писать вирус, я слово вирус взял в ковычки, значит это слово подрозумевает что-то другое smile  smile  smile

Добавлено @ 00:11 
Темболее тебе мой код подходит у тебя Forms подключён 


--------------------
Глуп тот кто полагается на истину авторитета, а не на авторитет истины
[color=red]KAV&KIS==Evil[/color]
PM MAIL   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0553 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.