Geri Git   ForumSinsi - 2006 Yılından Beri > Genel Kültür & Serbest Forum > ForumSinsi Ansiklopedisi

Yeni Konu Gönder Yanıtla
 
Konu Araçları
tersine

Tersine Nedir?

Eski 06-25-2012   #1
Prof. Dr. Sinsi
Varsayılan

Tersine Nedir?



Tersine Mühendislik - Tersine Mühendislik Ne Demek

Tersine mühendislik (Reverse Engineering,RE) bir aygıtın, objenin veya sistemin; yapısının, işlevinin veya çalışmasının, çıkarımcı bir akıl yürütme analiziyle keşfedilmesi işlemidir Bu yöntem, genellikle orijinalinden kopyalamadan onunla aynı şeyi yapan yeni bir alet veya yazılım yapmaya çalışır ve sıklıkla bir şeylerin (örneğin; makine veya mekanik alet, elektronik komponent, yazılım programı gibi) parçalarına ayrılması ve çalışma prensiplerinin detaylı şekilde analizini içerir


Amerika Birleşik Devletleri dahil diğer birçok ülkede bir sanat eseri veya bir süreç meslek sırlarıyla korunsa dahi, bunların tersine mühendisliği yasal olarak elde edildiği taktirde yapılabilir Patentler, diğer taraftan, Buluşların kamusal ifşasını gerektirir, ve böylece patentli parçalar üzerinde araştırma yapmak için tersine mühendisliğe ihtiyaç duyulmazTersine mühendislikle uğraşanların bir genel motivasyonu rakiplerin ürünlerinin patent koruması veya telif hakkı koruması taşıyıp taşımadığıdır


Tersine Mühendisliğin Türleri ve Uygulamaları
Bilgisayar destekli tasarım (CAD) daha popüler hale geldikçe, tersine mühendislik, 3D bilgisayar destekli tasarım (CAD), bilgisayar destekli üretim (CAM), bilgisayar destekli mühendislik (CAE) ve diğer yazılımlarda kullanılmak üzere, varolan parçaların üç boyutlu sanal modellerinin yaratılması için kullanılabilir bir metod haline gelmiştir Tersine mühendislik işlemi bir objenin ölçümünü ve ardından üç boyutlu model olarak oluşturulmasını içerirFiziksel objenin boyutları, koordinat ölçme makinesi (Coordinat measuring machine, CMM), üç boyutlu üçgenli lazer tarayıcılar, üç boyutlu yapısal ışık sayısallaştırıcılı tarayıcı veya bilgisayarlı tomografi gibi üç boyutlu tarama teknolojileri kullanılarak ölçülebilir Genellikle bir nokta bulutu olarak temsil edilen Ölçülmüş veri kendi başına, topolojik bilgi eksikliği taşır ve bu yüzden sıklıkla, üçgen kaplı ağ veya bir CAD modeli gibi daha kullanışlı bir formata dönüştürülür<!—Nokta bulutları bir çok üç boyutlu yazılımla uyumlu değildir, bu yüzden--> Imageware Rapidform veya Geomagic gibi uygulamalar nokta bulutlarını; 3D CAD, CAM, CAE gibi uygulamalarda veya görselleştirmede kullanılabilecek formatlara dönüştürür


Tersine mühendislik, sıklıkla, diğer milletlerin teknolojilerini, aletlerini, bilgilerini veya sahada sıradan askerler tarafından toplanan veya haberalma operasyonlarıyla toplanan bilgi parçalarını kopyalamak için, ordu tarafından sık sık kullanılır İkinci Dünya Savaşı’nda ve Soğuk Savaş’ta sıkça kullanılmıştır II Dünya Savaşı’ndan çok bilinen örnekler şunlardır:
  • Jerry bidonu:İngiliz ve Amerikan kuvvetleri Almanların Jerry can denen ve mükemmel bir tasarıma sahip olan benzin bidonlarına sahip olduklarını fark ettiler Bu bidonların kopyaları üzerine ters mühendislik uyguladılar Bu bidonlar popüler olarak “Jerry can” olarak bilinirler
  • Tupolev Tu-4:Japonya görevi sırasında bir çok B-29 Superfortress bombardıman uçağı Sovyetler Birliği’ne (SSCB) inmek zorundaydı Böyle stratejik bir bombardıman uçağına sahip olmayan Sovyetler B-29’u kopyalamaya karar verdiler Birkaç yıl içinde neredeyse mükemmel bir kopyası olan Tu-4'ü geliştirdiler
  • V2 Roketi:V2 ve bağlantılı teknolojilerin teknik dökümanları savaşın sonunda batılı müttefikler tarafından elde edildiSovyet ve yakalanmış Alman mühendisler, daha sonra R-7 Semyorka’nın öncüsü ve uzay programının başlangıcı olan, kendi klon roketleri R-1 i yapmak için ele geçirilen dökümanlardan yola çıkarak, yeni teknik dökümanlar ve planlar oluşturdular
