Source code obfuscation with genetic algorithms using LLVM code optimizations

Abstract With the advent of the cloud computing model allowing a shared access to massive computing facilities, a surging demand emerges for the protection of the intellectual property tied to the programs executed on these uncontrolled systems. If novel paradigm as confidential computing aims at pr...

Full description

Saved in:
Bibliographic Details
Published inLogic journal of the IGPL Vol. 33; no. 5
Main Authors de la Torre, Juan Carlos, Jareño, Javier, Aragón-Jurado, José Miguel, Varrette, Sébastien, Dorronsoro, Bernabé
Format Journal Article
LanguageEnglish
Published Oxford University Press 01.10.2025
Subjects
Online AccessGet full text
ISSN1367-0751
1368-9894
1368-9894
DOI10.1093/jigpal/jzae069

Cover

Abstract Abstract With the advent of the cloud computing model allowing a shared access to massive computing facilities, a surging demand emerges for the protection of the intellectual property tied to the programs executed on these uncontrolled systems. If novel paradigm as confidential computing aims at protecting the data manipulated during the execution, obfuscating techniques (in particular at the source code level) remain a popular solution to conceal the purpose of a program or its logic without altering its functionality, thus preventing reverse-engineering on the program even with the help of computing resources. The many advantages of code obfuscation, together with its low cost, makes it a popular technique. This paper proposes a novel methodology for source code obfuscation that can be used together with other traditional obfuscation techniques, making the code more robust against reverse engineering attacks. Three program complexity metrics are used to define three different single-objective combinatorial optimization versions of the problem, which are solved and analysed. Additionally, three multi-objective problems are defined, those considering each of the selected metrics together with the program execution time, in order to avoid strong obfuscations penalizing the performance. The goal of the defined problems is to find sequences of LLVM optimizations that lead to highly obfuscated versions of the original code. These transformations are applied to the back-end pseudo-assembly code (i.e., LLVM Intermediate Representation), thus avoiding any further optimizations by the compiler. Classical genetic algorithms (GAs) are used to solve the studied problems, namely a basic cellular GA for the single-objective problems and the popular NSGA-II for the multi-objective ones. The promising results show the potential of the proposed technique.
AbstractList Abstract With the advent of the cloud computing model allowing a shared access to massive computing facilities, a surging demand emerges for the protection of the intellectual property tied to the programs executed on these uncontrolled systems. If novel paradigm as confidential computing aims at protecting the data manipulated during the execution, obfuscating techniques (in particular at the source code level) remain a popular solution to conceal the purpose of a program or its logic without altering its functionality, thus preventing reverse-engineering on the program even with the help of computing resources. The many advantages of code obfuscation, together with its low cost, makes it a popular technique. This paper proposes a novel methodology for source code obfuscation that can be used together with other traditional obfuscation techniques, making the code more robust against reverse engineering attacks. Three program complexity metrics are used to define three different single-objective combinatorial optimization versions of the problem, which are solved and analysed. Additionally, three multi-objective problems are defined, those considering each of the selected metrics together with the program execution time, in order to avoid strong obfuscations penalizing the performance. The goal of the defined problems is to find sequences of LLVM optimizations that lead to highly obfuscated versions of the original code. These transformations are applied to the back-end pseudo-assembly code (i.e., LLVM Intermediate Representation), thus avoiding any further optimizations by the compiler. Classical genetic algorithms (GAs) are used to solve the studied problems, namely a basic cellular GA for the single-objective problems and the popular NSGA-II for the multi-objective ones. The promising results show the potential of the proposed technique.
Author Varrette, Sébastien
Aragón-Jurado, José Miguel
de la Torre, Juan Carlos
Jareño, Javier
Dorronsoro, Bernabé
Author_xml – sequence: 1
  givenname: Juan Carlos
  surname: de la Torre
  fullname: de la Torre, Juan Carlos
– sequence: 2
  givenname: Javier
  surname: Jareño
  fullname: Jareño, Javier
– sequence: 3
  givenname: José Miguel
  surname: Aragón-Jurado
  fullname: Aragón-Jurado, José Miguel
– sequence: 4
  givenname: Sébastien
  surname: Varrette
  fullname: Varrette, Sébastien
– sequence: 5
  givenname: Bernabé
  surname: Dorronsoro
  fullname: Dorronsoro, Bernabé
