Miért félnek a cégek attól, hogy kiszivárog a forráskódjuk, ha decompilerrel amúgy is vissza lehet fejteni a kódot?
én szoktam reverse engineeringet használni, hogy visszafejtek játékokat, megnézem mit hogyan oldottak meg bennük
saját játékot is fejtettem vissza, hogy lássam pontosan miben is tér el a kód
azért a decompiler nem ad vissza annyi infót, mint amit a valódi forráskód
főleg ha egy kód megfelelően le lett védve fordításnál (komment eltávolítás adott nyelveknél, minimalizálás/obfuszkálás stb)
Azért, mert a kérdésedben megfogalmazott állítás hamis.
A decompiler nem fogja szinte soha visszaadni az eredeti forráskódot, annak előálíltása ugyanis nem tekinthető kölcsönösen egyértelmű hozzárendelésnek. Különböző forrásfájlok is eredményezhetik ugyanazt a gépi kódot, illetőleg bizonyos elemek (pl. megjegyzések) a fordítás során elvesznek.
De ha a megjegyzésektől eltekintünk, a fordító egyébként sem úgy fordít, hogy egy adott forrásnyelvi utasításra egy adott gépi kódú utasítást ad vissza, hanem közben optimalizál és egyszerűsít (jobb esetben). Ez pedig mind egyre valószínűtlenebbé teszi, hogy azt az eredeti formájára vissza lehessen fordítani.
De a legnagyobb probléma, hogy a visszafejtéskor - pont azért, mert a forrásnyelvi, és gépi utasítások között nincs "egy az egyhez" kapcsolat - nem, vagy csak nagyon nehezen fog rajta látszódni az a logika, ami alapján az készült. Ergo semmit nem érnek vele.
Itt is elmondják, hogy mi a gond: [link]
Oké, oké... assemblyre bármit vissza lehet fordítani, de mondjuk egy C++ forrásból amilyen gépi kód generálódik, assembly-guru legyen a talpán az, amelyik azon kiigazodik.
mert abból jön a lóvé, ha kikerül, hiába van ott a license, ami megtiltja a jogosulatlan felhasználását
a gyakorlatban elég nehéz megmondani, felderíteni, hogy felhasználták
ha nem is a kódot magát (vagy egy részét), attól még lehet az algoritmust lenyúlják
vagy kiderülnek további üzleti titkok belőle
+ egyszerűbb biztonsági hibák után kutatni, exploitot írni hozzá
és a cégre se vet jó fényt, hogy loptak tőle
A decompiler assembly-t nyom ki magából, amivel még a diplomás fejlesztők java sem képes mit kezdeni.
De ha tudna is, léteznek antidebug módszerek, amivel a reverng-et végzők életét pokollá lehet tenni.
Sok esetben megéri inkább megírni valamit nulláról, mint ilyen szarságba beleállni.
Kérdező, te sem írtál még programot soha, ha ilyen hülye állításokat teszel.
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!