{"id":20950235,"url":"https://github.com/bytexenon/luaxen","last_synced_at":"2025-05-14T03:32:33.440Z","repository":{"id":195276748,"uuid":"680105158","full_name":"ByteXenon/LuaXen","owner":"ByteXenon","description":"Lua Compiler, (De)Obfuscator, Minifier, Beautifier, And more","archived":false,"fork":false,"pushed_at":"2024-05-21T17:43:59.000Z","size":523,"stargazers_count":7,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-05-21T18:57:27.008Z","etag":null,"topics":["assembler","assembly","assembly-language","beautifier","decompiler","interpreter","lexer","lua","lua51","minifier","obfuscator","parser","programming-language","pseudo-assembler","pseudo-assembly","tokenizer","tokenizer-parser","virtual-machine","virtualmachine","vm"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ByteXenon.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-08-18T10:58:15.000Z","updated_at":"2024-05-21T17:44:03.000Z","dependencies_parsed_at":"2023-09-22T04:22:20.566Z","dependency_job_id":"f12f6704-ffa9-47db-ae66-b5648c1e7ca9","html_url":"https://github.com/ByteXenon/LuaXen","commit_stats":{"total_commits":31,"total_committers":1,"mean_commits":31.0,"dds":0.0,"last_synced_commit":"eb3647e75aed0821c8cfecfff9ebae15c19ce0fe"},"previous_names":["bytexenon/lua-compiler","bytexenon/luaxen"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ByteXenon%2FLuaXen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ByteXenon%2FLuaXen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ByteXenon%2FLuaXen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ByteXenon%2FLuaXen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ByteXenon","download_url":"https://codeload.github.com/ByteXenon/LuaXen/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225275705,"owners_count":17448387,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["assembler","assembly","assembly-language","beautifier","decompiler","interpreter","lexer","lua","lua51","minifier","obfuscator","parser","programming-language","pseudo-assembler","pseudo-assembly","tokenizer","tokenizer-parser","virtual-machine","virtualmachine","vm"],"created_at":"2024-11-19T00:47:29.233Z","updated_at":"2024-11-19T00:47:29.748Z","avatar_url":"https://github.com/ByteXenon.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LuaXen - A Lua code transformation toolkit\n\n\u003e An elegant Lua toolkit for transforming, compiling, obfuscating, etc. Lua(u/JIT) code of any version.\n\n![Lua](https://img.shields.io/badge/Lua-5.1%2C%205.2%2C%205.3%2C%205.4-blue?style=for-the-badge\u0026logo=lua)\n![GitHub stars](https://img.shields.io/github/stars/ByteXenon/LuaXen?style=for-the-badge)\n![License](https://img.shields.io/github/license/ByteXenon/LuaXen?style=for-the-badge)\n![GitHub last commit](https://img.shields.io/github/last-commit/ByteXenon/LuaXen?style=for-the-badge)\n![GitHub issues](https://img.shields.io/github/issues/ByteXenon/LuaXen?style=for-the-badge)\n\nLuaXen is a toolkit for the Lua programming language, made in Lua itself. It's got a bunch of features for working with Lua code, like compiling, (de)obfuscating, minifying, beautifying, and a whole lot more.\nThis project doesn't use complex Lua functionality (e.g metatables, goto, etc.), so it's compatible with all versions of Lua, including LuaJIT and Roblox Luau.\n\n## Table of Contents:\n- **[LuaXen](#luaxen---a-lua-toolkit)**\n  - **[Table of Contents](#table-of-contents)**\n  - **[Features](#features)**\n  - **[Roadmap](#roadmap)**\n  - **[Installation \u0026 Usage](#installation--usage)**\n  - **[Changelog](#changelog)**\n  - **[FAQ](#faq)**\n  - - **[What is the purpose of this project?](#what-is-the-purpose-of-this-project)**\n  - - **[What is the license of the generated/transformed code?](#what-is-the-license-of-the-generatedtransformed-code)**\n  - - **[What is the current status of this project?](#what-is-the-current-status-of-this-project)**\n  - - **[Can I contribute?](#can-i-contribute)**\n  - - **[Can I use this project in my own project?](#can-i-use-this-project-in-my-own-project)**\n\n**Quick Links:** **[API Source](./src/api.lua)** | **[Changelog](./CHANGELOG.md)** | **[License](./LICENSE)** | **[Contributing](./CONTRIBUTING.md)** | **[Usage Guidelines](./USAGE_GUIDELINES.md)**\n\n## Features\n\nThis project includes the following features:\n\n- **Pseudo-Assembler for Lua Bytecode:** A tool for turning pseudo-assembly code into Lua bytecode.\n- **Parser:** A powerful parser for turning Lua code into abstract syntax trees.\n- **Compiler:** A compiler for turning Lua code into bytecode, which later can be optimized and executed.\n- **Flexible Virtual Machine:** A virtual machine to execute Lua bytecode.\n- **ASTExecutor:** A module for executing abstract syntax trees without the need for a virtual machine or an instruction generator.\n- **Code Beautifier and Minifier:** Tools for making your Lua code as readable or as compact as you need.\n- **Packer:** A tool for packing Lua code into a single file.\n- **Optimizer:** An optimizer for improving the performance of your Lua code.\n- **Obfuscator:** A custom-made obfuscator that makes your code harder to read and reverse-engineer.\n\nDid we mention that all of this is completely free and open-source?\nIf that made you interested, you can check out the [installation instructions](#installation--usage) below, or you can find some examples of how to use different modules in the `/examples` directory.\n\n## Roadmap\n\nWe have big plans for the future of the Lua Compiler project:\n\n**Improvements:**\n\n- Decompiler\n- Static Analyzer\n\n**New Features:**\n\n- Documentation\n- *Working* Deobfuscator\n- - SynapseXen deobfuscator\n- Code profiler\n- Code smell detector\n- Luau-Lua transpiler\n- VM-based Full-Code Obfuscator\n- Logic-based Full-Code Obfuscator\n\n## Example Usage\n\n\nTo imitate the behavior of the \"loadstring\" function using LuaXen, you can use the following code:\n\n```lua\nlocal LuaXen = require(\"LuaXen\")\n\nLuaXen.VirtualMachine.Execute(\"print('Hello, world!')\")\n```\n\nIt effectively tokenizes, parses, converts to bytecode, and executes the given Lua code inside the LuaXen virtual machine.\n\nWant to beautify your Lua code? Use the following code:\n\n```lua\nlocal LuaXen = require(\"LuaXen\")\n\nlocal badCode = \"local function foo() print('Hello, world!') end\"\nlocal beautifiedCode = LuaXen.Beautifier.Beautify(badCode)\n\nprint(beautifiedCode)\n```\n\nFor a complete list of examples, refer to the [examples](./examples) directory, or check out the [API source](./src/api.lua) for more information (it's simple, we promise).\n\n## Changelog\n\nRead the [CHANGELOG.md](./CHANGELOG.md) file for more information.\n\n## FAQ\n\n### What is the purpose of this project?\n\nLuaXen aims to provide a comprehensive set of functionalities for transforming, compiling, (de)obfuscating, and optimizing Lua code. We want to make it easier for developers to work with Lua code, regardless of the version they're using.\n\nThis project is built as one giant toolkit (just like GCC), with each module serving a different purpose, making it easier for the modules to work together, all of them can be chained together to achieve a specific goal, be it beautifying, compiling, or obfuscating Lua code.\n\n### How does it work?\n\nIt really depends on how you're using it, but in general, LuaXen operates by processing your Lua code through a series of transformations, each corresponding to the module you're utilizing. For instance, if your goal is to beautify your code, LuaXen will dissect your code into tokens, parse it, and then reconstruct it in a more readable format following built-in beautification rules. This process is similar for other modules, such as the compiler, obfuscator, and more.\n\n### What is the license of the generated/transformed code?\n\nThe license of the whatever output you get from this project is the same as the input code. If you input code that is licensed under the MIT license, the output will also be licensed under (your) MIT license. The transformation process does not affect the license of the code in any way.\n\n### What is the current status of this project?\n\nThe project is currently in beta and is not yet ready for production use. We're actively working on it, but it will take some time to reach a stable release. Additionally, sometimes, the project may not be updated for a while, but I (as ByteXenon, the original author of the project) will always make sure to come back to it and update it when I can.\n\n### Can I contribute?\n\nAbsolutely! We're always looking for new contributors. Feel free to fork this project and submit a pull request. We'll review it as soon as we can.\n\n### Can I use this project in my own project?\n\nYes, you are welcome to use this project in your own work. You can use it as you see fit, provided you give appropriate credit and adhere to the terms of this project's [MIT license](./LICENSE).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbytexenon%2Fluaxen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbytexenon%2Fluaxen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbytexenon%2Fluaxen/lists"}