Nii eli mua ihmetyttää, että miten pystyy oikee muokkaamaa tiedostoa, nii ettei se muutu toimimattomaks. Esimerkiks jotkut virukset, nii nehä lisää koodia muihin tiedostoihin jonka jälkee ne vielki toimii saastutettuina (en aio tehä mitää virusta vaa ku teen yht virustentorjunta-ohjelmaa nii se vois niinku täl tyylil poistaa virusten lisäämää koodia tiedostoista).
Kannattaakohan moista projektia edes aloittaa mikäli ei tiedä mihin moiset perustuu, mutta en itsekkään osaa sanoa.
No se just mua kiinnostaa, että mihin se perustuu ja miten sellasen ohjelman vois tehä.
Riippuu tiedoston formaatista miten sitä tulee muokata.
Onkohan tuo edes mahdollista?
Virus saattaa esimerkiksi lisätä ohjelman loppuun omaa koodiaan ja ohjelman alkuun hyppykäskyn tähän koodiin. Viruskoodin lopussa on hyppykäsky oikean ohjelman alkuun, jolloin käyttäjälle päin kaikki näyttää tavalliselta.
Alkuperäinen ohjelma:
[1] ohjelmaalku [2] ohjelmakoodi [3] ohjelmaloppu
Viruksen saastuttama ohjelma:
[1] goto virusalku [5] ohjelmaalku [6] ohjelmakoodi [7] ohjelmaloppu [2] virusalku [3] viruskoodi [4] goto ohjelmaalku
Jeh, formaatistahan tuo on pitkälti kiinni. Mm. PE:stä (Win32 EXEt ovat PE-formaattia) löytyy entrypoint-fieldi, joka määrittelee mistä osoitteesta ohjelman suoritus aloitetaan. Lisäämällä uuden PE-sektion ja ohjaamalla koodin suorituksen alkamaan sieltä voi virus ohjelman käynnistäessä tehdä haluamansa temput ja hypätä sitten takaisin alkuperäiseen entrypointtiin.
Tuollaisen poisto-ohjelman (tai virustentorjunta-ohjelman yleensäkään) kirjoittaminen ei ole mikään nakki homma, jos taitoa ja kärsivällisyyttä riittää niin hae Googlesta vaikkapa B. Luevelsmeyerin PE-doku ja ala opiskella :-)
Aihe on jo aika vanha, joten et voi enää vastata siihen.