Ugrás a tartalomhoz

reverse engineering

A Wikiszótárból, a nyitott szótárból


Főnév

reverse engineering (tsz. reverse engineerings)

  1. (informatika) Reverse engineering – magyarul: visszafejtés vagy visszafejtő elemzés – a már meglévő termékek, rendszerek, szoftverek vagy hardverek működésének elemzését és rekonstruálását jelenti annak érdekében, hogy megértsük azok belső működését, összetevőit vagy viselkedését. A cél nem új dolog létrehozása, hanem a meglévő megértése és dokumentálása – sokszor annak ellenére, hogy nincs hozzá eredeti tervdokumentáció.



🧠 1. Mi a reverse engineering célja?

  • 🛠️ Kompatibilitás – pl. új illesztőprogram írása egy ismeretlen eszközhöz
  • 🔐 Biztonsági elemzés – sebezhetőségek, malware viselkedésének feltárása
  • ⚠️ Licencelés/törés – szoftveraktiválás visszafejtése (jogi szürkezóna!)
  • 🔍 Rendszeranalízis – régi rendszerek modernizálása dokumentáció nélkül
  • 🧬 Hardver vagy formátum klónozása – pl. fájlformátum, protokoll, elektronikai áramkör
  • 🎮 Moddolás / játék-hackelés – játéktartalom módosítása, fordítása



💻 2. Alkalmazási területek

Terület Cél
Szoftverfejlesztés API kompatibilitás, bináris elemzés
Kiberbiztonság Malware analízis, exploit keresés
Hardver Áramkör visszafejtése, PCB analizálás
Autóipar / IoT ECU visszafejtés, firmware tanulmányozása
Játékok Pályaszerkesztés, lokalizáció, modding



🧩 3. Szoftveres visszafejtés lépései

  1. Bináris fájl megszerzése (pl. .exe, .so, .dll)
  2. Disassembler / Decompiler használata
    • Disassembler: gépi kód → assembly (pl. IDA, Ghidra, radare2)
    • Decompiler: gépi kód → magas szintű nyelv (pl. Ghidra, JEB, dnSpy)
  3. Statikus elemzés – forráskód rekonstruálása, vezérlési gráfok, függvények
  4. Dinamikus elemzés – futás közbeni viselkedés megfigyelése (pl. debugger, sandbox)
  5. Rekonstruált logika dokumentálása, API-k, formátumok, titkosítási séma



🧪 4. Népszerű eszközök

Statikus elemzés:

  • IDA Pro / IDA Free
  • Ghidra (NSA által fejlesztett, ingyenes)
  • radare2 / rizin
  • Binary Ninja
  • Jadx (Android APK visszafejtés)

Dinamikus elemzés:

  • OllyDbg, x64dbg, GDB
  • Frida, Valgrind, Pin Tool
  • Wireshark (protokollok figyelése)
  • QEMU vagy emulátorok



🔐 5. Jogi és etikai kérdések

  • Legális-e? ➤ A válasz: attól függ. Sok országban szoftverlicenc tiltja, de:
    • Biztonsági kutatás céljára (pl. sebezhetőség-feltárás) gyakran elfogadott
    • Interoperabilitás biztosítása (pl. EU-ban) jogilag indokolt lehet
  • Etikus-e? ➤ Ha az eszköz célja pl. másolásvédelem megkerülése – etikai viták tárgya lehet.



🧬 6. Hardveres visszafejtés

  • PCB scannelés / fotózás
  • Áramkörlogika megértése (logikai analizátor)
  • Chip dekapcsolás és mikroszkópos elemzés
  • Firmware dumpolása (pl. SPI-flash-ből olvasás)



🧾 7. Összefoglalás

A reverse engineering:

  • Olyan folyamat, amely során egy meglévő rendszer vagy szoftver működését visszafejtjük
  • Használják biztonsági kutatásban, kompatibilitás biztosításában, protokollanalízisben és játékmoddolásban
  • Széles eszközkészlet áll rendelkezésre (pl. Ghidra, IDA, Frida)
  • Hasznos és hatékony, de jogi és etikai keretek között kell alkalmazni