Допомога у написанні освітніх робіт...
Допоможемо швидко та з гарантією якості!

Вступ. 
Захист виконуваного коду java

РефератДопомога в написанніДізнатися вартістьмоєї роботи

JVM є ключовим компонентом платформи Java. Так як віртуальні машини Java доступні багатьом апаратним і програмним платформам, Java може розглядатися і як сполучне програмне забезпечення, і як самостійна платформа, звідси принцип «написано одного разу, запускається скрізь» (write once, run anywhere). Проблема запобігання декомпіляції Java байт-коду має майже такий самий вік як і сама мова… Читати ще >

Вступ. Захист виконуваного коду java (реферат, курсова, диплом, контрольна)

java шифрування код програма В основі кожного програмного продукту лежить інтелектуальна власність його розробників. Адже на створення програми пішло багато годин роботи програмістів, тестувальників та служби маркетингу. Хочеться, щоб при комерційному релізі унікальний продукт не був вивчений, скопійований і модифікований конкурентами, а для цього програми необхідно захищати від аналізу.

Проблема запобігання декомпіляції Java байт-коду має майже такий самий вік як і сама мова. Незважаючи на велику кількість методів захисту коду, Java програмісти придумують нові способи захистити свою інтелектуальну власність. Одним із таких способів є шифрування байт-коду.

Актуальність цієї роботи полягає в отриманні рекомендацій, які дозволяють підвищити надійність захисту програмного продукту від несанкціонованого дослідження, копіювання та модифікації.

Метою даної роботи є формулювання рекомендацій по реалізації захисту програмного продукту, написаного мовою Java, шляхом шифрування скомпільованого байт-коду програми.

АНАЛІЗ ПРОБЛЕМ ЗАХИСТУ ВИКОНУВАНОГО КОДУ JAVA

Архітектура Java

Java Virtual Machine (скорочено Java VM, JVM) — віртуальна машина Java — основна частина виконуваної системи Java, так званої Java Runtime Environment (JRE). Віртуальна машина Java інтерпретує байт-код Java, попередньо створений з вихідного тексту Java-програми компілятором Java (javac). JVM може також використовуватися для виконання програм, написаних на інших мовах програмування. Наприклад, вихідний код на мові Ada може бути відкомпільований в байт-код Java, який потім може виконатися за допомогою JVM.

JVM є ключовим компонентом платформи Java. Так як віртуальні машини Java доступні багатьом апаратним і програмним платформам, Java може розглядатися і як сполучне програмне забезпечення, і як самостійна платформа, звідси принцип «написано одного разу, запускається скрізь» (write once, run anywhere).

Програми, призначені для запуску на JVM повинні бути скомпільовані в стандартизованому переношуваному двійковому форматі, який зазвичай представляється у вигляді файлів .сlass. Програма може складатися з безлічі класів, розміщених в різних файлах. Для полегшення розміщення великих програм, частина файлів виду. сlass можуть бути упаковані разом у так званий .jar файл (скорочення від Java Archive).

Архітектура Java.

Рисунок 1 — Архітектура Java.

Віртуальна машина JVM виконує файли. class або .jar, емулюючи інструкції, написані для JVM, шляхом інтерпретування чи використання just-in-time компілятора (JIT), такого, як HotSpot від Sun microsystems. У наші дні JIT компіляція використовується в більшості JVM в цілях досягнення більшої швидкості. Існують також ahead-of-time компілятори, що дозволяють розробникам додатків прекомпілювання файлів класів в рідній для конкретної платформи код.

Як і більшість віртуальних машин, Java Virtual Machine має stack-орієнтовану архітектуру, властиву мікроконтролерам в мікропроцесорах.

JVM, яка є екземпляром JRE (Java Runtime Environment), вступає в дію при виконанні програм Java. Після завершення виконання, цей екземпляр видаляється збиральником сміття. JIT є частиною віртуальної машини Java, яка використовується для прискорення виконання додатків. JIT одночасно компілює частини байт-коду, які мають аналогічну функціональність, і, отже, зменшує кількість часу, необхідного для компіляції.

Показати весь текст
Заповнити форму поточною роботою