title: ÐÑÐ¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ðµ Ð¼ÐµÑÐ¾Ð´Ð¾Ð² Ð¾Ð±ÑÑÑÐºÐ°ÑÐ¸Ð¸ Ð² ÑÐºÑÐ¸Ð¿ÑÐ¾Ð²ÑÑ ÑÐ·ÑÐºÐ°Ñ Ð´Ð»Ñ Ð·Ð°ÑÐ¸ÑÑ ÐºÐ¾Ð´Ð° Ð¾Ñ Ð°Ð½Ð°Ð»Ð¸Ð·Ð°
title: Ð²ÑÐ¿ÑÑÐºÐ½Ð°Ñ ÐºÐ²Ð°Ð»Ð¸ÑÐ¸ÐºÐ°ÑÐ¸Ð¾Ð½Ð½Ð°Ñ ÑÐ°Ð±Ð¾ÑÐ° ÑÐ¿ÐµÑÐ¸Ð°Ð»Ð¸ÑÑÐ°
titleType: Subtitle
title: Use of obfuscation methods in scripting languages to protect code from analysis
Creators: name: ÐÐ³ÐµÐµÐ²Ð°, ÐÐ»ÐµÐ½Ð°
Publisher: name: Ð¡Ð°Ð½ÐºÑ-ÐÐµÑÐµÑÐ±ÑÑÐ³ÑÐºÐ¸Ð¹ Ð¿Ð¾Ð»Ð¸ÑÐµÑÐ½Ð¸ÑÐµÑÐºÐ¸Ð¹ ÑÐ½Ð¸Ð²ÐµÑÑÐ¸ÑÐµÑ ÐÐµÑÑÐ° ÐÐµÐ»Ð¸ÐºÐ¾Ð³Ð¾
Year: 2024
Subjects: Ð°Ð±ÑÑÑÐ°ÐºÑÐ½Ð¾Ðµ ÑÐ¸Ð½ÑÐ°ÐºÑÐ¸ÑÐµÑÐºÐ¾Ðµ Ð´ÐµÑÐµÐ²Ð¾
Ð·Ð°ÑÐ¸ÑÐ° Ð¸Ð½ÑÐµÐ»Ð»ÐµÐºÑÑÐ°Ð»ÑÐ½Ð¾Ð¹ ÑÐ¾Ð±ÑÑÐ²ÐµÐ½Ð½Ð¾ÑÑÐ¸
Ð¾Ð±ÑÑÑÐºÐ°ÑÐ¸Ñ
abstract syntax tree
intellectual property protection
obfuscation

