آخرین اخبار و مقالات و مطالب پیرامون فایل اجرایی در ایران آی سی تی نیوز ، پایگاه فناوری اطلاعات و ارتباطات ایران
بر روی این دامنه اینترنتی سیستم مدیریت محتوا
پارس سی ام اس
نصب شده است که نرم افزاری قوی جهت طراحی سایت
می باشد. طراحی وب
با استفاده از پرتال
( پورتال
) پارس منجر به طراحی وب سایت
شما می شود. طراحی وب سایت
کپی رایت پورتال
پارس
با وجود کارایی زیاد و انعطاف پذیری بالای زبان برنامه نویسی جاوا، این ابزار قدرتمند و رو به توسعه هنوز نتوانسته جایگاه مناسبی برای پیاده سازی پروژه های تجاری در مقایسه با سایر framework های موجود بیابد. از جمله دلایل اصلی عدم استفاده از جاوا در بیشتر پروژه های بزرگ تجاری، می توان به مشکل بازگشت پذیری یا decompile شدن کدهای نوشته شده، با این زبان برنامه نویسی اشاره کرد که این خود به تنهایی یک معضل بزرگ امنیتی در مسیر توسعه نرم افزارهای تجاری با استفاده از این ابزار به شمار می آید.
برنامه های نوشته شده در جاوا به دلیل استفاده از واسط زمان اجرای java runtime environment یا به طور اختصار jre برای مهیا کردن بستری مناسب برای جلوگیری از کامپایل مجدد کد منبع و همچنین حفظ قابلیت جابه جایی و استفاده در پلتفرم های مختلف، پس از کامپایل به جای تبدیل شدن به زبان ماشین یا همان «صفر» و «یک» به قالب خاصی از داده ها به نام byte code تبدیل می شود که این خروجی همان قالب قابل فهم و اجرا برای jre است.
همین موضوع باعث می شود کد برنامه های نوشته شده به زبان جاوا را با استفاده از متدهای مهندسی معکوس تا حدود زیادی بازیابی کرد. این مشکل به حدی جدی است که شرکت توسعه دهنده زبان جاوا یعنی سان میکروسیستمز، اقدام به ارائه ابزاری به نام obfuscator برای مبهم سازی کد منبع نوشته شده از طریق تزریق کدهای اضافی به زبان جاوا کرده تا پس از انجام عملیات دیکامپایل، کاربران نتوانند به راحتی قطعات مختلف کد حاصل را درک و تفسیر کنند.
اجرای این برنامه به گونه ای است که در بدنه توابع و کلاس ها در نتیجه نهایی و خروجی اصلی برنامه تغییری را در پی نخواهد داشت. البته استفاده از این متد که به صورت توکار (یا درون ساخت built-in) هم در کتابخانه های جاوا و هم توسط ide پیش فرض شرکت سان، یعنی netbeans نیز پشتیبانی می شود، نمی تواند تمام آنچه که برنامه نویسان برای ایجاد امنیت بیشتر به آن نیاز دارند را تامین کند. گذشته از این، استفاده از روش مذکور سبب افزایش حجم فایل اجرایی پس از کامپایل، کندی در بارگذاری و اجرای برنامه، سخت تر شدن انجام عملیات اشکال زدایی (دیباگ)، بالا بردن میزان استفاده از حافظه اصلی و تحمیل بار مضاعف بر دوش پردازنده به دلیل استفاده مکرر از حلقه های تکرار و تصمیم گیری می شود.
در این میان روشی کاملا ابتکاری توسط برخی برنامه نویسان برای هر چه بالاتر بردن ضریب امنیت در کدهای جاوا یا حتی دیگر زبان های برنامه نویسی که از یک قالب همسان با فریم ورک جاوا بهره می برند، ارائه شده است. این روش که به متد رمزگذاری (encryption) معروف است، هم اکنون به عنوان یکی از بهترین و موثرترین راه حل های مطرح شده برای حفاظت از کدهای جاوا شناخته می شود. تفاوت عمده این روش با دیگر متدها در این است که روش رمزگذاری از آغاز تا پایان باید توسط برنامه نویس و گروه توسعه دهنده پروژه پیاده سازی شود؛ برخلاف روش obfuscator که برای مبهم کردن کد منبع از الگوهای محدود و تکراری استفاده می کند.
شاید این موضوع در نگاه اول کمی دشوار به نظر برسد اما کارایی واقعی روش رمزگذاری به این موضوع وابسته است که منطق رمزنگاری در برنامه شما می تواند کاملا متفاوت با تصور دیگران یا به عبارت دیگر کاملا ابتکاری و شخصی باشد.
رفتار متد رمزگذاری
در این روش فرض بر این است که تمام یا تعدادی از کلاس های نوشته شده، به جز کلاس اصلی پروژه و کلاسی که قرار است عملیات کدبرداری دیگر کلاس ها را انجام دهد، با استفاده از یک برنامه واسط و یک کلید اصلی به مجموعه ای از کاراکترهای غیرقابل فهم و نامفهوم تبدیل شده است. سپس کلاس های کدشده در مسیر مناسب به پروژه افزوده می شوند.
کلاس اصلی پروژه باید بتواند با استفاده از توابعی که برای رمز گشایی کلاس های کدشده توسط برنامه نویس طراحی شده اند، کلاس های مذکور را در حافظه دیکد و بازسازی کند تا در محل و زمان مناسب فراخوانی و استفاده شوند. به این ترتیب حتی بعد از دیکامپایل شدن برنامه نیز کاربران با انبوهی از کلاس های رمزگذاری شده و کاراکترهای غیرقابل فهم روبه رو خواهند شد.
نحوه پیاده سازی
پیش از هر چیز باید گفت که بهترین حالت ممکن برای پیاده سازی روش رمزگذاری، زمانی است که تمام برنامه نویسی های مربوط به کلاس ها و متدهایشان به صورت کامل انجام شده و پروژه آماده کامپایل شدن نهایی باشد. همان طور که پیشتر نیز گفته شد، برای پیاده سازی این متد ما نیاز به یک برنامه واسط برای رمزنگاری کلاس های مورد نظرمان با استفاده از یک کلید اصلی و بر اساس الگویی که برنامه نویس مشخص کرده است داریم. برای نمونه، برنامه ساده ای بنویسید که تمام کاراکترهای یک فایل از نوع کلاس جاوا را به عنوان ورودی دریافت کرده و با یک مقدار به عنوان کلید اصلی xor کند. سپس باید کلاس یا تابع مستقلی برای کدبرداری کلاس های رمزگذاری شده با استفاده از همان کلید اصلی نوشته شود تا در هنگام اجرای برنامه بتوانیم با فراخوانی آن، کلاس های کد شده را در حافظه رمزگشایی و دوباره سازی کنیم و سرانجام برنامه بدون هیچ مشکلی بتواند اجرا شود. توجه داشته باشید که کلید اصلی به عنوان یک عنصر حیاتی برای حفظ امنیت و حتی ضامن اجرای صحیح برنامه، می تواند برای هر کلاس به صورت متفاوت تولید شود یا از مجموعه چند عملیات پیچیده ریاضی روی مقادیر گوناگون به دست آمده باشد، یا حتی روی یک قفل سخت افزاری ذخیره شود تا برنامه بدون وجود آن اصلا اجرا هم نشود.
برای پنهان ماندن الگوریتم کدبرداری کلاس ها نیز می توانید از فایل های کتابخانه ای پویا و استاندارد (برای ویندوز پسوند dll و برای گنولینوکس پسوند so) نوشته شده با زبان c استفاده کنید. البته در این حالت پیاده سازی الگوریتم رمزگشایی باید در همین کتابخانه ها انجام شود و همین طور برای حفظ قابلیت اجرا و انتقال روی سایر پلتفرم ها نیز باید کتابخانه های مورد نیاز و قابل استفاده روی سایر پلتفرم ها را هم ایجاد کرده و همراه با دیگر منابع به پروژه بیفزایید تا بتوانید با توجه به نوع سیستم عامل، فایل کتابخانه مورد نظر را بارگذاری کرده و توابع مورد نیاز برای رمزگشایی را از داخل این فایل ها فراخوانی کنید.
نتیجه گیری
روش یا متد رمزگذاری راه حل مناسبی برای حفظ امنیت کد برنامه های نوشته شده به زبان جاواست که بر خلاف دیگر روش های معمول در روند عادی اجرای برنامه خللی وارد نمی کند و در صورتی که به درستی پیاده سازی شود حتی می توان با اتکا به آن از فریم ورک جاوا، بدون ترس از دیکامپایل شدن برنامه در پروژه های تجاری بزرگ و مستقل از سکو نیز استفاده کرد و با خیال راحت از مواهب بسیار زیاد جاوا برخوردار شد.
منابع
http://java.sun.com
http://www.javaworld.com
http://www.devarticles.com
محمد جواد احمدی
... مثلا اگر در مرحله قبل گزینه start a program را انتخاب کرده باشید، در این بخش از شما نشانی فایل اجرایی و پارامتر هایی که برای اجرا شدن فایل نیاز است را از شما می خواهد (برای نمونه، اگر می خواهید سر ساعت مشخص کامپیوتر شما خاموش شود در بخش نشانی برنامه shutdown را وارد کرده و در بخش add arguments عبارت s/ را بنویسید ... یا اگر در مرحله قبل گزینه send an e-mail را انتخاب کرده باشید در این مرحله مشخصات مربوط به فرستنده و گیرنده و متن پیغام و اگر فایل ضمیمه ای داشت را مشخص می کنیم ...
... وقتی فلشی که دارای اطلاعاتی است به کامپیوتر متصل می کنم، فایل هایی که روی آن قرار دارد یک سری به صورت مخفی و یک سری به صورت فایل اجرایی و پوشه باز نمایش داده می شود، در صورتی که روی سیستم، آنتی ویروس آپدیت شده نیز نصب است ولی فایل ها بازهم به همان صورت نمایش داده می شود ... فایل هایی که می بینید معمولا روی بیشتر فلش ها قرار دارند و بخشی از آنها مربوط به خود فلش و برای استفاده درست و شناسانیدن آن به سیستم است ... برخی از این فایل ها به صورت مخفی و برخی نیز اجرایی هستند ... طبیعی است که برای داشتن آپدیت های پس از زمان مشخص شده روی سی دی باید یا دوباره فایل ها را به صورت آفلاین در اختیار آنتی ویروس قرار دهید (همان کاری که منتشرکننده انجام داده و آپدیت های دانلود شده را در اختیار کاربر قرار داده) یا خودتان از طریق اینترنت آنها را به دست آورید ... آیا فرمت این نوع فایل ها متفاوت است؟ یا اگر برنامه منبع باز باشد بهتر است؟ لطفا سایتی برای دانلود این نوع موزیک معرفی کنید ...
... در بخش object چیزهای متنوعی برای الحاق به پروژه وجود دارد که از مهم ترین آنها می توان به موارد زیر اشاره کرد: paragraph text/input text/text: برای افزودن متن، متن متغیر و متن پاراگرافی به صفحه text button/bitmap button/alpha button: برای افزودن دکمه شفاف، دکمه تصویری و دکمه متنی به صفحه bitmap/animated gif/flash/video: برای افزودن ویدئو، فایل فلش، فایل تصویری متحرک و فایل تصویری ثابت 4- تنظیم رفتار هر شی در برابر درخواست کاربر: پس از افزودن هر شیء با دبل کلیک روی آن پنجره، تنظیمات مربوط به آن ظاهر شده و به کمک این پنجره می توانیم رفتار آن شیء را در مقابل کلیک کاربر مشخص کنیم ... همچنین در صورتی که بخواهیم یک فایل صوتی در هنگام قرار گرفتن ماوس روی دکمه و یا کلیک ماوس روی آن پخش شود، از گزینه سوم یعنی sound actions استفاده می کنیم و در نهایت اگر این اکشن ها پاسخگوی نیازمان نباشد و نیازمند اکشن های پیشرفته تری باشیم، از گزینه (more actions (scripting استفاده می کنیم ... در صورتی که نتیجه نهایی کاملا مطابق نظرمان بود، از قسمت project گزینه check & distribute را برگزیده و در پنجره باز شده با گزینه locate مسیر ذخیره فایل اجرایی (exe ) نرم افزار خواهد بود را مشخص کرده و با کلیک روی دکمه تائید، پروژه را در مسیر دلخواه ذخیره می کنیم ... اگر داخل پروژه از فایل های فلش استفاده کرده باشیم، باید گزینه embed flash player runtime را نیز در این قسمت انتخاب کنیم تا فایل های فلش در صورتی که نرم افزار فلش پلیر وجود نداشته باشد، قابل پخش باشند ...
... علیپور گفت: نشانه ها و علائم مورد حمله قرارگرفتن سیستمها روی سایت مرکز ماهر موجود است و ضمن اینکه یک فایل اجرایی کوچک توسط مراکز آپای دانشگاه شریف و امیرکبیر نوشته شده و روی وبسایت ماهر قابل دانلود شدن است ...
... علیپور گفت: نشانه ها و علائم مورد حمله قرارگرفتن سیستمها روی سایت مرکز ماهر موجود است و ضمن اینکه یک فایل اجرایی کوچک توسط مراکز آپای دانشگاه شریف و امیرکبیر نوشته شده و روی وبسایت ماهر قابل دانلود شدن است ...
... حالا سه فایل avvscan ... پس از نصب دوباره ویندوز، این سه فایل را در مسیر یاد شده با فایل های قبلی جایگزین کنید ... باقری از تهران – مدتی است درایو c کامپیوترم پر شده و هر چقدر فایل خالی می کنم، باز هم طی چند دقیقه پر می شود ... این ویروس به ازای هر فولدر، یک فایل اجرایی 100مگابایتیی «الکی» در یکی از فولدرهای داکیومنت های شما به صورت مخفی می سازد و به همین دلیل پس از مدت کمی کار با سیستم، متوجه نبود فضا خواهید شد ...
... فایل ekrn ... exe از نود32 را که باعث بالابردن پردازش cpu می شود چگونه می توان پاک کرد؟ این فایل از پردازش های آنتی ویروس nod32 است که مورد نیاز این نرم افزار نیز هست ... این فایل ها در پوشه system32 وجود دارند ... کار آن اسکن همزمان فایل ها در هنگام باز کردن، ذخیره یا به روز کردن آنها و همین طور اسکن فایل های دانلود شده است ... پردازش چهارم فایل اجرایی است که ویندوز برای انجام برنامه های کاربردی خود در پس زمینه از آن استفاده می کند ... پردازش پنجم هم فایل اجرایی اصلی اینترنت اکسپلورر است که توسط این پردازش می توانید صفحات اینترنت را ببینید ... آخرین پردازش هم فایلی اجرایی است که به همراه تجهیزات صوتی تصویری (کارت صدا یا گرافیک) شرکت intel روی سیستم شما نصب می شود و به شما اجازه انجام تنظمیاتی روی این دستگاه ها می دهد ... هادی خلج از محلات کاربرد پوشه quarantine و فایل hook در درایو : c چیست و آیا پاک کردن آنها مشکل ایجاد می کند؟ پوشه quarantine توسط آنتی ویروس ایجاد می شود و برای قرنطینه کردن فایل های آلوده ای که قابل پاک شدن نیستند استفاده می شود ... طبیعی است پاک کردن هر کدام از این پوشه ها یا فایل ها باعث اختلال در فعالیت درست سیستم خواهد شد ... وقتی یک سند تکست ایجاد می کنم و می خواهم یک نام برای آن سند انتخاب کنم این اخطار ظاهر می شود و اگر روی گزینه آری کلیک کنم فایل خراب می شود ...
... این نرم افزار، برای افرادی تهیه شده که می خواهند تصاویر شخصی یا محرمانه خود را از دید افراد غیرمجاز مخفی نگه داشته و حتی در صورت مفقود شدن یا به سرقت رفتن فایل حاوی تصاویر نیز خیالشان از لحاظ دیده نشدن تصاویرشان راحت باشد! نرم افزار فوق قادر است آلبوم های مختلفی از تصاویر شما تهیه کرده و آنها را پس از رمزنگاری در قالب یک فایل اجرایی در اختیار شما قرار دهد ... به این ترتیب هر زمان که بخواهید می توانید با کلیک روی فایل مربوطه و وارد کردن رمز عبور، تصاویر مورد نظرتان را مشاهده کنید ... همچنین در صورت سرقت یا مفقود شدن فایل اجرایی نیز تصاویر شما به هیچ وجه قابل مشاهده نخواهد بود؛ چراکه تنها راه باز کردن فایل اجرایی وارد کردن کلمه عبور به صورت صحیح است ...
... با وجودی که همه ویروس ها خطرناک نیستند، ولی بسیاری از آنها با هدف تخریب انواع مشخصی از فایل ها، برنامه های کاربردی و یا سیستم های عامل نوشته شده اند ... ویروس ها هم مشابه همه برنامه های دیگر از منابع سیستم مانند حافظه و فضای دیسک سخت، توان پردازنده مرکزی و سایر منابع بهره می گیرند و می توانند اعمال خطرناکی را انجام دهند به عنوان مثال فایل های روی دیسک را پاک کرده و یا کل دیسک سخت را فرمت کنند ... در این قطاع کدهای اجرایی ذخیره شده اند که فعالیت کامپیوتر با استفاده از آنها انجام می شود ... هدف این دسته از ویروس ها فایل های تولید شده توسط برنامه هایی است که از زبان های برنامه نویسی ماکرویی مانند مستندات exel یا word استفاده می کنند ... ویروس های ماکرو از طریق دیسک ها، شبکه و یا فایل های پیوست شده با نامه های الکترونیکی قابل گسترش می باشد ... ویروس تنها در هنگامی امکان فعال شدن را دارد که فایل آلوده باز شود، در این صورت ویروس شروع به گسترش خود در کامپیوتر نموده و سایر فایل های موجود را نیز آلوده می نماید ... انتقال این فایل ها به کامپیوتر های دیگر و یا اشتراک فایل بین دستگاه های مختلف باعث گسترش آلودگی به این ویروس ها می شود ... file infecting viruses: فایل های اجرایی (فایل های با پسوند ... com) را آلوده نموده و همزمان با اجرای این برنامه ها خود را در حافظه دستگاه بار نموده و شروع به گسترش خود و آلوده کردن سایر فایل های اجرایی سیستم می نمایند ...
|
صفحه 1
|
2 | 3 | 4 |
|