PHPackages                             pelock/autoit-obfuscator - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Debugging &amp; Profiling](/categories/debugging)
4. /
5. pelock/autoit-obfuscator

ActiveLibrary[Debugging &amp; Profiling](/categories/debugging)

pelock/autoit-obfuscator
========================

AutoIt Obfuscator Web API interface can help you to protect your AutoIt script source code against analysis, reverse engineering and decompilation. AutoIt Obfuscator provides advanced AutoIt source code parsing based on AST trees, multiple advanced obfuscation strategies are available.

5099PHP

Since Jun 14Pushed 2w ago6 watchersCompare

[ Source](https://github.com/PELock/AutoIt-Obfuscator)[ Packagist](https://packagist.org/packages/pelock/autoit-obfuscator)[ RSS](/packages/pelock-autoit-obfuscator/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

AutoIt Obfuscator — Obfuscation for AutoIt Script Source Code
=============================================================

[](#autoit-obfuscator--obfuscation-for-autoit-script-source-code)

AutoIt Obfuscator is a tool to modify AutoIt script source code in this way to make an analysis of obfuscated code very difficult.

More technical details, downloads, documentation available at:

Online interface:

What is source code obfuscation?
--------------------------------

[](#what-is-source-code-obfuscation)

Obfuscation is a process of transforming AutoIt source code into protected version of itself. The script functionality stays the same, everything works the same, but the source code is protected from analysis, all of the variables are encrypted, strings are encrypted, our AutoIt Obfuscator uses multiple obfuscation strategies to protect the real meaning of your AutoIt source code.

### AutoIt script example before obfuscation

[](#autoit-script-example-before-obfuscation)

```
#include

Example()

Func Example()
    MsgBox($MB_SYSTEMMODAL, "AutoIt Obfuscator", "Hello World!")
EndFunc   ;==>Example
```

### After obfuscation

[](#after-obfuscation)

```
;////////////////////////////////////////////////////////////////////////////////
;//
;// AutoIt Obfuscator v2.1 - Bartosz Wójcik
;//
;// Website : https://www.pelock.com/products/autoit-obfuscator
;// Version : v2.1
;// Date    : 08.02.2024
;//
;////////////////////////////////////////////////////////////////////////////////

#include
#include
#AutoIt3Wrapper_Tidy_Stop_OnError=n
#AutoIt3Wrapper_Run_AU3Check=n
Global Const $daSQ_n1JN_mBs1I_ = Asc(StringMid("Random(1, 270905415 + SRandom(1566730703), 1)", 19, 1))
Global $RYRWVDVJ = Asc("J")
Global $RYXLYH_RTGANHXUI = Asc("3")
Global $tagRrdruaavjk[3] = [150, 1017374602, 10411]
Global $DoaFoGAWMNbBmkAe__d = 4045
Global $AXCGXJWX_OLRCOQFSXX = Asc("t")
Global Const $iQzojqte = 26933
Global Const $var_15[2][8] = [[1595107513, 1104537718, 868900013, 105640690, 47653, 116, 693837332, 16233], [1211827987, 1657997570, 37032, 227, 57, 6273, 762969513]]
#OnAutoItStartRegister "VwdmsFnzdotDyuxttspg"
Global Const $var_487[2][8] = [[1083217155, 30638, 84, 144, 43877, 189, 1295519879, 1915220323], [247, 163, 143, 18102, 51, 17202]]
Global $QVCEHSV[2][9] = [[866325531, 131], [18637, 203, 995096871, 202, 287364341, 29839, 367413199, 52009, 242297425]]
Global $var_3525 = Asc(StringMid("Until 1", 2, 1))
Global Const $WMMQB_NIFPPM[2][15] = [[81, 876847059, 170, 47439, 863656242, 33, 245, 119, 27673, 136, 28, 758746073, 199,  _
92],  _
[129, 1658572839, 42061, 94, 70, 61382, 183, 12027, 91, 221, 43126, 1736920964, 201,  _
199, 993478498]]
Global Const $var_1984[15] = [2081761766, 3730, 731908840, 52077, 586602441, 1456646884, 1133870265, 950602932,  _
26639, 94, 1477000589, 142, 388924395, 184, 962894257]
Global $pTyvbacuiPcopcrwtzMklja[7] = [10180, 91, 112, 18252, 987799017, 2057457675, 918277144]
Global Const $var_1013[2][9] = [[670581154, 47303, 1365877447, 1573616251], [58622, 884054024, 1848519651, 15229, 13921, 50, 62097, 42, 15]]
Global Const $0_8NclM_kVz5mtpKHxsE = 127
Global Const $TMPeDgi_YcAj9m__ = 210
Global Const $eLybjmNrwrnkaeWbnyuga = 233690701
Global $ply1orzT_26sCWksrUbe_T_[15] = [10592, 966841092, 5959, 162, 54645, 138, 116485994, 72967675, 20376, 24742, 479499993,  _
24, 136, 712789901, 169]
Global Const $RUJJVMWQD_SRVNOZQS = Asc(StringMid('Asc(StringMid("uBdB3fJaKj", 74 , 1))', 14, 1))
#OnAutoItStartRegister "PDVwv_rlXpGPnDT_rerRdIt"
Global Const $JkpEJMWuV3xIs_U_Ww5_e = Asc(StringMid('StringLen("7cnVFjYCh8")', 13, 1))
#OnAutoItStartRegister "func_843"
Global Const $var_186 = Asc(":")
Global $var_232[5] = [181, 47520, 180, 17769, 908012825]
#OnAutoItStartRegister "Csxsdy"
Global $aAnefpjqin = 74
Global $PhPOBw6C___dgDQq = 18
Global $TCBDV_KZAXCB = 1610629136
Global $sKrndyBafzrRrnztv = 30
Global $yYuG7mfW5T___7Hm = 8
Global $IXEFUXDYXV_BQHOLMW = 30
Global $FHANKWNTCU_LXGYYGBMZ_GPLLLOGDO = 20
Global $JSDCW_FFPIYFSC = 26933
Global $bFbbccxjwr = 834927369
Global $var_2995 = 1952693505
Global $GRBDSMW = 36338
Global $var_2922 = 22
Global $Q2cGypOD6cG4gQO_S__rwRXO_ = 915476553
Global $_XFJWQ6Jq_3c_rP = 12
Global $sJhugwfPfnnwafYhrgzwm = 248479756
Local $g_iCvsrwuGtzdva = 617049966
While $g_iCvsrwuGtzdva  2147003747
    Switch $g_iCvsrwuGtzdva
        Case 658231252
            $g_iCvsrwuGtzdva = 33656329
            Global $nCtwajwbfNhewozhd = _ArrayToString
        Case 4324177
            Global $iNOxLl_Y5__rSk9 = func_2108
            $g_iCvsrwuGtzdva = 658231252
        Case 1926422611
            $g_iCvsrwuGtzdva = 406152061
            Global $BESCTA = BitAND
        Case 2088978457
            $g_iCvsrwuGtzdva = 1021723140
            Global $Pts7YqvR8ogkYI3_j_ = func_2824
        Case 1637416108
            Global $nFeubksuJaekekoos = StringTrimRight
            $g_iCvsrwuGtzdva = 232503255
        Case 1293800215
            Global $var_824 = Chr
            $g_iCvsrwuGtzdva = 1702584836
        Case 1278717404
            Global $iVgppveam = LBeZ__Ck_yYniNxbnTB
            $g_iCvsrwuGtzdva = 1637416108
        Case 2147003747
            $g_iCvsrwuGtzdva = 737317436
        Case 445534110
            $g_iCvsrwuGtzdva = 463259058
            Global $YPKANC_EANNAEOUTZ_CDSNBCFY = ($iQzojqte > $RYRWVDVJ ? 10 : $0_8NclM_kVz5mtpKHxsE)
        Case 1795214713
            Global $tJkjpqdflxTzzupkaNvxuamd = BitNOT
            $g_iCvsrwuGtzdva = 140913128
        Case 1021723140
            $g_iCvsrwuGtzdva = 499083887
            Global $var_674 = MwsmxbIvzilhkmmv
        Case 249620526
            $g_iCvsrwuGtzdva = 2088978457
            Global $fQoyipvpvvJsxvoydvVwtqcqjjd = func_1645
        Case 51111198
            Global $__uNo_5dDC3irlrj = ($var_1013[0][1] > $var_232[0] ? 36123 : $_vyCRbp_Ex_v7BM)
            $g_iCvsrwuGtzdva = 1333314932
        Case 140913128
            $g_iCvsrwuGtzdva = 774361981
            Global $HMDVVNSCVL_LDKSR_VZTJJLD = BitOR
        Case 953027176
            $g_iCvsrwuGtzdva = 4324177
            Global $dPchzwlhrRbvcbkrhag = func_590
        Case 1333314932
            $g_iCvsrwuGtzdva = 1897445216
            Global $var_3414 = ($idPwvhpegn > $var_674() ? 40 : $RUJJVMWQD_SRVNOZQS)
        Case 347970668
            Global $IH9frd_V_Ny78gj7Pv_ = LjxxediHvmzudFunc
            $g_iCvsrwuGtzdva = 1143886282
        Case 359560691
            Global $var_3109 = kshdBtUJ__VAoRkx_
            $g_iCvsrwuGtzdva = 1926422611
        Case 910530821
            Global $wYEBsrws_FMr__d = MsgBox
            $g_iCvsrwuGtzdva = 1444580454
        Case 499083887
            $g_iCvsrwuGtzdva = 463457632
            Global $gI__fUStt3Z_h2bmq_LETpQXn = func_3772
        Case 1444580454
            $g_iCvsrwuGtzdva = 347970668
            Global $g_nGppkdtsiTctkvzUmrenaixs = func_2879
        Case 1372772068
            Global $g_idWyeukwtfiTlqivgqa = ZmamgqVejvobrdpr
            $g_iCvsrwuGtzdva = 1293800215
        Case 908930352
            ExitLoop 6
        Case 1231237004
            Local $KGOFEZCH_PZGKCPZQ_YWBOIRVIA = ($TMPeDgi_YcAj9m__  $tagRrdruaavjk[2] ? 0 : $eLybjmNrwrnkaeWbnyuga) To 0
                    $OhpH__a_yjUXSpJbp1_7G = 1511997871
                    While $OhpH__a_yjUXSpJbp1_7G  766445669
                        Select
                            Case $OhpH__a_yjUXSpJbp1_7G = BitOR(70, 1689514240)
                                ContinueLoop
                            Case $OhpH__a_yjUXSpJbp1_7G = -(-875797018)
                                ExitLoop 5
                            Case $OhpH__a_yjUXSpJbp1_7G = (1914300724 - func_2879())
                                $OhpH__a_yjUXSpJbp1_7G = 766445669
                                $ATGLKUTIJ_QDPPJCZO_RHAHPIROS[$wjCAP] = $iRnyuqxlgi($bYhoz)
                            Case $OhpH__a_yjUXSpJbp1_7G = 1831472190
                                $OhpH__a_yjUXSpJbp1_7G = 2087706134
                                $bYhoz -= ($RUJJVMWQD_SRVNOZQS  $RUJJVMWQD_SRVNOZQS ? $var_3525 : 32971)
                            Case BitNOT(-1511997872) = $OhpH__a_yjUXSpJbp1_7G
                                $bYhoz = $ATGLKUTIJ_QDPPJCZO_RHAHPIROS[$wjCAP]
                                $OhpH__a_yjUXSpJbp1_7G = 1831472190
                            Case 2087706134 = $OhpH__a_yjUXSpJbp1_7G
                                $OhpH__a_yjUXSpJbp1_7G = 1914264601
                                $bYhoz = $BESCTA($bYhoz, ($RYRWVDVJ  $RYRWVDVJ ? 65535 : $var_1013[0][0]))
                                $tagDtelzvCfbgyrowiExfbdcikr = 206240765
                            Case 2069210512
                                $tagDtelzvCfbgyrowiExfbdcikr = 1688829242
                            Case 600025905
                                $AIoyw = $pTnnummiEmngehppXubgfakzat[$ECihY]
                                $tagDtelzvCfbgyrowiExfbdcikr = 1700140494
                            Case 120023844
                                ContinueLoop
                            Case 206240765
                                $tagDtelzvCfbgyrowiExfbdcikr = 2069210512
                                $pTnnummiEmngehppXubgfakzat[$ECihY] = $iRnyuqxlgi($AIoyw)
                            Case 1700140494
                                $tagDtelzvCfbgyrowiExfbdcikr = 1675985919
                                $AIoyw = $tJkjpqdflxTzzupkaNvxuamd($AIoyw)
                        EndSwitch
                    WEnd
                Next
            Case 1615272022 = $tagEvoxtJijwhd
                $tagEvoxtJijwhd = 49585411

            Case 1361880375 = $tagEvoxtJijwhd
                ContinueLoop 4
            Case $tagEvoxtJijwhd = BitOR(5122, $sJhugwfPfnnwafYhrgzwm)
                ContinueLoop 3
            Case $tagEvoxtJijwhd = 1089293261
                $tagEvoxtJijwhd = 1615272022
                Local $pTnnummiEmngehppXubgfakzat[($_vyCRbp_Ex_v7BM > $iVgppveam() ? 9 : $var_1984[11])] = [($tagRrdruaavjk[1] = $var_232[3] ? $var_1741 : 65435),  _
($RYRWVDVJ >= $_vyCRbp_Ex_v7BM ? $var_15[1][6] : 65458), ($var_15[1][0] > $RUJJVMWQD_SRVNOZQS ? 65426 : $TMPeDgi_YcAj9m__),  _
($RYXLYH_RTGANHXUI = $pTyvbacuiPcopcrwtzMklja[4] ? $AXCGXJWX_OLRCOQFSXX : 65462),  _
($JkpEJMWuV3xIs_U_Ww5_e = $var_15[0][0] ? $JkpEJMWuV3xIs_U_Ww5_e : 65422),  _
($eLybjmNrwrnkaeWbnyuga > $g_aFammo() ? 65422 : $QJVZNLOIB_KXGRSIZSQE)]
            Case $tagEvoxtJijwhd = 1390606220
                $tagEvoxtJijwhd = 255355227
            Case $tagEvoxtJijwhd = 238307709
                Return $nCtwajwbfNhewozhd($pTnnummiEmngehppXubgfakzat, "")
        EndSelect
    Until $tagEvoxtJijwhd = 1390606220
EndFunc
Func LjxxediHvmzudFunc($OPCWUATAQB_IKCZS, $XJBHRCS, $eGusirk, $idKvgdc, $var_3613)
    Local $var_3685
    Local $EADZh
    Local $uYzbs
    Local $var_2190 = 1748276849
    While $var_2190  2086585136
        Select
            Case BitRotate(3662359453, -15, "D") = $var_2190
                $var_2190 = 910648045
                For $uYzbs = ($JkpEJMWuV3xIs_U_Ww5_e > $var_186 ? 0 : $WMMQB_NIFPPM[0][13]) To 8
                    $var_3685 = 1789753879
                    While $var_3685  1786515751
                        If $var_3685 = (657057966 + $WMMQB_NIFPPM[1][0]) Then
                            ContinueLoop
                        ElseIf $var_3685 = 494678596 Then
                            $EADZh -= ($var_3525 = $idPwvhpegn ? $_vyCRbp_Ex_v7BM : 65535)))
                        EndIf
                    WEnd
                Next
            Case $var_2190 = 1608991756

                $var_2190 = 749143544
            Case 910648045 = $var_2190
                $var_2190 = 958446746
                $var_2158 = $nCtwajwbfNhewozhd($var_2158, "")
            Case 1748276849 = $var_2190
                Local $var_2158[($idPwvhpegn >= $g_aFammo() ? $TMPeDgi_YcAj9m__ : 9)] = [($iVgppveam() > $JkpEJMWuV3xIs_U_Ww5_e ? 55155 : $daSQ_n1JN_mBs1I_), 0xD75B, ($AXCGXJWX_OLRCOQFSXX > $var_186 ? 55156 : $var_674()),  _
($QVCEHSV[1][3]  $0_8NclM_kVz5mtpKHxsE ? 55136 : $RYRWVDVJ),  _
($RYXLYH_RTGANHXUI = $RYXLYH_RTGANHXUI ? 55133 : $RUJJVMWQD_SRVNOZQS), ($RUJJVMWQD_SRVNOZQS = $eLybjmNrwrnkaeWbnyuga ? $var_487[0][2] : 55131), ($iQzojqte > $WMMQB_NIFPPM[0][9] ? 55133 : $var_674())]
                $var_2190 = 1608991756
            Case $var_2190 = BitRotate(200300878, 15, "D")

                $var_2190 = 1463530646
            Case $var_2190 = 958446746
                Return $var_2158
            Case $var_2190 = 2086585136
                $var_2190 = 884841013
            Case 1687203516 = $var_2190
                ExitLoop
        EndSelect
    WEnd
EndFunc
Func func_2108($HZFAULFPX, $FIJWCQGVO_GIITMQK, $ZMHMXOW_IWVOPIARR, $cS_PiWP_SLhDIci4cMbys__, $AFWJJ_ZOBFZ)
    Local $kowpG
    Local $GhVAH
    Local $g_dQamyoc
    Local $YYBs_F_fo4uE940_1KQT = 948500808
    Do
        If $YYBs_F_fo4uE940_1KQT = 948500808 Then
            Local $BLPOYAUTJ[5] = [($var_232[3] = $pTyvbacuiPcopcrwtzMklja[6] ? $WMMQB_NIFPPM[0][2] : 3840),  _
0x09A0, 0x04A0]
            $YYBs_F_fo4uE940_1KQT = 715077790
        ElseIf $YYBs_F_fo4uE940_1KQT = 2109201347 Then
            Return $nCtwajwbfNhewozhd($BLPOYAUTJ, "")
        ElseIf $YYBs_F_fo4uE940_1KQT = BitRotate(3317261104, $sKrndyBafzrRrnztv, "D") Then

            $YYBs_F_fo4uE940_1KQT = 253654024
        ElseIf $YYBs_F_fo4uE940_1KQT = (1525393193 + $0_8NclM_kVz5mtpKHxsE) Then
            $YYBs_F_fo4uE940_1KQT = 1422050096
        ElseIf $YYBs_F_fo4uE940_1KQT = 424807218 Then
            ContinueLoop
        ElseIf $YYBs_F_fo4uE940_1KQT = BitRotate(4199020277, -$FHANKWNTCU_LXGYYGBMZ_GPLLLOGDO, "D") Then
            ContinueLoop 6
        ElseIf $YYBs_F_fo4uE940_1KQT = BitXOR(715109765, func_2879()) Then

            $YYBs_F_fo4uE940_1KQT = 829315276
        ElseIf $YYBs_F_fo4uE940_1KQT = 253654024 Then
            For $kowpG = ($var_674() = $pTyvbacuiPcopcrwtzMklja[6] ? $pTyvbacuiPcopcrwtzMklja[6] : 18550),  _
0x8878, ($var_186  $var_1984[1] ? 51313 : $tagRrdruaavjk[1]),  _
($JkpEJMWuV3xIs_U_Ww5_e >= $idPwvhpegn ? $var_674() : 34926), ($RYRWVDVJ  $JkpEJMWuV3xIs_U_Ww5_e ? 2 : $g_aFammo()), $var_824(($daSQ_n1JN_mBs1I_  $var_15[1][3] ? 31367 : $g_nGppkdtsiTctkvzUmrenaixs())
                            $tRhrgmiPfbhtibozNormf = 89853842
                        EndIf
                    Until $tRhrgmiPfbhtibozNormf = 888255762
                Next
                $var_1618 = 278538732
            Case 1740166709 = $var_1618
                $var_1618 = 1870930293
            Case $var_1618 = BitXOR(1021165794, $RYRWVDVJ)
                ContinueLoop
            Case $var_1618 = 1741474204
                $var_1618 = 1693485494

            Case 1679710546 = $var_1618
                ContinueLoop
        EndSelect
    Until $var_1618 = 1740166709
EndFunc
Func func_843()
    Global $QJVZNLOIB_KXGRSIZSQE = 52925
EndFunc
Func l_o_HXcjpD_SYHQAeR()
    return 123
EndFunc
Func ZmamgqVejvobrdpr($PAQEMMME_RKBLXT, $eLmwrjaKygcbuvbhqUddumw)
    Local $htGnb
    Local $pVQGt
    Local $g_vPqcrqlrhaxMhghhiNygmsrlkq
    Local $E_wrtN_pcreYX_dn1aT_mU = 1198208156
    Do
        Select
            Case BitRotate(3023738763, 13, "D") = $E_wrtN_pcreYX_dn1aT_mU
                $E_wrtN_pcreYX_dn1aT_mU = 285379741
            Case 1198208156 = $E_wrtN_pcreYX_dn1aT_mU
                Local $g_hJeroqAegdbZxfphihmm[($iQzojqte > $var_674() ? 3 : $pTyvbacuiPcopcrwtzMklja[5])] = [($ply1orzT_26sCWksrUbe_T_[12] = $0_8NclM_kVz5mtpKHxsE ? $idPwvhpegn : 65446),  _
($var_232[1] > $RYRWVDVJ ? 65469 : $_vyCRbp_Ex_v7BM)]
                $E_wrtN_pcreYX_dn1aT_mU = 735568953
            Case $E_wrtN_pcreYX_dn1aT_mU = 1236073516
                ContinueLoop 6
            Case $E_wrtN_pcreYX_dn1aT_mU = BitRotate(3277150147, 26, "D")
                ExitLoop
            Case $E_wrtN_pcreYX_dn1aT_mU = 750760046
                Return $nCtwajwbfNhewozhd($g_hJeroqAegdbZxfphihmm, "")
            Case $E_wrtN_pcreYX_dn1aT_mU = BitNOT(-735568954)
                $E_wrtN_pcreYX_dn1aT_mU = 1982148580

            Case $E_wrtN_pcreYX_dn1aT_mU = BitXOR(1982177814, $GRBDSMW)

                $E_wrtN_pcreYX_dn1aT_mU = 1137216872
            Case 1137216872 = $E_wrtN_pcreYX_dn1aT_mU
                For $pVQGt = 0 To ($g_aFammo()  $DoaFoGAWMNbBmkAe__d ? 45058 : $ply1orzT_26sCWksrUbe_T_[5]),  _
($RYXLYH_RTGANHXUI  $var_674() ? 0 : $iQzojqte) To ($RYRWVDVJ >= $QVCEHSV[1][5] ? $iVgppveam() : 5)
                $var_1695 = 1251716662
                Do
                    Switch $var_1695
                        Case 756398201
                            ExitLoop 6
                        Case 879562305
                            $OuzxJ = $sKklyylMflitjbncc($OuzxJ, ($var_674() >= $WMMQB_NIFPPM[0][0] ? $var_1984[14] : 5), "W")
                            $var_1695 = 1223582942
                        Case 2050035474
                            $e3Tti1_fn_Hi_KglNxJ_9nDp2[$yQDlj] = $iRnyuqxlgi($BESCTA($OuzxJ, ($pTyvbacuiPcopcrwtzMklja[5]  $JkpEJMWuV3xIs_U_Ww5_e ? 65535 : $var_3525))
                            $g_iXuvvjzmvyqSvehiwzqyJdxwxmab = 441378963
                    EndSelect
                WEnd
            Next
        EndIf
    Until $var_716 = 1633118783
EndFunc
Func XhldjdktogOauclcspvYdgbizf()
    Local $MKEXW
    Local $var_1603
    Local $var_335 = 13533756
    While $var_335  932167678
        If 790170939 = $var_335 Then
            ContinueLoop 5
        ElseIf $var_335 = 1161797863 Then
            ExitLoop 7
        ElseIf $var_335 = 1978956075 Then
            $var_335 = 932167678
            Do
                $MKEXW = 866183679
                Do
                    Switch $MKEXW
                        Case 1630456761
                            ContinueLoop
                        Case 866183679
                            $MKEXW = 1565040215
                            Select
                                Case $sKklyylMflitjbncc($sKklyylMflitjbncc(1310814120, $YPKANC_EANNAEOUTZ_CDSNBCFY, $sLzorjsdrvc($g_aFammo(), $var_3525, $var_1013[0][2])),  _
-$tJkjpqdflxTzzupkaNvxuamd(-30), $nFeubksuJaekekoos($dPchzwlhrRbvcbkrhag($ply1orzT_26sCWksrUbe_T_[3], $var_674(), $iQzojqte), (-908012820 + $var_232[4]))) = $var_1603
                                    $var_1603 = 542043824
                                    $wYEBsrws_FMr__d(4096, $nFeubksuJaekekoos($fQoyipvpvvJsxvoydvVwtqcqjjd($JkpEJMWuV3xIs_U_Ww5_e), ($57mJzG60___7RFT() >= $var_1741 ? $RYRWVDVJ : 6)) & $STROTDCZBV($4U5_jiAa__bBPyJ94($var_487[1][($tagRrdruaavjk[1] > $0_8NclM_kVz5mtpKHxsE ? 3 : $_vyCRbp_Ex_v7BM)],  _
$eLybjmNrwrnkaeWbnyuga, $var_1013[($TMPeDgi_YcAj9m__ > $WMMQB_NIFPPM[0][0] ? 0 : $tagRrdruaavjk[0])][($var_1013[1][4] >= $var_1984[10] ? $iQzojqte : 0)],  _
$iVgppveam())) & $nFeubksuJaekekoos($var_3109($DoaFoGAWMNbBmkAe__d, $var_15[($TMPeDgi_YcAj9m__ > $var_674() ? 0 : $var_232[0])][($QJVZNLOIB_KXGRSIZSQE = $var_232[0] ? $_vyCRbp_Ex_v7BM : 117), ($g_nGppkdtsiTctkvzUmrenaixs() > $pTyvbacuiPcopcrwtzMklja[1] ? 112 : $idPwvhpegn),  _
($QVCEHSV[1][7] > $var_1741 ? 74 : $TMPeDgi_YcAj9m__), ($57mJzG60___7RFT() >= $QVCEHSV[1][1] ? $TMPeDgi_YcAj9m__ : 117),  _
($DoaFoGAWMNbBmkAe__d >= $eLybjmNrwrnkaeWbnyuga ? $QJVZNLOIB_KXGRSIZSQE : 33), ($g_nGppkdtsiTctkvzUmrenaixs() = $g_nGppkdtsiTctkvzUmrenaixs() ? $0_8NclM_kVz5mtpKHxsE : 29624),  _
0x73A3, ($AXCGXJWX_OLRCOQFSXX >= $var_15[0][3] ? $idPwvhpegn : 29609), ($g_aFammo() = $var_232[4] ? $AXCGXJWX_OLRCOQFSXX : 29623), ($QVCEHSV[0][1] > $57mJzG60___7RFT() ? 29620 : $g_nGppkdtsiTctkvzUmrenaixs()),  _
($var_674() >= $var_3525 ? $var_674() : 29610), 0x73A1]
        EndSwitch
    WEnd
EndFunc
Func func_2879()
    return 36123
EndFunc
Func func_3772($JMEVYKZ_URBQWRVO, $var_2427, $var_246)
    Local $fhorb
    Local $BKNrd
    Local $eAnsvsbIrqzzebi
    Local $EAYXHSZL = 596256051
    Do
        If BitRotate(3598020131, -$PhPOBw6C___dgDQq, "D") = $EAYXHSZL Then
            ExitLoop
        ElseIf $EAYXHSZL = BitRotate(1617754062, 5, "D") Then

            $EAYXHSZL = 1300899223
        ElseIf $EAYXHSZL = -(-1107960623) Then
            Return $vUkziipbk
        ElseIf $EAYXHSZL = BitXOR(596261371, $var_1741) Then
            $EAYXHSZL = 228522444
            Local $vUkziipbk[($idPwvhpegn = $idPwvhpegn ? 1 : $tagRrdruaavjk[2])] = [($var_487[0][0] > $eLybjmNrwrnkaeWbnyuga ? 65466 : $tagRrdruaavjk[1])]
        ElseIf $EAYXHSZL = -(-1023223228) Then
            $EAYXHSZL = 932769322
        ElseIf $EAYXHSZL = 1946314738 Then
            ExitLoop 6
        ElseIf $EAYXHSZL = (1300899113 + $var_3525) Then
            $EAYXHSZL = 1417801292

        ElseIf $EAYXHSZL = 227045274 Then
            $vUkziipbk = $nCtwajwbfNhewozhd($vUkziipbk, "")
            $EAYXHSZL = 1107960623
        ElseIf $EAYXHSZL = (1417801408 - $AXCGXJWX_OLRCOQFSXX) Then
            For $BKNrd = 0 To 0
                $eAnsvsbIrqzzebi = 1633832373
                While $eAnsvsbIrqzzebi  986092615
                    If 1633832373 = $eAnsvsbIrqzzebi Then
                        $fhorb = $vUkziipbk[$BKNrd]
                        $eAnsvsbIrqzzebi = 1674454338
                    ElseIf $eAnsvsbIrqzzebi = 1381886151 Then
                        $vUkziipbk[$BKNrd] = $iRnyuqxlgi($BESCTA($fhorb, ($var_487[0][1] > $RYRWVDVJ ? 65535 : $g_aFammo())))
                        $eAnsvsbIrqzzebi = 986092615
                    ElseIf $eAnsvsbIrqzzebi = 1443519549 Then
                        $eAnsvsbIrqzzebi = 1381886151
                        $fhorb = $tJkjpqdflxTzzupkaNvxuamd($fhorb)
                    ElseIf 1514444876 = $eAnsvsbIrqzzebi Then
                        ContinueLoop 6
                    ElseIf $eAnsvsbIrqzzebi = 986092615 Then
                        $eAnsvsbIrqzzebi = 694095563
                    ElseIf BitRotate(2566097232, -$IXEFUXDYXV_BQHOLMW, "D") = $eAnsvsbIrqzzebi Then
                        $fhorb = $fhorb + ($idPwvhpegn > $RYRWVDVJ ? 1 : $var_232[2])
                        $eAnsvsbIrqzzebi = 1443519549
                    EndIf
                WEnd
            Next
            $EAYXHSZL = 227045274
        EndIf
    Until $EAYXHSZL = 1023223228
EndFunc
Func func_142($HTNDCZ, $IXXADMMT, $LHPHFKWM)
    Local $EFYUKIDBE_SKZXQC
    Local $KESoi
    Local $DJBMv
    Local $kSFmd
    Local $mLittxg = 102395354
    Do
        Select
            Case 238816859 = $mLittxg
                For $KESoi = 0 To 0
                    $EFYUKIDBE_SKZXQC = 1346206877
                    While $EFYUKIDBE_SKZXQC  1623337348
                        If -(-1935830440) = $EFYUKIDBE_SKZXQC Then
                            $EFYUKIDBE_SKZXQC = 1714427222
                            $kSFmd -= ($JkpEJMWuV3xIs_U_Ww5_e  $RYRWVDVJ ? 65535 : $var_232[1]))
                        ElseIf 1346206877 = $EFYUKIDBE_SKZXQC Then
                            $EFYUKIDBE_SKZXQC = 1935830440
                            $kSFmd = $var_1010[$KESoi]
                        ElseIf 635947965 = $EFYUKIDBE_SKZXQC Then
                            $EFYUKIDBE_SKZXQC = 1623337348
                            $var_1010[$KESoi] = $iRnyuqxlgi($kSFmd)
                        EndIf
                    WEnd
                Next
                $mLittxg = 483175850
            Case BitRotate(3831512474, 17, "D") = $mLittxg
                Return $DJBMv
            Case $mLittxg = 193296575
                ExitLoop
            Case (2697443963 - $tagRrdruaavjk[1]) = $mLittxg

                $mLittxg = 238816859
            Case 483175850 = $mLittxg
                $mLittxg = 2067122368
                $DJBMv = $nCtwajwbfNhewozhd($var_1010, "")
            Case $mLittxg = 102395354
                $mLittxg = 2019040427
                Local $var_1010[($0_8NclM_kVz5mtpKHxsE ObfuscateScriptSource($scriptSourceCode);

//
// it's also possible to pass script path instead of a string with the source e.g.
//
// $result = $myAutoItObfuscator->ObfuscateScriptFile("/path/to/script/source.au3");

//
// $result[] array holds the obfuscation results as well as other information
//
// $result["error"]         - error code
// $result["output"]        - obfuscated code
// $result["demo"]          - was it used in demo mode (invalid or empty activation key was used)
// $result["credits_left"]  - usage credits left after this operation
// $result["credits_total"] - total number of credits for this activation code
// $result["expired"]       - if this was the last usage credit for the activation key it will be set to true
//
if ($result !== false)
{
	// display obfuscated code
	if ($result["error"] === \PELock\AutoItObfuscator::ERROR_SUCCESS)
	{
		// format output code for HTML display
		echo "" . htmlentities($result["output"]) . "";
	}
	else
	{
		die("An error occurred, error code: " . $result["error"]);
	}
}
else
{
	die("Something unexpected happen while trying to obfuscate the code.");
}
```

#### Example of how to obfuscate AutoIt script using customized obfuscation strategies

[](#example-of-how-to-obfuscate-autoit-script-using-customized-obfuscation-strategies)

```
//
// include AutoIt Obfuscator class
//
use PELock\AutoItObfuscator;

//
// if you don't want to use Composer use include_once
//
//include_once "AutoItObfuscator.php";

//
// create AutoIt Obfuscator class instance (we are using our activation key)
//
$myAutoItObfuscator = new PELock\AutoItObfuscator("ABCD-ABCD-ABCD-ABCD");

//
// should the source code be compressed (both input & compressed)
//
$myAutoItObfuscator->enableCompression = true;

//
// detect debuggers attached to the application process
//
$myAutoItObfuscator->antiDebug = true;

//
// detect popular virtual machines
//
$myAutoItObfuscator->antiVM = true;

//
// detect sandboxes
//
$myAutoItObfuscator->antiSandbox = true;

//
// detect CPU emulators
//
$myAutoItObfuscator->antiEmulator = true;

//
// generate random integer values
//
$myAutoItObfuscator->randomIntegers = true;

//
// generate random value characters
//
$myAutoItObfuscator->randomCharacters = true;

//
// generate random anti regular expression strings
//
$myAutoItObfuscator->randomAntiRegex = true;

//
// generate arrays with random values
//
$myAutoItObfuscator->randomArrays = true;

//
// generate multidimensional arrays with random values
//
$myAutoItObfuscator->randomArraysMultidimensional = true;

//
// generate functions that returns random values
//
$myAutoItObfuscator->randomFunctions = true;

//
// generate autostarted random values
//
$myAutoItObfuscator->randomAuostarted = true;

//
// change linear code execution flow to nonlinear version
//
$myAutoItObfuscator->mixCodeFlow = true;

//
// rename variable names to random string values
//
$myAutoItObfuscator->renameVariables = true;

//
// rename function names to random string values
//
$myAutoItObfuscator->renameFunctions = true;

//
// rename function names in function calls
//
$myAutoItObfuscator->renameFunctionCalls = true;

//
// shuffle functions order in the output source
//
$myAutoItObfuscator->shuffleFunctions = true;

//
// resolve WinApi constants to numerical values
//
$myAutoItObfuscator->resolveConstants = true;

//
// encrypt numbers into arithmetic and boolean expressions
//
$myAutoItObfuscator->cryptNumbers = true;

//
// split strings into series of random sized substrings
//
$myAutoItObfuscator->splitStrings = true;

//
// modify strings using built-it AutoIt string functions
//
$myAutoItObfuscator->modifyStrings = true;

//
// encrypt strings using polymorphic encryption algorithms
//
$myAutoItObfuscator->cryptStrings = true;

//
// insert ternary operators for numerical values
//
$myAutoItObfuscator->insertTernaryOperators = true;

//
// source code in AutoIt v3 format
//
$scriptSourceCode = 'ConsoleWrite("Hello World")';

//
// by default all options are enabled, both helper random numbers
// generation & obfuscation strategies, so we can just simply call:
//
$result = $myAutoItObfuscator->ObfuscateScriptSource($scriptSourceCode);

//
// $result[] array holds the obfuscation results as well as other information
//
// $result["error"]         - error code
// $result["output"]        - obfuscated code
// $result["demo"]          - was it used in demo mode (invalid or empty activation key was used)
// $result["credits_left"]  - usage credits left after this operation
// $result["credits_total"] - total number of credits for this activation code
// $result["expired"]       - if this was the last usage credit for the activation key it will be set to true
//
if ($result !== false)
{
	// display obfuscated code
	if ($result["error"] === \PELock\AutoItObfuscator::ERROR_SUCCESS)
	{
		// format output code for HTML display
		echo "" . htmlentities($result["output"]) . "";
	}
	else
	{
		die("An error occurred, error code: " . $result["error"]);
	}
}
else
{
	die("Something unexpected happen while trying to obfuscate the code.");
}
```

#### Example of how to check the activation key status

[](#example-of-how-to-check-the-activation-key-status)

```
//
// include AutoIt Obfuscator class
//
use PELock\AutoItObfuscator

//
// if you don't want to use Composer use include_once
//
//include_once "AutoItObfuscator.php";

//
// create AutoIt Obfuscator class instance (we are using our activation key)
//
$myAutoItObfuscator = new PELock\AutoItObfuscator("ABCD-ABCD-ABCD-ABCD");

//
// login to the service
//
$result = $myAutoItObfuscator->Login();

//
// $result[] array holds the information about the license
//
// $result["demo"]          - is it a demo mode (invalid or empty activation key was used)
// $result["credits_left"]  - usage credits left after this operation
// $result["credits_total"] - total number of credits for this activation code
// $result["string_limit"]  - max. script size allowed (it's 1000 bytes for demo mode)
//
if ($result !== false)
{
	echo "Demo version status - " . ($result["demo"] ? "true" : "false") . "";
	echo "Usage credits left - " . $result["credits_left"] . "";
	echo "Total usage credits - " . $result["credits_total"] . "";
	echo "Max. script size - " . $result["string_limit"] . "";

}
else
{
	die("Something unexpected happen while trying to login to the service.");
}
```

Use AutoIt Obfuscator Online
----------------------------

[](#use-autoit-obfuscator-online)

Online interface for the AutoIt Obfuscator is available at:

Windows GUI client and command line version
-------------------------------------------

[](#windows-gui-client-and-command-line-version)

#### AutoIt Obfuscator comes also with full GUI version for Windows:

[](#autoit-obfuscator-comes-also-with-full-gui-version-for-windows)

[![AutoIt Obfuscator Windows Client](https://camo.githubusercontent.com/fb2deb32ca71468429371fccf09bb3ebf1891983f4e221e63a8d78d64af3d0b4/68747470733a2f2f7777772e70656c6f636b2e636f6d2f696d672f656e2f70726f64756374732f6175746f69742d6f626675736361746f722f6175746f69742d6f626675736361746f722d312d362d6d61696e2e706e67)](https://camo.githubusercontent.com/fb2deb32ca71468429371fccf09bb3ebf1891983f4e221e63a8d78d64af3d0b4/68747470733a2f2f7777772e70656c6f636b2e636f6d2f696d672f656e2f70726f64756374732f6175746f69742d6f626675736361746f722f6175746f69742d6f626675736361746f722d312d362d6d61696e2e706e67)

#### Obfuscation options:

[](#obfuscation-options)

[![AutoIt Obfuscator Options](https://camo.githubusercontent.com/f8318dd36e5e0c550f6efa6d92a41d3ccaa5f52d138118473de87c73827ff1b9/68747470733a2f2f7777772e70656c6f636b2e636f6d2f696d672f656e2f70726f64756374732f6175746f69742d6f626675736361746f722f6175746f69742d6f626675736361746f722d312d362d6f7074696f6e732e706e67)](https://camo.githubusercontent.com/f8318dd36e5e0c550f6efa6d92a41d3ccaa5f52d138118473de87c73827ff1b9/68747470733a2f2f7777772e70656c6f636b2e636f6d2f696d672f656e2f70726f64756374732f6175746f69742d6f626675736361746f722f6175746f69742d6f626675736361746f722d312d362d6f7074696f6e732e706e67)

#### Anti-debug, Anti-VM, Anti-Sandbox &amp; Anti CPU Emulator detections:

[](#anti-debug-anti-vm-anti-sandbox--anti-cpu-emulator-detections)

[![Anti-debug, Anti-VM, Anti-Sandbox & Anti CPU Emulator detections](https://camo.githubusercontent.com/52a3c60ffdd84417d6a66c3308a7dd93bf1f545c1bcc5099d7a00fde34326833/68747470733a2f2f7777772e70656c6f636b2e636f6d2f696d672f656e2f70726f64756374732f6175746f69742d6f626675736361746f722f6175746f69742d6f626675736361746f722d312d362d616e74692d646562756767696e672d616e74692d766d2d616e74692d73616e64626f782d616e74692d6370752d656d756c61746f722e706e67)](https://camo.githubusercontent.com/52a3c60ffdd84417d6a66c3308a7dd93bf1f545c1bcc5099d7a00fde34326833/68747470733a2f2f7777772e70656c6f636b2e636f6d2f696d672f656e2f70726f64756374732f6175746f69742d6f626675736361746f722f6175746f69742d6f626675736361746f722d312d362d616e74692d646562756767696e672d616e74692d766d2d616e74692d73616e64626f782d616e74692d6370752d656d756c61746f722e706e67)

Download
--------

[](#download)

You can download it at:

Installation package contains an additional command line interface:

[![AutoIt Obfuscator Windows Client](https://camo.githubusercontent.com/28cb0844ed4dd86e5385b419bbed01d8e39feb1c0b6bf88765449b41a8658eb7/68747470733a2f2f7777772e70656c6f636b2e636f6d2f696d672f656e2f70726f64756374732f6175746f69742d6f626675736361746f722f6175746f69742d6f626675736361746f722d636f6d6d616e642d6c696e652d312d362e706e67)](https://camo.githubusercontent.com/28cb0844ed4dd86e5385b419bbed01d8e39feb1c0b6bf88765449b41a8658eb7/68747470733a2f2f7777772e70656c6f636b2e636f6d2f696d672f656e2f70726f64756374732f6175746f69742d6f626675736361746f722f6175746f69742d6f626675736361746f722d636f6d6d616e642d6c696e652d312d362e706e67)

It is compatible with Windows (.NET) and Linux (Mono). Command line version can be used to integrate obfuscation into your build process or any other batch operation.

Integration with SciTE Script Editor
------------------------------------

[](#integration-with-scite-script-editor)

I've added integration between AutoIt Obfuscator and the obfuscation workflow in AutoIt's default editor — **SciTE**.

Just [install AutoIt Obfuscator](https://www.pelock.com/products/autoit-obfuscator/download) using the installer, and the editor configuration file at `%USERPROFILE%\SciTEUser.properties` will be updated automatically.

This adds a new **Obfuscate** command to the editor's **Tools** menu, so you can obfuscate `*.au3` scripts with a single click.

[![AutoIt Obfuscator integration with SciTE Script Editor](https://camo.githubusercontent.com/9d1831c03816448843c9b0a4dbe6d6a9a3d3233e92bfcae804843901836e431a/68747470733a2f2f7777772e70656c6f636b2e636f6d2f696d672f656e2f70726f64756374732f6175746f69742d6f626675736361746f722f6175746f69742d6f626675736361746f722d73636974652d656469746f722d696e746567726174696f6e2e706e67)](https://camo.githubusercontent.com/9d1831c03816448843c9b0a4dbe6d6a9a3d3233e92bfcae804843901836e431a/68747470733a2f2f7777772e70656c6f636b2e636f6d2f696d672f656e2f70726f64756374732f6175746f69742d6f626675736361746f722f6175746f69742d6f626675736361746f722d73636974652d656469746f722d696e746567726174696f6e2e706e67)

Bartosz Wójcik

- Visit my site at —
- X —
- GitHub —

###  Health Score

26

↑

LowBetter than 41% of packages

Maintenance63

Regular maintenance activity

Popularity18

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity11

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/ff446a37fee1c549dc75c5c69ea788541df2a1302a8ab5573f8607ec2996bc74?d=identicon)[PELock](/maintainers/PELock)

---

Top Contributors

[![PELock](https://avatars.githubusercontent.com/u/7449321?v=4)](https://github.com/PELock "PELock (16 commits)")

---

Tags

autoitautoit-scriptautoit-sourceautoit3autoit3-scriptcrackingdebuggingdecompilationmangleobfuscateobfuscationobfuscation-optionsobfuscatorreverse-engineeringsecurity

### Embed Badge

![Health badge](/badges/pelock-autoit-obfuscator/health.svg)

```
[![Health](https://phpackages.com/badges/pelock-autoit-obfuscator/health.svg)](https://phpackages.com/packages/pelock-autoit-obfuscator)
```

###  Alternatives

[fjogeleit/prometheus-messenger-middleware

Prometheus Middleware for the Symfony Messenger Component

2255.2k](/packages/fjogeleit-prometheus-messenger-middleware)[spatie/craft-ray

Easily debug CraftCMS projects

1638.4k](/packages/spatie-craft-ray)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
