MoonVeil-Docs/content/docs/macros/MV_OMIT_FUNCTION.md
2025-05-21 23:29:09 -05:00

1.2 KiB

weight title description icon date lastmod
100 MV_OMIT Omit all mangling steps code_blocks 2025-05-01T18:47:58-05:00 2025-05-01T18:47:58-05:00

declare function MV_OMIT(omit: any): any

will omit all mangling steps from the passed expression, will also disregard any indexes set by MV_INDEX_TO_NUM. Passing a function to this can be useful to keep performance-critical sections unobfuscated.

When used in a virtualized block (using the MV_VM or MV_ENC_FUNC macros), this will lift the function from the virtualized block as a separate standalone minified function in plaintext.

{{% alert context="info" text="Note: MV_OMIT_FUNCTION && LPH_NO_VIRTUALIZE are also available aliases." /%}}

Valid Usage

local dontMangleMe = MV_OMIT(function()
  print("this whole function is in plaintext!")
end)

donMangleMe()

local a = MV_OMIT("plaintext string")
print(a .. "im obfuscated")

local foo = 'hello'
MV_ENC_FUNC(function()
    MV_OMIT(function(aa)
        if aa == "lol" then
            foo = "OK"
        else 
            foo = "NO"
        end
    end)("lol")

    print(foo)
end, "abc", "abc")()
-- will print "OK"