تکنیک های پیشرفته ابهام برای بایت کد جاوا
Advanced obfuscation techniques for Java bytecode
مشخصات کلی
سال انتشار | 2004 |
کد مقاله | 4455 |
فرمت فایل ترجمه | Word |
تعداد صفحات ترجمه | 22 |
نام مجله | The Journal of Systems and Software |
نشریه | ScienceDirect |
درج جداول و شکل ها در ترجمه | انجام شده است |
جداول داخل مقاله | ترجمه شده است |
چکیده فارسی
ابزارهای مختلفی برای جلوگیری از تجزیه بایت کد جاوا وجود دارد. اکثر این ابزارها به راحتی اسامی شناسه های ذخیره شده در کد باطری را با جایگزینی شناسه ها با نام های بی معنی تقلا می کنند. با این حال، تکنیک تراکم نمی تواند مدت زمان زیادی را برای تعطیلات کشف شده تعیین کند. ما پیشنهاد می کنیم که چندین تکنیک مبهم پیشرفته را ایجاد کنیم که بایت کدی جاوا را غیر ممکن می سازد و یا برنامه های فشرده شده را دشوار می داند و مجددا کامپایل می شود. رویکرد ما این است که بیش از استفاده از شناسه استفاده کنیم. بدین معنی که یک شناسه می تواند به طور همزمان چندین نهاد، مانند انواع، زمینه ها و روش ها را نشان دهد. مزیت دیگری این است که اندازه کد باطنی کاهش می یابد زیرا نام های کمتر و کمتر از شناسه استفاده می شود. علاوه بر این، ما همچنین تکنیک های متعددی را پیشنهاد می کنیم تا به طور عمدی خطاهای نحوی و معناشناختی را در برنامه decompiled معرفی کنند، در حالی که رفتارهای اصلی کد بایستی حفط شود. به این ترتیب، برنامه decompiled باید به صورت دستی برطرف شود. اگر چه روش اساسی ما این است که شناسه ها را در کد بایت جاوا جا به جا کنیم، کد با تکنیک های ساخته شده با تکنیک های ما تولید شده بسیار سخت تر از آنچه که با سایر روش های رمزگذاری شناسایی تولید می شود بسیار سخت تر است. علاوه بر این، کارآیی زمان اجرا از کد بایت مبهوت شده نیز بهبود یافته است، زیرا بعد از بارگذاری، اندازه بایت کد کوچکتر می شود.
چکیده لاتین
There exist several obfuscation tools for preventing Java bytecode from being decompiled. Most of these tools simply scramble the names of the identifiers stored in a bytecode by substituting the identifiers with meaningless names. However, the scrambling technique cannot deter a determined cracker very long. We propose several advanced obfuscation techniques that make Java bytecode impossible to recompile or make the decompiled program difficult to understand and to recompile. The crux of our approach is to over use an identifier. That is, an identifier can denote several entities, such as types, fields, and methods, simultaneously. An additional benefit is that the size of the bytecode is reduced because fewer and shorter identifier names are used. Furthermore, we also propose several techniques to intentionally introduce syntactic and semantic errors into the decompiled program while preserving the original behaviors of the bytecode. Thus, the decompiled program would have to be debugged manually. Although our basic approach is to scramble the identifiers in Java bytecode, the scrambled bytecode produced with our techniques is much harder to crack than that produced with other identifier scrambling techniques. Furthermore, the run-time efficiency of the obfuscated bytecode is also improved because the size of the bytecode becomes smaller after obfuscation.
خرید و دانلود ترجمه این مقاله:
جهت خرید این مقاله ابتدا روی لینک زیر کلیک کنید، به صفحه ای وارد می شوید که باید نام و ایمیل خود را وارد کنید و پس از آن روی دکمه خرید و پرداخت کلیک نمایید، پس از پرداخت بلافاصله به سایت بازگشته و می توانید فایل خود را دانلود کنید، همچنین لینک دانلود به ایمیل شما نیز ارسال خواهد شد.
هیچ دیدگاهی برای این مقاله ثبت نشده است
دیدگاه ها