Osaisiko kukaan kertoa,kuinka tehdään itsetuhoutuva tiedosto?Tai onko siihen olemassa jotain valmiita ohjelmia?
-Juha-
-Juha-
Turvaa tilisi vahvistamalla puhelinnumerosi. Voit silloin palauttaa unohtuneen salasanan tekstiviestillä.
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 10
Vanhimmat
Tiedosto itsessään ei voi tuhoutua automaattisesti. Jonkun pitää se tuhota. Jos tiedosto tuhoaa itse itsensä, niin mulle ei muuta tule mieleen kuin ajettava tiedosto. Ei-ajettavia ei pysty itsestään tuhoamaan ilman jotain ohjelmaa tai ajastusta tai käyttiksen ym. palvelua. Korjatkaa jos olen väärässä.
Ja ainahan voi ohjelmatiedostolta poistaa kirjoitusoikeudet, niin ei edes root pysty poistamaan sitä.
root voi poistaa vaikka rivikäyttäjä tekisi mitä
ennen kuin chmogaa itselleen kirjoitusoikeudet tiedostoon.
tasan voi:
[punikki@foobar punikki]$ ls -l
total 2
-rw-r--r-- 1 punikki punikki 9 Jun 3 01:00 foo
drwx------ 2 punikki punikki 1024 Jun 3 00:59 tmp/
[punikki@foobar punikki]$ chmod 000 foo
[punikki@foobar punikki]$ ls -l
total 2
---------- 1 punikki punikki 9 Jun 3 01:00 foo
drwx------ 2 punikki punikki 1024 Jun 3 00:59 tmp/
[punikki@foobar punikki]$ su
Password:
[root@foobar punikki]# ls -l
total 2
---------- 1 punikki punikki 9 Jun 3 01:00 foo
drwx------ 2 punikki punikki 1024 Jun 3 00:59 tmp/
[root@foobar punikki]# rm -f foo
[root@foobar punikki]# ls -l
total 1
drwx------ 2 punikki punikki 1024 Jun 3 00:59 tmp/
[root@foobar punikki]#
Mielestäni itsetuhoutuvan tiedoston voi tehdä, jos itse tekee ajettavan ohjelman joka vaikka tulostaa ruuttuun jotain ja sen jälkeen poistaa itsensä, mutta en ole kyllä käytännössä kokeillut, mutta periaatteessa mahdollista. Ja voi kait olla esim skripti joka aukeisee ruuttuun tekstitiedoston, mutta poistaa sen jälkeen tiedoston kun se on ruutuun pistetty. Mutta esim ainakaan kaikissa windowsin versioissa, windows ei anna kirjoittaa tiedostoon jos se on käynnissä. Riippuu täysin siitä mikä käyttis on, että miten sellaisen voi toteuttaa, mutta sen voi kuitenkin toteuttaa.
unit suicide_main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ShellAPI;
type
TForm1 = class(TForm)
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormDestroy(Sender: TObject);
begin
//cmd.exe = komentotulkki, voisi olla myös command.com
//paramstr(0) = ajettavan tiedoston nimi, esim. suicide.exe. tulee automatic,
//oli ajettava millä nimellä tahansa.
//cmd:lle annetaan parametri /c del nimi joka luo komennon suorituksen
//ajaksi shellin ja dellaa ajotiedoston.
//sw_hide = akkuna jemmaan
ShellExecute(ValidParentForm(Self).Handle, 'open', 'cmd.exe', PChar('/c del ' paramstr(0)), nil, SW_HIDE);
end;
end.
tietty parempi olisi tehdä jollakin joka kääntää sorsan(kuten tuo edellinen) -> ei pysty muokkaamaan jälkikäteen, mutta tein 'hienon' ja yksinkertaisen esimerkin windows ympäristöön näin hyvikseen.
#######tuhoa.bat####
echo Tunnuksesi: Minä, Salasana: tuhoa
echo huom. viesti tuhoaa itse itsensä
del tuhoa.bat
echo viesti tuhottu :)
ehkä c:llä pystysi tekemään dossiin samanlaisen toimivamman version hyvinkin yksinkertaisesti ja nopeasti.
Tiedosto on kirjoitussuojattu.
No sen voi poistaa ensin...