Performance analysis of obfuscated JavaScript

Obfuskaatiolla pyritään muuntamaan lähdekoodi lukukelvottomaan muotoon siten, että sen semantiikka säilyy muuttumattomana. Tämä tutkielma kartoittaa erilaisia JavaScript-ohjelmointikielessä käytettyjä obfuskaatiomenetelmiä. Käytännön tutkimuksessa menetelmiä vertaillaan keskenään mittaamalla niiden...

Täydet tiedot

Bibliografiset tiedot
Päätekijä: Häyrynen, Mikko
Muut tekijät: Informaatioteknologian tiedekunta, Faculty of Information Technology, Informaatioteknologia, Information Technology, Jyväskylän yliopisto, University of Jyväskylä
Aineistotyyppi: Pro gradu
Kieli:eng
Julkaistu: 2022
Aiheet:
Linkit: https://jyx.jyu.fi/handle/123456789/81685
_version_ 1828193050303660032
author Häyrynen, Mikko
author2 Informaatioteknologian tiedekunta Faculty of Information Technology Informaatioteknologia Information Technology Jyväskylän yliopisto University of Jyväskylä
author_facet Häyrynen, Mikko Informaatioteknologian tiedekunta Faculty of Information Technology Informaatioteknologia Information Technology Jyväskylän yliopisto University of Jyväskylä Häyrynen, Mikko Informaatioteknologian tiedekunta Faculty of Information Technology Informaatioteknologia Information Technology Jyväskylän yliopisto University of Jyväskylä
author_sort Häyrynen, Mikko
datasource_str_mv jyx
description Obfuskaatiolla pyritään muuntamaan lähdekoodi lukukelvottomaan muotoon siten, että sen semantiikka säilyy muuttumattomana. Tämä tutkielma kartoittaa erilaisia JavaScript-ohjelmointikielessä käytettyjä obfuskaatiomenetelmiä. Käytännön tutkimuksessa menetelmiä vertaillaan keskenään mittaamalla niiden vaikutuksia kolmen esimerkkiohjelman suorituskykyyn. Tulokset osoittavat, että obfuskaatio voi heikentää suorituskykyä merkittävästi, mutta eivät välttämättä yleisty todellisiin tuotanto-ohjelmiin. Obfuscation aims to transform source code into an illegible format while preserving its semantics. This thesis explores the different obfuscation techniques used in the JavaScript programming language. An experiment is conducted to measure the impacts of several different techniques on the performance of three example programs. The findings suggest that code obfuscation can incur severe performance drawbacks, although the extent to which this would hinder real production programs remains unclear.
first_indexed 2022-06-14T20:00:27Z
format Pro gradu
free_online_boolean 1
fullrecord [{"key": "dc.contributor.advisor", "value": "Lakanen, Antti-Jussi", "language": "", "element": "contributor", "qualifier": "advisor", "schema": "dc"}, {"key": "dc.contributor.author", "value": "H\u00e4yrynen, Mikko", "language": "", "element": "contributor", "qualifier": "author", "schema": "dc"}, {"key": "dc.date.accessioned", "value": "2022-06-14T05:38:31Z", "language": null, "element": "date", "qualifier": "accessioned", "schema": "dc"}, {"key": "dc.date.available", "value": "2022-06-14T05:38:31Z", "language": null, "element": "date", "qualifier": "available", "schema": "dc"}, {"key": "dc.date.issued", "value": "2022", "language": "", "element": "date", "qualifier": "issued", "schema": "dc"}, {"key": "dc.identifier.uri", "value": "https://jyx.jyu.fi/handle/123456789/81685", "language": null, "element": "identifier", "qualifier": "uri", "schema": "dc"}, {"key": "dc.description.abstract", "value": "Obfuskaatiolla pyrit\u00e4\u00e4n muuntamaan l\u00e4hdekoodi lukukelvottomaan muotoon siten, ett\u00e4 sen semantiikka s\u00e4ilyy muuttumattomana. T\u00e4m\u00e4 tutkielma kartoittaa erilaisia JavaScript-ohjelmointikieless\u00e4 k\u00e4ytettyj\u00e4 obfuskaatiomenetelmi\u00e4. K\u00e4yt\u00e4nn\u00f6n tutkimuksessa menetelmi\u00e4 vertaillaan kesken\u00e4\u00e4n mittaamalla niiden vaikutuksia kolmen esimerkkiohjelman suorituskykyyn. Tulokset osoittavat, ett\u00e4 obfuskaatio voi heikent\u00e4\u00e4 suorituskyky\u00e4 merkitt\u00e4v\u00e4sti, mutta eiv\u00e4t v\u00e4ltt\u00e4m\u00e4tt\u00e4 yleisty todellisiin tuotanto-ohjelmiin.", "language": "fi", "element": "description", "qualifier": "abstract", "schema": "dc"}, {"key": "dc.description.abstract", "value": "Obfuscation aims to transform source code into an illegible format while preserving its semantics. This thesis explores the different obfuscation techniques used in the JavaScript programming language. An experiment is conducted to measure the impacts of several different techniques on the performance of three example programs. The findings suggest that code obfuscation can incur severe performance drawbacks, although the extent to which this would hinder real production programs remains unclear.", "language": "en", "element": "description", "qualifier": "abstract", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Submitted by Miia Hakanen (mihakane@jyu.fi) on 2022-06-14T05:38:31Z\nNo. of bitstreams: 0", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Made available in DSpace on 2022-06-14T05:38:31Z (GMT). No. of bitstreams: 0\n Previous issue date: 2022", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.format.extent", "value": "45", "language": "", "element": "format", "qualifier": "extent", "schema": "dc"}, {"key": "dc.format.mimetype", "value": "application/pdf", "language": null, "element": "format", "qualifier": "mimetype", "schema": "dc"}, {"key": "dc.language.iso", "value": "eng", "language": null, "element": "language", "qualifier": "iso", "schema": "dc"}, {"key": "dc.rights", "value": "In Copyright", "language": "en", "element": "rights", "qualifier": null, "schema": "dc"}, {"key": "dc.subject.other", "value": "obfuscation", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "web", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.title", "value": "Performance analysis of obfuscated JavaScript", "language": "", "element": "title", "qualifier": null, "schema": "dc"}, {"key": "dc.type", "value": "master thesis", "language": null, "element": "type", "qualifier": null, "schema": "dc"}, {"key": "dc.identifier.urn", "value": "URN:NBN:fi:jyu-202206143294", "language": "", "element": "identifier", "qualifier": "urn", "schema": "dc"}, {"key": "dc.type.ontasot", "value": "Pro gradu -tutkielma", "language": "fi", "element": "type", "qualifier": "ontasot", "schema": "dc"}, {"key": "dc.type.ontasot", "value": "Master\u2019s thesis", "language": "en", "element": "type", "qualifier": "ontasot", "schema": "dc"}, {"key": "dc.contributor.faculty", "value": "Informaatioteknologian tiedekunta", "language": "fi", "element": "contributor", "qualifier": "faculty", "schema": "dc"}, {"key": "dc.contributor.faculty", "value": "Faculty of Information Technology", "language": "en", "element": "contributor", "qualifier": "faculty", "schema": "dc"}, {"key": "dc.contributor.department", "value": "Informaatioteknologia", "language": "fi", "element": "contributor", "qualifier": "department", "schema": "dc"}, {"key": "dc.contributor.department", "value": "Information Technology", "language": "en", "element": "contributor", "qualifier": "department", "schema": "dc"}, {"key": "dc.contributor.organization", "value": "Jyv\u00e4skyl\u00e4n yliopisto", "language": "fi", "element": "contributor", "qualifier": "organization", "schema": "dc"}, {"key": "dc.contributor.organization", "value": "University of Jyv\u00e4skyl\u00e4", "language": "en", "element": "contributor", "qualifier": "organization", "schema": "dc"}, {"key": "dc.subject.discipline", "value": "Tietotekniikka", "language": "fi", "element": "subject", "qualifier": "discipline", "schema": "dc"}, {"key": "dc.subject.discipline", "value": "Mathematical Information Technology", "language": "en", "element": "subject", "qualifier": "discipline", "schema": "dc"}, {"key": "yvv.contractresearch.funding", "value": "0", "language": "", "element": "contractresearch", "qualifier": "funding", "schema": "yvv"}, {"key": "dc.type.coar", "value": "http://purl.org/coar/resource_type/c_bdcc", "language": null, "element": "type", "qualifier": "coar", "schema": "dc"}, {"key": "dc.rights.accesslevel", "value": "openAccess", "language": null, "element": "rights", "qualifier": "accesslevel", "schema": "dc"}, {"key": "dc.type.publication", "value": "masterThesis", "language": null, "element": "type", "qualifier": "publication", "schema": "dc"}, {"key": "dc.subject.oppiainekoodi", "value": "602", "language": "", "element": "subject", "qualifier": "oppiainekoodi", "schema": "dc"}, {"key": "dc.subject.yso", "value": "suorituskyky", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "JavaScript", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "performance (capacity)", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "JavaScript", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.format.content", "value": "fulltext", "language": null, "element": "format", "qualifier": "content", "schema": "dc"}, {"key": "dc.rights.url", "value": "https://rightsstatements.org/page/InC/1.0/", "language": null, "element": "rights", "qualifier": "url", "schema": "dc"}, {"key": "dc.type.okm", "value": "G2", "language": null, "element": "type", "qualifier": "okm", "schema": "dc"}]
id jyx.123456789_81685
language eng
last_indexed 2025-03-31T20:02:04Z
main_date 2022-01-01T00:00:00Z
main_date_str 2022
online_boolean 1
online_urls_str_mv {"url":"https:\/\/jyx.jyu.fi\/bitstreams\/7082692e-2b87-4801-9c0f-235b8ca5b86f\/download","text":"URN:NBN:fi:jyu-202206143294.pdf","source":"jyx","mediaType":"application\/pdf"}
publishDate 2022
record_format qdc
source_str_mv jyx
spellingShingle Häyrynen, Mikko Performance analysis of obfuscated JavaScript obfuscation web Tietotekniikka Mathematical Information Technology 602 suorituskyky JavaScript performance (capacity)
title Performance analysis of obfuscated JavaScript
title_full Performance analysis of obfuscated JavaScript
title_fullStr Performance analysis of obfuscated JavaScript Performance analysis of obfuscated JavaScript
title_full_unstemmed Performance analysis of obfuscated JavaScript Performance analysis of obfuscated JavaScript
title_short Performance analysis of obfuscated JavaScript
title_sort performance analysis of obfuscated javascript
title_txtP Performance analysis of obfuscated JavaScript
topic obfuscation web Tietotekniikka Mathematical Information Technology 602 suorituskyky JavaScript performance (capacity)
topic_facet 602 JavaScript Mathematical Information Technology Tietotekniikka obfuscation performance (capacity) suorituskyky web
url https://jyx.jyu.fi/handle/123456789/81685 http://www.urn.fi/URN:NBN:fi:jyu-202206143294
work_keys_str_mv AT häyrynenmikko performanceanalysisofobfuscatedjavascript