HATA AYIKLAYICI KULLANARAK HATA AYIKLAMAYI ÖNLEME YÖNTEMLERİNİ AŞMAK


Uğurlu G., Açıcı K.

INTERNATIONAL SCIENTIFIC RESEARCH CONGRESS DEDICATED TO THE 30TH ANNIVERSARY OF BAKU EURASIA UNIVERSITY, Baku, Azerbaycan, 27 - 28 Nisan 2022, ss.391-397

  • Yayın Türü: Bildiri / Tam Metin Bildiri
  • Basıldığı Şehir: Baku
  • Basıldığı Ülke: Azerbaycan
  • Sayfa Sayıları: ss.391-397
  • Ankara Üniversitesi Adresli: Hayır

Özet

Tersine mühendislik, ticari veya askeri avantaj için donanım ve yazılım analizine dayanmaktadır. Tersine mühendislik süreci, eserin orijinal üretimlerinde yer alan prosedürler hakkında çok az veya hiç ek bilgisi olmayan ürünlerden tasarım özelliklerini çıkarmak için yapılan bir analizin yanı sıra kendi içinde bir kopya oluşturmak ya da eseri bir şekilde değiştirmekle ilgilidir. Yazılımlarda tersine mühendislik, bir sistemi veya bir sistemin parçalarını alma ve bunların işlevselliğini ve tasarımını analiz etme sürecidir. Bir sistemin parçalarını daha yüksek bir soyutlama düzeyinde analiz etmenin ve yeniden yapılandırmanın bir yolu olarak tersine mühendisliğe başvurulur. Ancak, tersine mühendislik bundan daha fazlası için kullanılır. Yeni bir tür kötü amaçlı yazılımın ortaya çıktığını var sayarsak, kaynak kodu bilinmeyen yeni tehditlere karşı önlemlerin alınabilmesi için kötü amaçlı yazılımın içeriğini analiz etmek, nasıl çalıştığını anlamak ve aynı zamanda fikri mülkiyeti kötü niyetli kişilere karşı korumak için tersine mühendislik tekniklerine ve becerilerine ihtiyaç duyulur. Hata ayıklayıcılar, yazılımlarda tersine mühendislik sürecinde kullanılan en yaygın araçlardır. Hata ayıklamayı önleme, hedef dosyada tersine mühendisliği ve hata ayıklama girişimlerini engelleyen bir veya daha fazla yöntemin uygulanmasıdır. Bu yöntemler geliştiriciler tarafından programlarının kırılmaması ve tersine mühendislik yöntemleri ile incelenmemesi için kullanılmaktadır. Bilgisayar korsanları ise geliştirdikleri kötü amaçlı yazılımları daha karmaşık bir hale getirmek ve kötü amaçlı yazılımların tersine mühendislik yöntemleri ile analizlerinin yapılmasını zorlaştırmak için kullanmaktadır. Bu makale hata ayıklamayı önleme yöntemlerini ve hata ayıklayıcı kullanarak bu yöntemlerin nasıl aşılacağını açıklamaktadır. Yazılım geliştiricileri hata ayıklamayı önleme yöntemlerini uygulamak için anlatılan kavramları anlayabilmeli ve örneklerde sağlanan kaynak kodları kendi yazılımlarına farklı şekillerde entegre ederek kolayca kullanabilmelidir. Tersine mühendislik ile uğraşanlar ise hata ayıklamayı önleme yöntemleri ve bu yöntemlerin nasıl aşılacağı hakkında bilgi sahibi olmalı ve tersine mühendislik sürecinde bu makalede öğrendiklerini uygulayabilmelidir.

Reverse engineering relies on hardware and software analysis for commercial or military advantage. The reverse engineering process is about creating a copy in itself or modifying the work in some way, as well as an analysis to extract design features from products that have little or no additional knowledge of the procedures involved in their original production. Reverse engineering of softwares is the process of taking a system or parts of a system and analyzing their functionality and design. Reverse engineering is resorted to as a way to analyze and reconstruct parts of a system at a higher level of abstraction. However, reverse engineering is used for more than that. Assuming that you have emerged a new kind of malware, reverse engineering techniques and skills are needed to analyze the content of malware, understand how it works, and at the same time protect intellectual property against malicious individuals, so that countermeasures against new threats, the source code of which are unknown, can be taken.Debuggers are the most common tools used in the reverse engineering process of software. Anti-debugging is the implementation of one or more methods in the target file that prevent reverse engineering and debugging attempts. These methods are used by developers to ensure that their programs are not cracked and are not analyzed by reverse engineering methods using a debugger. These methods are used by developers to ensure that their programs are not cracked and are not examined by reverse engineering methods. Hackers, on the other hand, use these techniques to complicate the malware they develop and make it difficult to analyze with reverse engineering techniques. This article explains anti-debugging techniques and how to defeat them using a debugger. Software developers should be able to understand the concepts described to implement anti-debugging techniques and easily use the source codes provided in the examples by integrating them into their own software in different ways. Those who are engaged in reverse engineering should have knowledge of anti-debugging techniques and how to overcome these techniques and be able to apply what they learned in this article during the reverse engineering process.