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

objektni kod na mašinskom nivou?

[es] :: Java :: objektni kod na mašinskom nivou?

[ Pregleda: 2362 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

kime1
Srbija

Član broj: 13275
Poruke: 939
217.24.27.*



+2 Profil

icon objektni kod na mašinskom nivou?28.07.2006. u 00:40 - pre 215 meseci
kako izgleda objektni kod na mašinskom nivou, prvenstveno zaštita pristupa kako se realizuje ?!
 
Odgovor na temu

toroman
Srećko Toroman
www.wowd.com
Beograd / Banja Luka

Član broj: 52673
Poruke: 159
*.dialup.blic.net.

Sajt: toroman.wordpress.com


Profil

icon Re: objektni kod na mašinskom nivou?28.07.2006. u 07:02 - pre 215 meseci
Čudno pitanje :?

Mislim da bytecode ne provjerava nikakva prava pristupa, jer za to služi kompajler da provjeri ima li "rušenja" negdje. Ako se program kompajluje, znači sve je ok. Nije valjda da su iz Sun'a i ovo zakomplikovali :(
Programeri su odgovorili na Hamletovo pitanje "Biti il ne biti?" :
0x2B | ~0x2B = 0xFF
(kao ono - ff - teško pitanje!)
 
Odgovor na temu

kime1
Srbija

Član broj: 13275
Poruke: 939
*.72.eunet.yu.



+2 Profil

icon Re: objektni kod na mašinskom nivou?28.07.2006. u 12:37 - pre 215 meseci
ne mislim strogo na Javu, nego pošto je isključivo objektni jezik , pitao sam ovde :) ?

Neka bude za C++ ?
 
Odgovor na temu

toroman
Srećko Toroman
www.wowd.com
Beograd / Banja Luka

Član broj: 52673
Poruke: 159
*.teol.net.

Sajt: toroman.wordpress.com


Profil

icon Re: objektni kod na mašinskom nivou?28.07.2006. u 23:19 - pre 215 meseci
Ma uopšte se ništa ne provjerava na nivou mašinskog koda. Sigurno ne kod C++'a jer sve što treba provjeriti, provjerava kompajler. Tako da je moguće čak mijenjati i privatne podatke ;)

A i kod Java'e je predpostavljam ista situacija.

Inače, ako imaš klasu npr:
Code:

class Klasa {
public:
  void pub() {};
  int j;
private:
  void priv() {};
  int i;
}

i recimo da imas kod poslije
Code:

Klasa k;
k.i=2;

- program se neće kompajlovati. Provjera je na nivou kompajlera. Slijedeći kod se kompajlira:
Code:

Klasa k;
k.j=2;


E u šta se to pretvara? U 101 naravno, tačnije u asembler prvo. Kako bi izgledao kod ... recimo instanca Klase zauzima 8 bajtova u memoriji (ima dva integera). Varijabli j se dodjeljuje vrijednost komandom MOV adresaOdK+4, 2. To je neka vrsta adresiranja (piše u Art of Assembly Language sve fino a jasno) - mislim indeksirano. Sad, ako program ima bug (nešto pogriješiš, odluta ti neki pointer blablabla) moguće je veoma lako i da se izvrši komanda MOV adresaOdK+0, 2 odnosno da promijeniš vrijednost varijabli "i" koja je privatna ;) To se često i dešava kod pisanja iza niza primjera radi.

Ono - nema provjere ... Valjda, ili sam sve vrijeme živio u zabludi!
Programeri su odgovorili na Hamletovo pitanje "Biti il ne biti?" :
0x2B | ~0x2B = 0xFF
(kao ono - ff - teško pitanje!)
 
Odgovor na temu

[es] :: Java :: objektni kod na mašinskom nivou?

[ Pregleda: 2362 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

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