BookMark eNqFkDtPwzAURi1UJNrCyuyVIcTOw48RVUCRUjHwWCPHdoKjxI7iRFX76wlNdqZ79ek7V1dnA1bWWQ3APUaPGPE4rE3ViSasz0Ijwq_AGseEBZzxZHXZaYBoim_AxvsaIZSwKF2Dw4cbe6mhdEpDV5Sjl2IwzsKjGX5gpa0ejISiqVw_Ba2Hoze2gln2fViYbjCtOV8gfwuuS9F4fbfMLfh6ef7c7YPs_fVt95QFMsbpECiqiChlyYicPicRIgUjSqC0kEXMhVBIM4zpFGkmJaFUlayUEWGJJqmOeLwF4Xx3tJ04HUXT5F1vWtGfcozyPxv5bCNfbEzEw0y4sfuv-wtuRGer
CitedBy_id crossref_primary_10_1016_j_iot_2025_101521
ContentType Journal Article
Copyright The Author(s) 2024. Published by Oxford University Press. 2024
Copyright_xml – notice: The Author(s) 2024. Published by Oxford University Press. 2024
DBID TOX
ADTOC
UNPAY
DOI 10.1093/jigpal/jzae069
DatabaseName Oxford Journals Open Access Collection
Unpaywall for CDI: Periodical Content
Unpaywall
DatabaseTitleList
Database_xml – sequence: 1
  dbid: TOX
  name: Oxford Journals Open Access Collection
  url: https://academic.oup.com/journals/
  sourceTypes: Publisher
– sequence: 2
  dbid: UNPAY
  name: Unpaywall
  url: https://proxy.k.utb.cz/login?url=https://unpaywall.org/
  sourceTypes: Open Access Repository