description: Ð¦ÐµÐ»ÑÑ ÑÐ°Ð±Ð¾ÑÑ ÑÐ²Ð»ÑÐµÑÑÑ Ð¿Ð¾Ð²ÑÑÐµÐ½Ð¸Ðµ Ð·Ð°ÑÐ¸ÑÑÐ½Ð½Ð¾ÑÑÐ¸ ÐºÐ¾Ð´Ð° ÑÐºÑÐ¸Ð¿ÑÐ¾Ð²ÑÑ ÑÐ·ÑÐºÐ¾Ð² Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¾Ñ Ð°Ð½Ð°Ð»Ð¸Ð·Ð° Ð·Ð° ÑÑÑÑ Ð¿ÑÐ¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¼ÐµÑÐ¾Ð´Ð¾Ð² Ð¾Ð±ÑÑÑÐºÐ°ÑÐ¸Ð¸. ÐÑÐµÐ´Ð¼ÐµÑ Ð¸ÑÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ â Ð¾Ð±ÑÑÑÐºÐ°ÑÐ¸Ñ ÑÐºÑÐ¸Ð¿ÑÐ¾Ð²ÑÑ ÑÐ·ÑÐºÐ¾Ð² JavaScript Ð¸ Ruby. Ð ÑÐ¾Ð´Ðµ Ð¸ÑÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ ÑÐµÑÐ°ÑÑÑÑ ÑÐ»ÐµÐ´ÑÑÑÐ¸Ðµ Ð·Ð°Ð´Ð°ÑÐ¸: 1. ÐÑÑÐ»ÐµÐ´Ð¾Ð²Ð°ÑÑ Ð¼ÐµÑÐ¾Ð´Ñ Ð·Ð°ÑÐ¸ÑÑ ÑÐºÑÐ¸Ð¿ÑÐ¾Ð²ÑÑ ÑÐ·ÑÐºÐ¾Ð² Ð¾Ñ Ð°Ð½Ð°Ð»Ð¸Ð·Ð° Ð½Ð° Ð¾ÑÐ½Ð¾Ð²Ðµ Ð¾Ð±ÑÑÑÐºÐ°ÑÐ¸Ð¸; 2. ÐÑÐ¿Ð¾Ð»Ð½Ð¸ÑÑ Ð°Ð½Ð°Ð»Ð¸Ð· Ð¼ÐµÑÐ¾Ð´Ð¾Ð² Ð·Ð°ÑÐ¸ÑÑ, Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÐµÐ¼ÑÑ Ð² ÑÑÐµÐ´ÑÑÐ²Ð°Ñ Ð¾Ð±ÑÑÑÐºÐ°ÑÐ¸Ð¸ ÑÐºÑÐ¸Ð¿ÑÐ¾Ð²ÑÑ ÑÐ·ÑÐºÐ¾Ð²; 3. Ð Ð°Ð·ÑÐ°Ð±Ð¾ÑÐ°ÑÑ Ð¼ÐµÑÐ¾Ð´ Ð¾Ð±ÑÑÑÐºÐ°ÑÐ¸Ð¸ Ð´Ð»Ñ ÑÐºÑÐ¸Ð¿ÑÐ¾Ð²ÑÑ ÑÐ·ÑÐºÐ¾Ð² Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ; 4. Ð Ð°Ð·ÑÐ°Ð±Ð¾ÑÐ°ÑÑ ÑÑÐµÐ´ÑÑÐ²Ð¾ Ð¾Ð±ÑÑÑÐºÐ°ÑÐ¸Ð¸ Ð´Ð»Ñ ÑÐ·ÑÐºÐ¾Ð² Ruby Ð¸ JavaScript Ð¸ Ð¾ÑÐµÐ½Ð¸ÑÑ Ð¸Ñ ÑÑÑÐµÐºÑÐ¸Ð²Ð½Ð¾ÑÑÑ. Ð ÑÐ¾Ð´Ðµ ÑÐ°Ð±Ð¾ÑÑ Ð±ÑÐ»Ð¸ Ð¸ÑÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ñ Ð¼ÐµÑÐ¾Ð´Ñ Ð·Ð°ÑÐ¸ÑÑ ÑÐºÑÐ¸Ð¿ÑÐ¾Ð²ÑÑ ÑÐ·ÑÐºÐ¾Ð² Ð¾Ñ Ð°Ð½Ð°Ð»Ð¸Ð·Ð° Ð½Ð° Ð¾ÑÐ½Ð¾Ð²Ðµ Ð¾Ð±ÑÑÑÐºÐ°ÑÐ¸Ð¸. Ð¢Ð°ÐºÐ¶Ðµ Ð±ÑÐ»Ð¸ Ð¿ÑÐ¾Ð°Ð½Ð°Ð»Ð¸Ð·Ð¸ÑÐ¾Ð²Ð°Ð½Ñ Ð¼ÐµÑÐ¾Ð´Ñ Ð¾Ð±ÑÑÑÐºÐ°ÑÐ¸Ð¸, Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÐµÐ¼ÑÐµ Ð² ÑÑÑÐµÑÑÐ²ÑÑÑÐ¸Ñ Ð¾Ð±ÑÑÑÐºÐ°ÑÐ¾ÑÐ°Ñ Ð´Ð»Ñ ÑÐ·ÑÐºÐ¾Ð² JavaScript, Ruby Ð¸ PowerShell. Ð ÑÐµÐ·ÑÐ»ÑÑÐ°ÑÐµ ÑÐ°Ð±Ð¾ÑÑ Ð±ÑÐ» Ð¿ÑÐµÐ´Ð»Ð¾Ð¶ÐµÐ½ Ð¾Ð±ÑÐ¸Ð¹ Ð¼ÐµÑÐ¾Ð´ Ð¾Ð±ÑÑÑÐºÐ°ÑÐ¸Ð¸ Ð¿Ð¾Ð´ÑÐ¾Ð´ÑÑÐ¸Ð¹ Ð´Ð»Ñ ÑÐºÑÐ¸Ð¿ÑÐ¾Ð²ÑÑ ÑÐ·ÑÐºÐ¾Ð², ÑÐ°ÐºÐ¶Ðµ Ð±ÑÐ»Ð¾ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐ°Ð½Ð¾ ÑÑÐµÐ´ÑÑÐ²Ð¾ Ð´Ð»Ñ Ð¾Ð±ÑÑÑÐºÐ°ÑÐ¸Ð¸ ÑÐºÑÐ¸Ð¿ÑÐ¾Ð² Ð½Ð° ÑÐ·ÑÐºÐ°Ñ JavaScript Ð¸ Ruby. ÐÐ¾Ð»ÑÑÐµÐ½Ð½ÑÐµ ÑÐµÐ·ÑÐ»ÑÑÐ°ÑÑ Ð¼Ð¾Ð³ÑÑ Ð±ÑÑÑ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°Ð½Ñ Ð² ÐºÐ°ÑÐµÑÑÐ²Ðµ Ð¾ÑÐ½Ð¾Ð²Ñ Ð´Ð»Ñ Ð¿ÑÐ¾ÐµÐºÑÐ¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑÑÐµÐ´ÑÑÐ² Ð¾Ð±ÑÑÑÐºÐ°ÑÐ¸Ð¸ Ð´Ð»Ñ Ð´ÑÑÐ³Ð¸Ñ ÑÐºÑÐ¸Ð¿ÑÐ¾Ð²ÑÑ ÑÐ·ÑÐºÐ¾Ð².
description: The goal of the work is to increase the security of the code of scripting programming languages from analysis through the use of obfuscation methods. The subject of the research is obfuscation of the scripting languages JavaScript and Ruby. The following tasks are solved during the research: 1. Research methods for protecting scripting languages from analysis based on obfuscation; 2. Perform an analysis of protection methods used in obfuscation tools for scripting languages; 3. Develop an obfuscation method for scripting programming languages; 4. Develop an obfuscation tool for the Ruby and JavaScript languages and evaluate their effectiveness. During the work, methods for protecting scripting languages from analysis based on obfuscation were investigated. Obfuscation methods used in existing obfuscators for JavaScript, Ruby and PowerShell were also analyzed. As a result of the work, a general obfuscation method suitable for scripting languages was proposed, and a tool for obfuscation of scripts in JavaScript and Ruby was also developed. The results obtained can be used as a basis for designing obfuscation tools for other scripting languages.