Je vidět, že autor píše viry pro windows, protože jinak by tohle nikdy nepsal:
uname = os.getlogin()
drop_dir = “/home/%s/.config/autostart” % uname
os.makedirs(drop_dir)
f = open(drop_dir+”/Malware.desktop”, “w”)
f.write(relauncher_str)
f.close()
Každý trochu slušnější programátor ví, že nemůže používat název loginu jako klíč k cestě k nějakému uživateli, žeano.... Slušnější programátor použije getpwnam/getpwuid, popřípadě proměnnou prostředí HOME.
Když už píšete někdo něco do článku, tak proboha aspoň korektně, ať se lidi neučej kraviny!
Nehledě nato, že python není samozřejmost.
Kdyz nekdo dela virus, cili ho na majoritu, coz by v tomto pripade (kdyz uz by delal virus pro linux) byli uzivatele, kteri python nainstalovany maji a home adresar maji opravdu /home/${USERNAME}/
Jina vec je ale to, ze by musel uzivatele donutit ten skript spustit a pokud se nepletu, vsechna rozumna prostredi maji asociaci k pythonim skriptum nastavenou na nejaky editor, ne na interpretr pythonu...
Zajímalo by mě, jak použití POSIXového getlogin() vypovídá o wingramátorovi. Taky getlogin() ≠ getpwuid(getuid())->pw_name a spoléhat se na existenci getenv("HOME") je už vůbec kravina.
tak proměnná prostředí HOME je běžná praxe a vytváří ji každý login proces při přihlášení. Druhá věc je, že třeba cron ji nekonfiguruje (není login proces). Na tuto proměnnou spoléhají například knihovny mysql. Ale bude to i řada dalšího sw. Tedy vůbec si nemyslím, že to je kravina, naopak si myslím, že kravina je, jak to udělal autor.
Když chcete ukázat správnou cestu získání domovského adresáře, tak ji ukažte, ať se máme o čem bavit.
Zajímalo by mě, jak použití POSIXového getlogin() vypovídá o wingramátorovi.
To, že to (způsob použití určitých knihovních funkcí) je typická chyba spousty projektů ve win. Není to tak dlouho, co tu někdo prohlašoval, že nefunkčnost programů pod vistama není problém Windows, ale programátorů, kteří jsou prasata. A mimo jiné jako jeden z důvodů uváděl cesty a nekorektní použití určitých funkcí.
Takže daný virus by pod rootem mohl selhat, protože root má adresář (aspoň v linuxu) úplně jinde. A podotýkám, že to není jediný systémový uživatel.