-
شماره ركورد
11242
-
شماره راهنما(اين فيلد مربوط به كارشناس ميباشد لطفا آن را خالي بگذاريد)
11242
-
پديد آورنده
عليرضا اصراري
-
عنوان
ارايه الگوريتمي براي ناخوانا سازي كد به منظور مقابله با مهندسي معكوس آن
-
مقطع تحصيلي
كارشناسي ارشد
-
رشته تحصيلي
كامپيوتر - نرمافزار
-
سال تحصيل
تير 1391
-
تاريخ دفاع
تير 1391
-
استاد راهنما
دكتر سعيد پارسا
-
چكيده
چكيده
در بازار رقابتي نرم¬افزار راه¬كارهاي مهندسي معكوس نقش عمده¬اي را دارند. مشاهده شده كه با استفاده از اين راه¬كارها خسارات عمده اي را به سازندگان نرم¬افزار وارد نموده¬اند. لذا، سعي بر آن است كه كد برنامه ها به قسمي ايجاد شود كه امكان مهندسي معكوس وجود نداشته باشد و يا حداقل اين كار را دشوار نمايد. در اين راستا راه¬كارهاي ناخوانا¬سازي كد مطرح مي¬باشند. اين راه¬كارها اغلب با تغيير الگوي ساختارهاي برنامه¬نويسي كار ديكامپايل نمودن كد را بسيار پيچيده مي¬كنند.
ديكامپايلرها معمولاً با در دست داشتن الگوي ساختار كلي دستورالعملها سعي به يافتن اين الگوها در داخل كد برنامه¬ها دارند. اما در كد ناخوانا شده اين امكان وجود ندارد. البته مشاهده شده كه براي اغلب راه¬كارهاي ناخوانا¬سازي كد روش¬هايي براي رفع ناخوانايي از كد ناخوانا-شده بوجود آمده است.
در اين پروژه با پيچيده¬سازي روند اجراي كد برنامه با استفاده از پرش¬هاي شرطي اضافه شده به آن امكان رفع ناخوانايي و در نتيجه ديكامپايل كردن كد را تا حد زيادي كاهش داده¬ايم. همچنين با استفاده از راه¬كارهاي ناخواناسازي لغوي كار تشخيص موقعيت عبارات زايد در كد براي يك انسان بسيار سخت شده است. در الگوريتم¬هاي مشابه معمولا از پرش-هاي غيرشرطي براي افزودن كدهاي زايد استفاده مي¬گردد و يا تنها چند پرش متوالي انجام شده و در نهايت روند اجرا به جايگاه اصلي خويش برمي¬گردد. ما در اين پروژه با ايجاد پرش¬هاي شرطي هدفدار و مبهم كردن خط سير ادامه برنامه با موازي كردن دو قطعه كد كاملاً برابر از لحاظ عملكرد ولي متفاوت در ظاهر الگوريتم جديدي در اين زمينه ارائه نموده¬ايم.
واژههاي كليدي: ناخوانا¬سازي، ناخوانايي¬زدايي، مهندسي معكوس، محافظت از نرم¬افزار.
-
لينک به اين مدرک :