Compare commits

..

2 Commits

Author SHA1 Message Date
761953e518 i love links 2025-10-17 03:32:37 -06:00
c00cf12b71 better compatibility table 2025-10-17 03:22:30 -06:00
5 changed files with 17 additions and 17 deletions

View File

@@ -13,18 +13,18 @@ Many of Luraph's macros do features or optimizations that are already built into
{{% table %}}
| Luraph Macro | MoonVeil Alias |
| ----- | ----- |
| `LPH_ENCFUNC` | `MV_ENC_FUNC` |
| `LPH_ENCSTR` | `MV_COMPRESS` |
| `LPH_ENCNUM` | `MV_NO_OP` |
| `LPH_CRASH` | `MV_CRASH` |
| `LPH_NO_VIRTUALIZE` | `MV_OMIT` |
| `LPH_JIT` | `MV_NO_OP` |
| `LPH_JIT_MAX` | `MV_NO_OP` |
| `LPH_NO_UPVALUES` | `MV_NO_OP` |
| `LPH_LINE` | `MV_LINE` |
| `LPH_OBFUSCATED` | `MV_OBFUSCATED` |
| Luraph Macro | MoonVeil Alias | Description |
| ----- | ----- | ----- |
| `LPH_ENCFUNC` | [MV_ENC_FUNC](/docs/macros/mv_enc_func) | Virtualizes and encrypts functions |
| `LPH_ENCSTR` | `MV_NO_OP` | Not applicable |
| `LPH_ENCNUM` | `MV_NO_OP` | Not applicable |
| `LPH_CRASH` | [MV_CRASH](/docs/macros/mv_crash) | Crashes the VM |
| `LPH_NO_VIRTUALIZE` | [MV_OMIT](/docs/macros/mv_omit) | Omits a function from all obfuscation steps |
| `LPH_JIT` | `MV_NO_OP` | MoonVeil provides built-in optimizations |
| `LPH_JIT_MAX` | `MV_NO_OP` | MoonVeil provides built-in optimizations |
| `LPH_NO_UPVALUES` | `MV_NO_OP` | Not applicable |
| `LPH_LINE` | [MV_LINE](/docs/macros/mv_line) | Current line number |
| `LPH_OBFUSCATED` | [MV_OBFUSCATED](/docs/macros/mv_obfuscated) | Detects obfuscation |
{{% /table %}}
{{% alert context="info" text="`MV_NO_OP` isn't user accessible, and is only used to provide source compatibility." /%}}

View File

@@ -20,7 +20,7 @@ local a = MV_LINE
print(a, MV_LINE)
```
Obfuscates to:
turns into:
```lua
print(1,2)

View File

@@ -27,7 +27,7 @@ end
return if MV_OBFUSCATED then runWithoutDebugging() else runWithDebugging()
```
Obfuscates to:
turns into:
```lua
do

View File

@@ -9,7 +9,7 @@ lastmod: "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.
will omit all obfuscation 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](./MV_VM) or [MV_ENC_FUNC](./MV_ENC_FUNC) macros), this will lift the function from the virtualized block as a separate standalone minified function in plaintext.

View File

@@ -17,7 +17,7 @@ This preset is available in [your dashboard's settings](/docs/dashboard/). If yo
Not all code needs to be obfuscated. Large libraries that deal with unimportant code such as UI libraries, data serialization libraries, etc. can be left unobfuscated.
MoonVeil allows you to omit obfuscation from specific blocks of your script, by wrapping the block in an `MV_OMIT` macro:
MoonVeil allows you to omit obfuscation from specific blocks of your script, by wrapping the block in an [MV_OMIT](/docs/macros/mv_omit_function) macro:
```lua
MV_OMIT(function()
@@ -38,7 +38,7 @@ end))
## Obfuscation only through macros
Who says you need to obfuscate your whole script? If you know what you're doing, you can selectively tell MoonVeil to **only** obfuscate certain parts of your script using the `MV_VM`, `MV_ENC_FUNC` and `MV_CFF` macros. This gives you much more control over the obfuscation process, you simply tell MoonVeil what parts of your script you want to obfuscate:
Who says you need to obfuscate your whole script? If you know what you're doing, you can selectively tell MoonVeil to **only** obfuscate certain parts of your script using the [MV_VM](/docs/macros/mv_vm), [MV_ENC_FUNC](/docs/macros/mv_enc_func), and [MV_CFF](/docs/macros/mv_cff) macros. This gives you much more control over the obfuscation process, you simply tell MoonVeil what parts of your script you want to obfuscate:
```lua
local getThing = MV_VM(function()