آخرین اخبار و مقالات و مطالب پیرامون فایل ها در ایران آی سی تی نیوز ، پایگاه فناوری اطلاعات و ارتباطات ایران
بر روی این دامنه اینترنتی سیستم مدیریت محتوا
پارس سی ام اس
نصب شده است که نرم افزاری قوی جهت طراحی سایت
می باشد. طراحی وب
با استفاده از پرتال
( پورتال
) پارس منجر به طراحی وب سایت
شما می شود. طراحی وب سایت
کپی رایت پورتال
پارس
با وجود کارایی زیاد و انعطاف پذیری بالای زبان برنامه نویسی جاوا، این ابزار قدرتمند و رو به توسعه هنوز نتوانسته جایگاه مناسبی برای پیاده سازی پروژه های تجاری در مقایسه با سایر 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
محمد جواد احمدی
... حتما تا به حال به این موضوع برخورده اید که فرمت برخی از فایل ها روی سیستم شما ناشناخته است و نمی انید فایل های روی دیسک تان با چه برنامه ای باز می شوند؟ اگر به صورت پیش فرض یک فایل ناشناخته را با ویندوز باز کنید، پیغامی به شما داده می شود که یا برنامه مورد نظر را انتخاب کنید یا از طریق سرویس مایکروسافت متوجه شوید که این پسوند با چه برنامه ای باز می شود ... همچنین می توان این کار را به صورت مستقیم انجام داد، کافی است پسوند فایل مورد نظر خود را بدانید و سری به سایت زیر بزنید: http://www ... com این وب سایت اطلاعات خوبی در مورد فرمت فایل های مختلف و همچنین نرم افزارهایی که آنها را باز می کند دارد، بنابراین چک کردن این وب سایت مناسب است ...
... روش های مختلفی برای حفاظت از فایل های محرمانه وجود دارد، مانند پنهان سازی در مسیرهای پیچیده، رمزنگاری، قفل اطلاعات در فایل های مجازی و استفاده از نرم افزارهایی که همچون گاوصندوق عمل می کنند ... اما افزون بر این روش ها، روش های دیگری نیز وجود دارند که یکی از آنها پنهان سازی یک فایل در فایلی با فرمت دیگر است ... برای مثال با استفاده از این روش کاربران می توانند فایل های اجرایی خود را در فایل های تصویری ذخیره کنند یا اطلاعات خود را در فایل هایی از نوع موسیقی پنهان سازند ... یکی از تفاوت های قابل توجه در استفاده از این روش، شک برانگیز نبودن فایل های قفل شده است، چرا که این فایل ها دارای فرمت خاصی نیستند و همچون دیگر عکس ها یا موسیقی های ذخیره شده روی هارد دیسک شما دیده می شوند و فقط شما می دانید که در قلب آنها اطلاعات دیگری نهفته است! اما این روش نیز نقطه ضعف هایی داشت که یکی از آنها عدم امکان استفاده از فایل اصلی بود ... به این ترتیب که وقتی شما فایل های مورد نظرتان را در قلب یک موسیقی پنهان می کنید، دیگر قادر به پخش موسیقی اولیه نیستید! همین طور اگر فایل های خود را در یک تصویر پنهان کنید، نمی توانید تصویر اصلی را مشاهده کنید ... این ضعف باعث می شد کاربرانی که کمی حرفه ای تر هستند به فایل مربوط مشکوک شده و به پنهان شدن اطلاعاتی در داخل آن پی ببرند ...
... به نظر شما ایجاد فایل های ساختگی (جعلی) با نام ها و حجم های مختلف چه کاربردی می تواند داشته باشد؟ شاید فکر کنید ایجاد این گونه فایل ها جز اشغال فضای هارد دیسک هیچ مزیتی ندارد، اما اگر طور دیگری به این فایل ها نگاه کنیم، می بینیم که می توان از فایل های ساختگی در حجم های مختلف استفاده های متعددی کرد ... برای مثال به کمک این فایل ها می توانید سرعت انتقال اطلاعات روی هارد دیسک، حافظه فلش و حتی شبکه را بررسی کنید، همچنین می توانید از آنها برای حفاظت از اطلاعات مهم و محرمانه خود کمک بگیرید یا حتی با استفاده از آنها فضای خالی حافظه فلش خود را پر کنید تا هنگام اتصال آن به رایانه های آلوده به ویروس، ظرفیت خالی برای ذخیره شدن ویروس روی آن وجود نداشته باشد! نرم افزار filefiller با توجه به این کاربردها طراحی شده ... این نرم افزار که استفاده از آن کاملا رایگان است به شما این امکان را می دهد تا فایل های دلخواه خود را به نام های گوناگون و در اندازه های موردنظرتان به راحتی ایجاد کنید ... ایجاد فایل های جعلی 4 گیگابایتی در فایل سیستم های fat16/32 و فایل هایی تا حجم 80 گیگابایت در فایل سیستم ntfs و قابلیت اجرا بدون نیاز به نصب از امکانات این نرم افزار به شمار می روند ...
... با این برنامه شما می توانید فایل های چندرسانه ای (صوتی و تصویری) خود را به هر فرمتی دلخواه تبدیل کنید ... به دلیل گسترش و تنوع فرمت های صوتی و تصویری، بسیاری از کاربران برای تبدیل این نوع فایل ها به مشکلاتی برمی خوردند ... فرض کنید یک فایل موسیقی با فرمت amr داریم و می خواهیم آن را مثلا به فرمت mp3 درآوریم ... یا این که یک فایل تصویری بافرمت dat داریم که می خواهید به یک فرمت دیگری مانند avi درآوریم ... برای رسیدن به نتیجه باید چه کاری انجام دهیم؟ امروزه با پیشرفت هایی که در زمینه تولید نرم افزارهای صوتی و تصویری انجام شده، دیگر اعمال هر تغییری در فایل ها امکان پذیر است و برنامه media converter master نگارش 1/0/9 یکی از راه حل های این کار است ... این نرم افزار دامنه وسیعی از فرمت ها را در اختیار کاربر قرار می دهد تا بتواند به آنچه که نیاز دارد، جامه عمل بپوشاند و کاربر را از استفاده از هر برنامه دیگر برای این منظور بی نیاز می سازد ... تنها کاری که شما باید انجام دهید این است که گزینه select file را انتخاب یا روی آیکون «+» کلیک کنید تا بتوانید فایل دلخواه را به این برنامه فراخوانید ... پس از فراخوانی فایل مورد نظر که در کادر میانی سمت چپ برنامه نمایش داده می شود، یکی از فرمت های نمایش داده شد را برگزینید ( با کلیک روی نماد to other می توانید فرمت های دیگر را هم ببینید) ...
... در واقع، این اوبونتو مستقیما برای نت بوک ها طراحی شده است ... تغییرات جدیداوبونتوی 04/10 با تغییر اسکیم رنگی قهوه ای به بنفش، باعث ایجاد بزرگ ترین تغییر ظاهری پس از مدت ها به این سیستم عامل شد و حالا اوبونتوی 10/10 از فونت لوگوی 04/10 استفاده کرده و شکل و ظاهری جدید و منطقی به این سیستم عامل داده است ... نکته جالب این است که اوبونتو به زودی نرم افزاری ویندوزی عرضه می کند که به کمک آن می توان از طریق ویندوز نیز به اشتراک فایل ها، موسیقی و ... نوآوری دیگر اوبونتو این است که می توان با پرداخت هزینه ای اندک از طریق این سرویس، موسیقی و فایل ها را به گوشی های آیفون و آندرویدی منتقل کرد ... البته هنوز نرم افزارهای پولی در این سرویس زیاد نیستند و fluendo dvd player یکی از همین گزینه ها ست ... همچنین در قلب اوبونتوی 10/10 نگارش نت بوک، رابط کاربری جدیدی به نام unity طراحی شده که در مقابل بیشتر سیستم های عامل حرف های زیادی برای گفتن دارد و به طور خاص منوی اصلی برنامه ها به سمت چپ منتقل شده است ... کانونیکال برای این کار 2 دلیل بزرگ دارد: نخست این که بیشتر صفحه های نمایش امروزی نت بوک ها، نمایشگرهای کوچک پهنی دارند و بنابراین حذف منوهای بالا و پایین و استفاده از فضای چپ و راست، کمک زیادی به استفاده بهینه از فضا خواهد کرد ... هر چند هم اکنون بیشتر نت بوک ها به قابلیت صفحه های لمسی مجهز نیستند، اما کانونیکال با نگاهی به آینده و احتمالا به دنبال شکار بازار تبلت ها، قابلیت های لمسی را در این توزیع قرار داده و در هر یک از این دو حالت، آماده پشتیبانی از صفحه های لمسی است ...
... این نسخه از کروم به کاربران اجازه می دهد فولدرها را از کامپیوترشان با انتخاب فایل ها در یک زمان آپلود کنند ...
... بعضی وقت ها نیز استفاده از ram reader باعث بروز چنین مشکلی می شود ... برای نمونه در بعضی موارد، پوشه هایی برای استفاده سیستم عامل (یا برخی آنتی ویروس ها) ایجاد می شود که اجازه تغییر در آن توسط کاربر داده نمی شود ... در ضمن این مساله ساده را هم تست کنید که آیا گرداننده سی دی شما و اتصالات آن درست کار می کند یا نه؟ علیرضا شادعلی می خواستم در مورد مشکلی که روی فلش ها پیش می آید سوالی بپرسم ... وقتی فلشی که دارای اطلاعاتی است به کامپیوتر متصل می کنم، فایل هایی که روی آن قرار دارد یک سری به صورت مخفی و یک سری به صورت فایل اجرایی و پوشه باز نمایش داده می شود، در صورتی که روی سیستم، آنتی ویروس آپدیت شده نیز نصب است ولی فایل ها بازهم به همان صورت نمایش داده می شود ... فایل هایی که می بینید معمولا روی بیشتر فلش ها قرار دارند و بخشی از آنها مربوط به خود فلش و برای استفاده درست و شناسانیدن آن به سیستم است ... برخی از این فایل ها به صورت مخفی و برخی نیز اجرایی هستند ... اگر ویروس کش دارای آپدیت در خود سی دی باشد به این معناست که تا زمان ارائه این سی دی تمام آپدیت ها توسط منتشرکننده جمع آوری شده و روی سی دی در اختیار کاربر قرار گرفته است ... طبیعی است که برای داشتن آپدیت های پس از زمان مشخص شده روی سی دی باید یا دوباره فایل ها را به صورت آفلاین در اختیار آنتی ویروس قرار دهید (همان کاری که منتشرکننده انجام داده و آپدیت های دانلود شده را در اختیار کاربر قرار داده) یا خودتان از طریق اینترنت آنها را به دست آورید ...
... لئونارد کلاینراک (leonard kleinrock) از دانشگاه ام آی تی و ucla نظریه انتقال بسته ها (packet switching) را مطرح کرد که اصل پایه اتصالات اینترنت امروزی است ... هدف اولیه از تاسیس اینترنت این بود که شبکه به گونه ای تاسیس شود تا در صورت نابودی یکی از سایت ها توسط بمب اتمی، شبکه سالم باقی بماند ... اگر مسیر اصلی نابود می شد، مسیریاب ها از طریق مسیرهای فرعی اطلاعات را منتقل می کردند ... اینترنت اولیه برای خبرگان، مهندسان، دانشمندان و کتابخانه ها بود، بنابراین هیچ پدیده ساده ای نبود ... پروتکل ftp که برای انتقال فایل بین سایت ها استفاده می شد نیز به دنبال انتشار یک rfc در سال 1973 اختراع شد و از آن هنگام به بعد، این rfcها را هر کسی که از این پروتکل استفاده می کرد، می توانست دانلود کند! 29 اکتبر 1969، چارلی کلاین در دانشگاه ucla نخستین بسته های اطلاعاتی را در شبکه آرپانت به دانشگاه استانفورد فرستاد ... البته وقتی به کاراکتر g در کلمه login رسید، سیستم از کار افتاد! در اواخر دهه 60 میلادی، کتابخانه ها کاتالوگ های خود را اتوماسیون کردند و شبکه ای مستقل از آرپا تشکیل دادند ... کاتالوگ های اتوماسیون شده که در آغاز رابط چندان کاربرپسندی نداشتند، در اختیار جهانیان قرار گرفتند و تا پیش از آن که وب اختراع شود تا سال ها تنها از طریق تل نت می شد به آنها دسترسی پیدا کرد ...
... حتما برای شما هم پیش آمده که روی دیسک سخت خود تعداد زیادی فایل دارید که ویندوز نمی تواند تشخیص دهد که این فایل ها مربوط به کدام برنامه است؟ این مشکل بیشتر زمانی بروز می کند که شما یک برنامه را نصب و سپس آن را به جای uninstall، حذف (delete) کرده اید و فایل های ذخیره شده را نگه داشته اید ... پس روی فایل کلیک کرده و گزینه زیر را انتخاب کنید: use the web service to find correct program سپس ویندوز به صورت خودکار به سرویس تحت وب خود وصل شده و پسوند فایل مورد نظر را در پایگاه داده خود جستجو می کند و اگر پیدا کرد، اطلاعات مربوط به فایل و برنامه یا برنامه هایی که می توانند فایل را باز کنند را معرفی می کند ... اما اگرنتیجه ای یافت نشد، می توانید پسوند فایل مورد نظر را در اینترنت جستجو کنید یکی از سایت ها معروف در این زمینه سایت fileinfo است که برای دسترسی به آن می توانید از نشانی زیر استفاده کنید: http://www ... com سپس در بخش جستجو پسوند فایل مورد نظر را وارد کنید ... این سایت به شما می گوید که مثلا این پسوند فایل در انواع سیستم عامل ها به چه معناست ... برای نمونه، فایلی با پسوند conf در ویندوز تعریف نشده است یعنی برنامه ای در ویندوز برای استفاده از این فایل وجود ندارد ولی در سیستم عامل های لینوکس و mac os به عنوان فایل تنظیمات شناخته می شود یا مثلا پسوند dwg را که جستجو کنید در لینوکس تعریف نشده، ولی در محیط ویندوز چندین برنامه هستند که این فایل را می شناسند و می توانند آن را اجرا کنند ...
|
صفحه 1
|
2 | 3 | 4 |
|