Birlikte işlerlik amacıyla (örneğin; belgesiz dosya formatlarını veya donanım ekipmanlarını desteklemek için) yapılmış tersine mühendislik donanım veya yazılımlarının, patent sahipleri çoğunlukla buna karşı çıksa da ve kendi ürünlerinin herhangi bir sebeple ters mühendisliğe uğramasını engellemeye çalışsa da, legal olduğuna inanılır


Benzer şekilde, Yazılım mühendisliğindeki kara kutu testinin ters mühendislikle pek çok ortak noktası vardır Testi yapan çoğunlukla uygulama programlama arayüzüne sahiptir, fakat amaçları, ürüne dışarıdan saldırarak, hataları ve belgelendirilmemiş özellikleri bulmaktır


Güvenlik denetimi, kopya korumanın kaldırılması(yazılımı kırma, krekleme), tüketici elektronik eşyalarında bulunan erişim önlemesini giderme, gömülü sistemlerin (motor yönetim sistemleri gibi) uyarlanmasında, ev içi tamirat ve uyarlamalarda, düşük maliyetli arızalı donanımlarda(bazı grafik kartları çipleri gibi) ek özelliklerin sağlanmasın da veya sadece merak gidermek gibi amaçlar, tersine mühendisliğin diğer amaçlarındandır


Tersine mühendislik aynı zamanda, işletmeler tarafından, kendi ürünlerinin üç boyutlu dijital kayıtlarını yapmak veya rakiplerinin ürünlerine değer biçmek için, var olan fiziksel geometriyi dijital ürün geliştirme ortamlarına aktarmak için kullanılır Örneğin; bir ürünün nasıl çalıştığını, ne yaptığını hangi bileşenlerden oluştuğunu; analiz etmek için, maliyetini hesaplamak için ve potansiyel patent ihlalini saptamakta kullanılır


Değer mühendisliği işletmeler tarafından kullanılan benzer bir aktivitedirYapı çözümlemeyi ve ürünü analiz etmeyi içerir ancak asıl amacı maliyeti azaltmak için fırsatlar bulmaktır
Son olarak, tersine mühendislik sıklıkla özel bir aletin dökümanlarının kaybolması (veya hiç yazılmaması) ve onu inşa eden kişinin artık şirket için çalışmaması sebebiyle yapılırEntegre devreler çoğunlukla modası geçmiş, tescilli sistemler üzerine dizayn edilir, bu şu anlama gelir; işlevselliği yeni teknoloji ile birleştirmenin tek yolu, var olan çip üzerinde tersine mühendislik yapmak ve onu yeniden dizayn etmektir

Yazılımda Tersine Mühendislik

Yazılımlarda “tersine mühendislik” terimi insandan insana değişir; Chikofsky ve Cross çeşitşi kullanımları araştıran ve bir taksonomi tanımlayan bir çalışma yapmışlardırBu çalışmaya göre;
Tersine mühendislik bir sistemin daha yüksek bir soyutlama seviyesinde temsilini yaratmak için analiz edilmesi işlemidir Aynı zamanda geliştirme çevriminde geriye gitme olarakta görülebilir Bu modelde, uygulama fazının çıktısına(kaynak kodu formunda) tersine mühendislik uygulanarak, geleneksel şelale modelinde(waterfall model) geri dönerek, analiz fazına geri gidilmiştir


Tersine mühendislik sadece, modifiye edilmediği(ki nu onu yeniden yapılandırma anlamındadır) düşüncesi altında, yazılım sistemini inceleme işlemidir


Pratikte, tersine mühendisliğin iki çeşidi bulunurBirinci durumda, yazılım için kaynak kodu zaten vardır, fakat programda kötü şekilde yazılmış veya yazılıp ta artık geçerli olmayan yüksek seviye görünüşlerinin bulunmasıdırİkinci durumda yazılım için uygun kaynak kodu yoktur ve yazılım için kaynak kodunu bulmak için yapılan bütün teşebbüsler tersine mühendislik olarak adlandırılırBir çok insan bu ikinci terime aşinadır
Yazılımların tersine mühendisliği, telif hakları ihlallerinden sakınmak için temiz oda dizaynı tekniği denen(clean room design) teknikten faydalanır

İkili Yazılım