DeliveryMethod fulltext_linktorsrc
Discipline Languages & Literatures
Mathematics
Philosophy
EISSN 1368-9894
ExternalDocumentID 10.1093/jigpal/jzae069
GroupedDBID .2P
.4S
.DC
.I3
0R~
1TH
29L
4.4
482
48X
5GY
5VS
5WA
70D
8VB
AAIJN
AAJKP
AAJQQ
AAMVS
AAOGV
AAPQZ
AAPXW
AARHZ
AAUAY
AAUQX
AAVAP
AAWDT
ABAZT
ABDFA
ABDTM
ABEJV
ABEUO
ABGNP
ABIME
ABIXL
ABJNI
ABNGD
ABNKS
ABPQP
ABPTD
ABQLI
ABVGC
ABVLG
ABWST
ABXVV
ABZBJ
ACFRR
ACGFO
ACGFS
ACUFI
ACUKT
ACUTJ
ACUXJ
ACYTK
ADEYI
ADEZT
ADGZP
ADHKW
ADHZD
ADIPN
ADNBA
ADOCK
ADQBN
ADRDM
ADRTK
ADVEK
ADYJX
ADYVW
ADZXQ
AECKG
AEGPL
AEGXH
AEJOX
AEKKA
AEKSI
AEMDU
AENEX
AENZO
AEPUE
AETBJ
AEWNT
AFFZL
AFIYH
AFOFC
AGINJ
AGKEF
AGQPQ
AGQXC
AGSYK
AHGBF
AHQJS
AHXPO
AIAGR
AIJHB
AJBYB
AJEEA
AJEUX
AJNCP
AKVCP
ALMA_UNASSIGNED_HOLDINGS
ALTZX
ALUQC
ALXQX
ANAKG
ANFBD
APIBT
APWMN
AQDSO
ARCSS
ATGXG
ATTQO
AXUDD
AZFZN
AZVOD
BAYMD
BCRHZ
BEFXN
BEYMZ
BFFAM
BGNUA
BHONS
BKEBE
BPEOZ
BQUQU
BTQHN
CAG
CDBKE
COF
CS3
CZ4
DAKXR
DILTD
DU5
D~K
EBS
EBU
EDO
EE~
EJD
ELUNK
F9B
FEDTE
FLIZI
FLUFQ
FOEOM
FQBLK
GAUVT
GJXCC
H13
H5~
HAR
HVGLF
HW0
HZ~
IOX
JAVBF
JXSIZ
K1G
KAQDR
KBUDW
KOP
KSI
KSN
M-Z
N9A
NGC
NMDNZ
NOMLY
NVLIB
O0~
O9-
OCL
ODMLO
OJQWA
OJZSN
OWPYF
O~Y
P2P
PAFKI
PB-
PEELM
PQQKQ
Q1.
Q5Y
QWB
R44
RD5
RNI
ROL
ROX
RUSNO
RW1
RXO
RZF
RZO
TCN
TH9
TJP
TOX
TUS
X7H
YAYTL
YKOAZ
YXANX
ZKX
ZL0
~91
ADTOC
UNPAY
ID FETCH-LOGICAL-c315t-d7d6afcf86c1096206b86da05bcb39aad0e81176dae8cc677df8fc2684e65e293
IEDL.DBID UNPAY
ISSN 1367-0751
1368-9894
IngestDate Sun Sep 07 11:05:18 EDT 2025
Mon Sep 29 07:20:33 EDT 2025
IsDoiOpenAccess true
IsOpenAccess true
IsPeerReviewed true
IsScholarly true
Issue 5
Keywords intermediate representation
source code obfuscation
genetic algorithms
multi-objective optimization
LLVM
Language English
License This is an Open Access article distributed under the terms of the Creative Commons Attribution License (https://creativecommons.org/licenses/by/4.0/), which permits unrestricted reuse, distribution, and reproduction in any medium, provided the original work is properly cited.
cc-by
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-c315t-d7d6afcf86c1096206b86da05bcb39aad0e81176dae8cc677df8fc2684e65e293
OpenAccessLink https://proxy.k.utb.cz/login?url=https://doi.org/10.1093/jigpal/jzae069
ParticipantIDs unpaywall_primary_10_1093_jigpal_jzae069
oup_primary_10_1093_jigpal_jzae069
PublicationCentury 2000
PublicationDate 2025-10-01
PublicationDateYYYYMMDD 2025-10-01
PublicationDate_xml – month: 10
  year: 2025
  text: 2025-10-01
  day: 01
PublicationDecade 2020
PublicationTitle Logic journal of the IGPL
PublicationYear 2025
Publisher Oxford University Press
Publisher_xml – name: Oxford University Press
SSID ssj0004825
Score 2.3705175
Snippet Abstract With the advent of the cloud computing model allowing a shared access to massive computing facilities, a surging demand emerges for the protection of...
SourceID unpaywall
oup
SourceType Open Access Repository
Publisher
Title Source code obfuscation with genetic algorithms using LLVM code optimizations
URI https://doi.org/10.1093/jigpal/jzae069
UnpaywallVersion publishedVersion
Volume 33
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV1bT8IwFD5RfBAfvOANb2mMMb4MxrZ23SMxKjGgJILBJ9IrEbkFRoz-els2iPKCj2u6pmvPurPvnO87AFfc9SmhpcAJbOAw0Ew7THLXiYwzroknOWOW4Fx7IpVm8NjCrTRB1nJh_sTvI7_Yfe-MWK_Y_WbKJdE6bBBsfO4MbDSf6uW3hFRlsTacEqzM20ujYKHOuDzAnMa2OR2M2Ncn6_V-fU3ud-BhPo8kieSjMI15QXwvSTSunugubKcOJSonFrAHa2qQg6NqCkNO0DWqLpSTJznYqi10Ws1Vtj6vZPC1D7WXGZCPLMsdDbmeThI4D1msFhlDs3xHxHqd4dg09CfI5sx3ULX6WkvvMcdPf87rPIDm_V3jtuKk1RYc4Zdw7MhQEqaFpkSYByKeSzglkrmYC-5HjElXWVKqaVJUCBKGUlMtrFiMIlgZr-EQMoPhQB0D0ixU2KOcmX-jQEaYYelFrnQD5VHBS6U8XJpdaI8SPY12Egf328kSttMlzMPNYpNWdD35f9dTyHq2gu8sHe8MMvF4qs6NWxHzC1hvPLcuUsv6AQt10C8
linkProvider Unpaywall
linkToUnpaywall http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV1bT8IwFD5ReBAfvOANb2mMMb4MxrZ23SMxIjFASBSDT6RXInILlxj49bZsEPUFH9d0TdeedWffOd93AG6561NCi4ET2MBhoJl2mOSuExlnXBNPcsYswblWJ5Vm8NzCrSRB1nJhfsXvI7_Q_eiMWK_QXTDlkmgb0gQbnzsF6Wa9UXqPSVUWa8MJwcq8vTQK1uqMfwdY0dh2ZoMRm3-xXu_H16S8D0-recRJJJ_52ZTnxeKPROPmiR7AXuJQolJsAYewpQZZOK0mMOQE3aHqWjl5koXd2lqn1VxlGqtKBvMjqL0sgXxkWe5oyPVsEsN5yGK1yBia5Tsi1usMx6ahP0E2Z76DqtW3WnKPOX76K17nMTTLj68PFSeptuAIv4injgwlYVpoSoR5IOK5hFMimYu54H7EmHSVJaWaJkWFIGEoNdXCisUogpXxGk4gNRgO1BkgzUKFPcqZ-TcKZIQZll7kSjdQHhW8WMzBjdmF9ijW02jHcXC_HS9hO1nCHNyvN2lD1_P_d72AjGcr-C7T8S4hNR3P1JVxK6b8OrGpby9GzxM
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Source+code+obfuscation+with+genetic+algorithms+using+LLVM+code+optimizations&rft.jtitle=Logic+journal+of+the+IGPL&rft.au=de+la+Torre%2C+Juan+Carlos&rft.au=Jare%C3%B1o%2C+Javier&rft.au=Arag%C3%B3n-Jurado%2C+Jos%C3%A9+Miguel&rft.au=Varrette%2C+S%C3%A9bastien&rft.date=2025-10-01&rft.pub=Oxford+University+Press&rft.issn=1367-0751&rft.eissn=1368-9894&rft.volume=33&rft.issue=5&rft_id=info:doi/10.1093%2Fjigpal%2Fjzae069&rft.externalDocID=10.1093%2Fjigpal%2Fjzae069
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=1367-0751&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=1367-0751&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=1367-0751&client=summon