• شماره ركورد
    33968
  • پديد آورنده

    محمد علي حقيقي

  • عنوان
    مبهم سازي جريان كنترلي و داده اي در سطح كد منبع
  • مقطع تحصيلي
    كارشناسي ارشد
  • رشته تحصيلي
    نرم افزار كامپيوتر
  • سال تحصيل
    1400
  • تاريخ دفاع
    1404/07/28
  • استاد راهنما
    سعيد پارسا
  • استاد مشاور
    سعيد پارسا
  • دانشكده
    كامپيوتر
  • چكيده
    درهم‌ريختگي كد به عنوان يكي از تكنيك‌هاي حياتي در حوزه امنيت نرم‌افزار، با هدف افزايش مقاومت كد در برابر تحليل‌هاي مخرب و مهندسي معكوس، شناخته مي‌شود. اين فرآيند با تغييرات عمدي در ساختار و نمايش كد انجام مي‌شود، به گونه‌اي كه درك و تحليل آن براي مهاجمان پيچيده‌تر گردد، در حالي كه عملكرد اصلي برنامه تغييري نمي‌كند. روش‌هاي درهم‌ريختگي كد شامل تكنيك‌هاي متنوعي است كه هر يك با هدف خاصي طراحي شده‌اند. يكي از اين تكنيك‌ها، درهم‌ريختن گراف جريان كنترلي است كه با بازآرايي مسيرها و گره‌هاي گراف كنترل برنامه، مسير اجراي برنامه را پيچيده‌تر مي‌سازد. اين روش اغلب شامل افزودن انشعاب‌هاي غيرضروري، بازنويسي مسيرهاي موجود و ايجاد حلقه‌هاي مبهم مي‌شود. روش ديگر، اضافه كردن كدهاي بي‌مصرف است. در اين تكنيك، كدهايي كه تأثيري بر عملكرد برنامه ندارند، به طور عمدي به برنامه اضافه مي‌شوند تا حجم كد افزايش يافته و تحليل آن دشوارتر شود. اين كدها مي‌توانند شامل فراخواني توابع غيرضروري، حلقه‌هاي بدون خروجي يا دستوراتي با تأثير صفر باشند. از ديگر تكنيك‌هاي رايج مي‌توان به تغيير نام متغيرها و توابع , رمزگذاري داده‌هاي حساس , و پيچيده‌سازي عبارات رياضي اشاره كرد. اين تكنيك‌ها در كنار هم مي‌توانند لايه‌هاي متعددي از محافظت ايجاد كنند. با وجود كاربرد گسترده، چالش‌هايي همچون افزايش پيچيدگي توسعه و نگهداري نرم‌افزار، كاهش كارايي، و پيشرفت ابزارهاي تحليل خودكار، كارايي اين روش‌ها را تهديد مي‌كند. اين پژوهش به بررسي عميق تكنيك‌هاي مختلف درهم‌ريختگي كد، كاربردها و محدوديت‌هاي آن‌ها پرداخته و پيشنهادهايي براي بهبود روش‌هاي موجود ارائه مي‌دهد.
  • تاريخ ورود اطلاعات
    1404/08/18
  • عنوان به انگليسي
    Data an‎d 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 an‎d malicious analysis. It deliberately modifies the structure an‎d representation of source code so that understan‎ding an‎d analyzing it becomes significantly mo‎re difficult fo‎r attackers, while preserving its o‎riginal functionality. Various obfuscation techniques have been developed, each designed to achieve a specific goal. Among them, control flow obfuscation transfo‎rms the control flow graph (CFG) of a program by rearranging paths an‎d nodes, thereby making the execution path mo‎re complex an‎d less predictable. Other common approaches include inser‎ting dead o‎r redundant code, renaming identifiers an‎d functions, encoding sensitive data, an‎d 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 perfo‎rmance degradation, an‎d the rapid advancement of automated analysis tools. This research provides a comprehensive study of existing code obfuscation techniques, their applications, limitations, an‎d effectiveness. Mo‎reover, it introduces an improved hybrid method that combines control flow flattening an‎d 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