Bu işlem bazen Tersine kod mühendisliği(Reverse Code Engineering,RCE) olarak da adlandırılır Bir örnek olarak, java platformu için ikili kodların kaynak koduna dönüştürülmesi Jad(Joint Application Development) kullanılarak yapılabilirTersine mühendisliğin ünlü bir örneği yıllardır bilgisayar donanım platformuna hakim olan eden tarihi IBM PC compatible endüstrisindeki PC BIOS ‘un llk IBM kaynaklı olmayan uygulamasıdır
Amerika’da Digital Millennium Copyright Act adlı telif hakları yasası, önleme yasağından muaf olarak dosya formatlarının birlikte işlerliğini hedefleyen bazı tersine mühendislik uygulamalarını yasaklar fakat yargıçlar anahtar davalarda bu kanunu göz ardı eder, çünkü kullanım kısıtlamalarını önleyebilmekte fakat giriş kısıtlamalarını önleyememektedir Önlemedeki kısıtlamaların yanında, yazılımların tersine mühendisliği Amerika’da telif hakkı kanunundaki adil kullanım istisnasıyla korunmaktadır


Microsoft Windows sistemlerini çalıştıran sistemlere onu çalıştırmayan sistemlerle dosya paylaşımına izin veren Samba yazılımı tersine mühendislik yazılımının klasik bir örneğidir, çünkü Samba projesi Windows’un dosya paylaşımıyla ilgili yayınlanmamış bilgiyi, Windows kullanmayan bilgisayarlar buna öykünebilsin diye, tersine mühendislikle bulmak zorundaydılarWine yazılımı projesi Windows API için aynı şeyi yapar ve OpenOfficeorg bunu Microsoft Office dosya formatları için yaparReactos projesi ise ikili(ABI ve API) uyumluluğun NT dalının günümüz Windows işletim sistemine, yazılıma ve Windows için yazılmış sürücülerin bir temiz oda ters mühendislik uygulanmış GPL açık kaynak karşılığında çalıştırılmasına izin vererek, sağlanması konusunda daha hırslıdır

İkili Yazılım Teknikleri

Yazılımlarda tersine mühendislik çeşitli yöntemler kullanılarak yapılabilirYazılımlarda tersine mühendisliğin üç ana grubu şunlardır;
[*]Bilgi değişimi gözleminin analizi, standart tersine mühendislikteki en yaygın yöntemdir, bus analyzer ve packet sniffer denen yazılım ve donanımların kullanımını içerir, örneğin, bilgisayar ağına bağlantıya giriş için ve verilere erişmek içinAğ davranışı daha sonra, o davranışı temsil eden tek uygulama olarak analiz edilebilirBu özellikle sürücülerin tersine mühendisliğinde faydalıdırBazen, gömülü sistemlerdeki tersine mühendislik üretici tarafından üretilen aletlerden yardım alır; örneğin JTAG portları veya diğer hata ayıklayıcı metodlarMicrosoft Windows’ta, SoftICE gibi düşük seviye hata ayıklayıcıları popülerdir[*]Bir ayırıcı kullanarak ayırmak (Disassembler), sadece makine dili anımsatıcıları kullanılarak programın kendi ham makine dilinde okunup anlanşılmasıdırBu herhangi bir bilgisayar programına uygulanabilir, fakat özellikle makine kodlarına alışık olmayan biri için uzun bir zaman alırEtkileşimli ayırıcı (İnteractive Disassembler) ise popüler bir araçtır[*]Kaynak koduna geri dönüştürücü kullanarak dönüştürme, değişen sonuçlarla, sadece makine veya byte kodunda uygun olan bazı yüksek seviye dillerinde kaynak kodunun yeniden yaratılmasını deneyen bir işlemdir

Kaynak:
İngilizce Vikipedi'deki 24 Temmuz 2007 tarihli Reverse engineering maddesi



Alıntı Yaparak Cevapla
 
Üye olmanıza kesinlikle gerek yok !

Konuya yorum yazmak için sadece buraya tıklayınız.

Bu sitede 1 günde 10.000 kişiye sesinizi duyurma fırsatınız var.

IP adresleri kayıt altında tutulmaktadır. Aşağılama, hakaret, küfür vb. kötü içerikli mesaj yazan şahıslar IP adreslerinden tespit edilerek haklarında suç duyurusunda bulunulabilir.

« Önceki Konu   |   Sonraki Konu »


forumsinsi.com
Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ForumSinsi.com hakkında yapılacak tüm şikayetlerde ilgili adresimizle iletişime geçilmesi halinde kanunlar ve yönetmelikler çerçevesinde en geç 1 (Bir) Hafta içerisinde gereken işlemler yapılacaktır. İletişime geçmek için buraya tıklayınız.