ebooksgratis.com

See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Zpětné inženýrství - Wikipedie, otevřená encyklopedie

Zpětné inženýrství

Z Wikipedie, otevřené encyklopedie

Zpětné inženýrství (též reverzní inženýrství, z angl. Reverse Engineering, RE) je označení pro proces, jehož cílem je odkrýt princip fungování zkoumaného předmětu (např. mechanického zařízení nebo počítačového programu), většinou za účelem sestrojení ekvivalentního předmětu, který ale není kopií originálu (zejména neporušuje autorské právo). Mezi obvyklé postupy RE patří měření a analýza struktury předlohy (dekompozice) a zkoumání „vnitřních vztahů“ částí systému.

Výstupem RE je obnovení návrhu (či jen dokumentace), které může být podkladem k vylepšení designu nebo např. k bezpečnostnímu auditu.

[editovat] Příklady zpětného inženýrství

Bombardér B-29 se stal vzorem pro sovětský Tu-4.
Bombardér B-29 se stal vzorem pro sovětský Tu-4.

V architektuře je RE používáno pro rekonstrukci 3D modelu skutečného objektu (naskenováním bodů, které jsou zpracovány v CAD programech).

Ve vojenství je často zneužíváno RE ke kopírování cizích technologií. Dva příklady z druhé světové války:

  • Britové a Američani vyráběli kanystry na benzín podle německého vzoru (tzv. Jerrycan),
  • Sověti během let 19451949 „vyvinuli“ strategický bombardér Tupolev Tu-4, který byl téměř dokonalou kopií amerického letounu B-29.

Během studené války schválil Ronald Reagan plán CIA reagující na krádeže západních technologií tím, že východním agentům bylo podstrčeno několik technologií se skrytými chybami. To se stalo příčinou výbuchu sibiřského plynovodu (po atomových výbuších dosud největší umělá exploze vůbec).[1]

V elektrotechnice bývají zkoumány integrované obvody – RE v oblasti počítačových procesorů přispívá k velké míře kompatibility instrukčních sad.[2]

[editovat] Zpětné inženýrství v programování

Reverzní inženýrství v informatice je definováno jako proces analýzy předmětného systému s cílem identifikovat komponenty systému a jejich vzájemné vazby a/nebo vytvořit reprezentaci systému v jiné formě nebo na vyšší úrovni abstrakce.[3]

Reverzní inženýrství řeší v České republice Autorský zákon tedy zákon 121/2000Sb.

§ 65

(2) Myšlenky a principy, na nichž je založen jakýkoli prvek počítačového programu, včetně těch, které jsou podkladem jeho propojení s jiným programem, nejsou podle tohoto zákona chráněny.


§ 66

Omezení rozsahu práv autora k počítačovému programu

(1) Do práva autorského nezasahuje oprávněný uživatel rozmnoženiny počítačového programu, jestliže

b) jinak rozmnožuje, překládá, zpracovává, upravuje či jinak mění počítačový program, je-li to nezbytné k využití oprávněně nabyté rozmnoženiny počítačového programu v souladu s jeho určením, není-li dohodnuto jinak,

d) zkoumá, studuje nebo zkouší sám nebo jím pověřená osoba funkčnost počítačového programu za účelem zjištění myšlenek a principů, na nichž je založen kterýkoli prvek počítačového programu, činí-li tak při takovém zavedení, uložení počítačového programu do paměti počítače nebo při jeho zobrazení, provozu či přenosu, k němuž je oprávněn,


Základním prostředkem RE je dekompilátor (tj. opak překladače) a disassembler.

Zpětné inženýrství se zaměřuje na zkoumání (inspekci, obnovení návrhu):

  • proprietárních datových formátů (pro zvýšení interoperability),
  • čipových karet,
  • databázových modelů,
  • obecně kódu počítačových programů (obvykle pouze částí).

Proti RE – zneužívanému při crackingu pro tvorbu warezu – se lze bránit např. šifrováním nebo obfuskací kódu.

Příkladem software vzniklého díky RE je Samba.

[editovat] Reference

  1. CIA slipped bugs to Soviets
  2. Intel použil reverzní inženýrství na AMD64
  3. Údržba softwaru, Jiří Sochor, FI MU


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -