İçindekiler:
Tanım - Tersine Mühendislik ne demektir?
Tersine mühendislik, bilgisayar programlamasında, oluştuğu bölümleri tanımlamak ve anlamak için yazılımı analiz etmek için kullanılan bir tekniktir. Bir yazılım parçasını tersine mühendislik için olağan nedenler, programı yeniden oluşturmak, buna benzer bir şey oluşturmak, zayıflıklarından yararlanmak veya savunmasını güçlendirmektir.
Techopedia Tersine Mühendislik'i anlatıyor
Kapalı, tescilli yazılım asla onu oluşturmak için kullanılan kaynak kodunu ortaya koyan belgelerle gelmediğinden, insanlar yazılımın iç işlerini anlamak istediklerinde tersine mühendislik kullanırlar.
Bazı bilgisayar korsanları, yararlanabilecekleri programların zayıf noktalarını bulmak için tersine mühendislik kullanır.
Diğer bilgisayar korsanları buradaki savunmaları güçlendirmek amacıyla zayıf noktaları bulmak için tersine mühendislik kullanıyorlar.
Rakip ürünleri olan yazılım şirketleri, rakiplerinin programlarını kendi ürünlerinde nerede ve nasıl iyileştirmeler yapılabileceğini öğrenmek için tersine mühendislik yaparlar. Bazı şirketler, henüz benzer ürünlere sahip olmadıklarında, kendi ürünlerini oluşturmak için tersine mühendislik kullanırlar.
Mevcut bir ürüne dayalı olarak kendi ürünlerini inşa etmek isteyenler, sıfırdan yaratmaya göre tersine mühendislik tercih ederler, çünkü parçalar ve bağımlılıklar belirlendikten sonra, yeniden yapılandırma süreci daha kolay olma eğilimindedir.
ABD'de, yazılımın tersine mühendislik telif hakkı yasasında adil kullanım istisnası ile korunmaktadır.
