Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Sta sprecava programu da prepise celu memoriju sa necim?

[es] :: C/C++ programiranje :: C/C++ za početnike :: Sta sprecava programu da prepise celu memoriju sa necim?

[ Pregleda: 2136 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

mulaz
Ljubljana

Član broj: 47602
Poruke: 2239
*.dial-up.dsl.siol.net.

Jabber: mulaz@elitesecurity.org
Sajt: www.mulaz.org


+184 Profil

icon Sta sprecava programu da prepise celu memoriju sa necim?30.04.2006. u 23:54 - pre 218 meseci
Code:

#include <stdio.h>

int main(void) 
{
  int a=1;
  int *pa=&a;
  
  while (1) {
    pa++;
    printf("paddr=%p pval=%d\n",pa,*pa);
    *pa=1;
  }
 return 0;
}



e sad .. pokusavao sam da za foru napisem program kojic e da prepise deo memorije nekim sr***em. Koliko se razumem OS ce da nadje mesto u memoriji za variablu a i tamu upise jedinicu (ili bilosta u dosegu int-a). i onda u onom infinite loopu uvecava pointer za jedno mesto dalje (8 bita ilo koliko vec zauzme jedan int) i na to mesto upise jos jednu jedinicu. i tako bi trebao do kraja memmmorije da pise jedinice dok ne zapuni svega. E sad naravno dobijem segfault, pa me zanima sta prozurucuje segfault? dali je u OS-u takav managment memorije da ne dozvoljava prepisivanje memorije aplikacije x sa strane aplikacije y (memorije rezervirane by x sa strane y)? ili je to nesto drugo?

pitam samo tako iz radoznalosti
Bolje ispasti glup nego iz aviona
http://www.mulaz.org/
 
Odgovor na temu

del-boy
Bojan Delić
Beograd

Član broj: 9330
Poruke: 1089

Sajt: www.delic.in.rs


+21 Profil

icon Re: Sta sprecava programu da prepise celu memoriju sa necim?01.05.2006. u 04:50 - pre 218 meseci
Svaki program ima svoj logički adresni prostor na koji je ograničen i ne dozvoljava mu se da iz njega izlazi! Ako to pokušaš kodom dobićeš grešku! Jedino kada je programu dozvoljeno da izlazi van svog adresnog prostora je kada su mu potrebni neki sistemski potprogrami (za kontrolu hardware-a), ali to je lepo sakriveno u višim programskim jezicima (u asembleru moraš da zahtevaš prekid)!
 
Odgovor na temu

n1tr0
Freelance
Cortanovci / NS

Član broj: 55279
Poruke: 465
80.93.231.*

Sajt: grubicv.iz.rs


+2 Profil

icon Re: Sta sprecava programu da prepise celu memoriju sa necim?05.05.2006. u 15:03 - pre 217 meseci
Razlog takve zastite je jednostavan: spreciti ne-nameran i zlo-nameran upis u tudji logicki adresni prostor.
Ovako zamisli 2 situacije(kad ne bi bilo takve zastite):
1) Imas lose napisan program koji tako sa pokazivacem izadje iz svog opsega i malo prepise memoriju OS-a, malo nekih programcica i onda bi ti se racunar zapucao, i ne mozes predvideti stetu koju bi to nacinilo.
2) Virus lepo uzme i obrise u RAM-u antivirus, malo ti izmeni OS u RAM-u, bukvalno moze da radi sta hoce...
Zakljucak(bez zastite): nebezbednost, nestabilnost, haos...
@del-boy Vidim slusas Hajdukovica kolega... Tako treba...
 
Odgovor na temu

del-boy
Bojan Delić
Beograd

Član broj: 9330
Poruke: 1089

Sajt: www.delic.in.rs


+21 Profil

icon Re: Sta sprecava programu da prepise celu memoriju sa necim?07.05.2006. u 18:58 - pre 217 meseci
Citat:
n1tr0:
@del-boy Vidim slusas Hajdukovica kolega... Tako treba...


Naravno! A koji si ti? Jel' se znamo ili je zaključak na osnovu odgovora i profila?
 
Odgovor na temu

Odin D.
Mlađi referent za automatizaciju
samoupravljanja

Član broj: 37292
Poruke: 2549



+8370 Profil

icon Re: Sta sprecava programu da prepise celu memoriju sa necim?08.05.2006. u 18:09 - pre 217 meseci
Postoje nivoi prioriteta pod kojima odredjeni programi rade.
Ako dodjes do najveceg prioriteta mozes da radis sta hoces.
Postoje cak i odredjeni flag-ovi koji se setuju u samom procesoru da bi se program mogao izvrsavati na odredjenom prioritetu.
Na nekoj temi se nekad pricalo o nekakvim knjigama koje je Intel besplatno slao zainteresovanima. Meni nisu stigle knjige na papiru nego na CD-u. Tu imas nesto o tome. Vidi ko to ima pa trazi.
 
Odgovor na temu

n1tr0
Freelance
Cortanovci / NS

Član broj: 55279
Poruke: 465
..mtsns-ns.customer.sbb.co.yu.

Sajt: grubicv.iz.rs


+2 Profil

icon Re: Sta sprecava programu da prepise celu memoriju sa necim?08.05.2006. u 18:46 - pre 217 meseci
Citat:
del-boy: Naravno! A koji si ti? Jel' se znamo ili je zaključak na osnovu odgovora i profila?

Iz odgovora, iz profila i iz tvog user-a na ftn forumu...

Sto se tice tih Intel-ovih besplatnih knjiga, mislim da je tema u forumu asembler. Iskoristi pretragu...

[Ovu poruku je menjao n1tr0 dana 08.05.2006. u 19:47 GMT+1]
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: Sta sprecava programu da prepise celu memoriju sa necim?

[ Pregleda: 2136 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.