Kezdőoldal » Számítástechnika » Programozás » Informatika tanárom ma mondott...

Informatika tanárom ma mondott valamit, ki tudná megmagyarázni? (bővebben)

Figyelt kérdés
Scriptekről beszélgettünk, konkrétan arról, hogy akár azt is el lehet érni, hogy egy fájl minden 30. bitjét átírja, ezzel használhatatlan lesz a fájl. Ez a makrovírusok kapcsán jött. Kérdésem az lenne, hogy hogyan lehet megváltoztatni egy fájl bitjeit? Hasonlóan, mint debuggerrel?
2011. szept. 2. 15:46
 1/4 anonim ***** válasza:
86%

Többnyire bájtonként olvasnak, nem bitenként, de az eredmény ugyanaz. Bitmezőkkel talán...

Megnyitja a fájlt írásra-olvasásra.

Amíg el nem éri a végét, addig:

---megy 30 bájtot

---felülírja az adott pozíciót

A legelején nem kezdheti, mert akkor a fájl tartalma azonnal elvész. Ekkor:

Készít egy ideiglenes fájlt, beleír egy tetszőleges jelet

Megnyitja a fájlt olvasásra

Amíg el nem ér a végére:

---Lép egy bájtot, majd a következő harmincat beolvassa egy bufferba

---A buffer tartalmát kiírja az ideiglenes fájlba

---Ír az ideiglenes fájlba egy jelet

Elérve a fájl végére:

Bezárja a fájlt

Megnyitja a fájlt felülírásra

Elmegy a fájlban is és az ideiglenes fájlban a fájl elejére

Bájtonként átmásolja az ideiglenes fájl tartalmát a fájlba

Elmenti és bezárja a fájlt

Bezárja és törli az ideiglenes fájlt.


A kódot mellőzöm.

2011. szept. 2. 16:10
Hasznos számodra ez a válasz?
 2/4 A kérdező kommentje:
Köszönöm a választ, már értem, hogy működik.
2011. szept. 2. 16:13
 3/4 anonim ***** válasza:
Bitet meg úgy módosítasz, hogy kiolvasod a megfelelő bájtot, átírod benne a bitet, visszaírod a megfelelő bájtot. Egy bájt (általában) 8 bit. Sok sikert.
2011. szept. 2. 17:30
Hasznos számodra ez a válasz?
 4/4 anonim ***** válasza:

Ideglenes fájl nélkül is meg lehet oldani meg lehet nyitni egy fájlt egyszerre írásra és olvasásra is.

"hogyan lehet megváltoztatni egy fájl bitjeit?"

Legkisebb egység amit egyszerre írhatsz/olvashatsz a bájt( ami 8 bit) Ha pl. a 30. bitet akarod átírni akkor kiszámolod hogy hanyadik bájtot kell módosítani 3. bájtot. Visszaírod az egész bájtot megfelelően.(Mert kisebb egységet nem lehet) Eme bájt hanyadik bitjét? 6. Ezt bitmaszkal kimaszkolod logikai és,logikai vagy, logikai tagadás segítségével eléred a kívánt bitcserét.


Apropó: Ha kétszer futtatod akkor visszakapod az eredeti fájlt.

2011. szept. 2. 21:21
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!