شماره ركورد
33968
پديد آورنده
محمد علي حقيقي
عنوان
مبهم سازي جريان كنترلي و داده اي در سطح كد منبع
مقطع تحصيلي
كارشناسي ارشد
رشته تحصيلي
نرم افزار كامپيوتر
سال تحصيل
1400
تاريخ دفاع
1404/07/28
استاد راهنما
سعيد پارسا
استاد مشاور
سعيد پارسا
دانشكده
كامپيوتر
چكيده
درهمريختگي كد به عنوان يكي از تكنيكهاي حياتي در حوزه امنيت نرمافزار، با هدف افزايش مقاومت كد در برابر تحليلهاي مخرب و مهندسي معكوس، شناخته ميشود. اين فرآيند با تغييرات عمدي در ساختار و نمايش كد انجام ميشود، به گونهاي كه درك و تحليل آن براي مهاجمان پيچيدهتر گردد، در حالي كه عملكرد اصلي برنامه تغييري نميكند. روشهاي درهمريختگي كد شامل تكنيكهاي متنوعي است كه هر يك با هدف خاصي طراحي شدهاند. يكي از اين تكنيكها، درهمريختن گراف جريان كنترلي است كه با بازآرايي مسيرها و گرههاي گراف كنترل برنامه، مسير اجراي برنامه را پيچيدهتر ميسازد. اين روش اغلب شامل افزودن انشعابهاي غيرضروري، بازنويسي مسيرهاي موجود و ايجاد حلقههاي مبهم ميشود. روش ديگر، اضافه كردن كدهاي بيمصرف است. در اين تكنيك، كدهايي كه تأثيري بر عملكرد برنامه ندارند، به طور عمدي به برنامه اضافه ميشوند تا حجم كد افزايش يافته و تحليل آن دشوارتر شود. اين كدها ميتوانند شامل فراخواني توابع غيرضروري، حلقههاي بدون خروجي يا دستوراتي با تأثير صفر باشند. از ديگر تكنيكهاي رايج ميتوان به تغيير نام متغيرها و توابع , رمزگذاري دادههاي حساس , و پيچيدهسازي عبارات رياضي اشاره كرد. اين تكنيكها در كنار هم ميتوانند لايههاي متعددي از محافظت ايجاد كنند. با وجود كاربرد گسترده، چالشهايي همچون افزايش پيچيدگي توسعه و نگهداري نرمافزار، كاهش كارايي، و پيشرفت ابزارهاي تحليل خودكار، كارايي اين روشها را تهديد ميكند. اين پژوهش به بررسي عميق تكنيكهاي مختلف درهمريختگي كد، كاربردها و محدوديتهاي آنها پرداخته و پيشنهادهايي براي بهبود روشهاي موجود ارائه ميدهد.
تاريخ ورود اطلاعات
1404/08/18
عنوان به انگليسي
Data and control flow obfuscation of source code
تاريخ بهره برداري
10/20/2026 12:00:00 AM
دانشجوي وارد كننده اطلاعات
محمدعلي حقيقي
چكيده به لاتين
Code obfuscation is recognized as one of the fundamental techniques in software security, aiming to increase the resistance of software against reverse engineering and malicious analysis. It deliberately modifies the structure and representation of source code so that understanding and analyzing it becomes significantly more difficult for attackers, while preserving its original functionality.
Various obfuscation techniques have been developed, each designed to achieve a specific goal. Among them, control flow obfuscation transforms the control flow graph (CFG) of a program by rearranging paths and nodes, thereby making the execution path more complex and less predictable. Other common approaches include inserting dead or redundant code, renaming identifiers and functions, encoding sensitive data, and complicating arithmetic expressions. Together, these techniques create multiple protective layers against code analysis.
Despite their widespread use, obfuscation methods face several challenges, including increased software complexity, potential performance degradation, and the rapid advancement of automated analysis tools. This research provides a comprehensive study of existing code obfuscation techniques, their applications, limitations, and effectiveness. Moreover, it introduces an improved hybrid method that combines control flow flattening and semantic-based identifier renaming using large language models (LLMs) to enhance software protection at the source code level.
كليدواژه هاي فارسي
درهمريختگي كد , گراف جريان كنترلي , امنيت نرم افزار , مهندسي معكوس , تحليل ايستا , پيچيده سازي كد
كليدواژه هاي لاتين
code obfuscation , control flow graph , software security , reverse engineering , static analysis , code complexity
Author
Mohammad ali Haghighi
SuperVisor
Saeed Parsa