Page d'accueil>Code source JSP>Autres catégories

Garrysmod Lua Dumper & Runner, écrit en Rust.

Caractéristiques

? Usage

? Plugin de menu

Autorun peut également être utilisé comme plugin de menu / requis automatiquement par Lua à partir de l'état du menu.

  1. Placez le fichier dll gmsv_autorun_win<arch>.dll dans votre dossier garrysmod/lua/bin .
  2. Ajoutez require("autorun") en bas de garrysmod/lua/menu/menu.lua
    Il s'exécutera désormais automatiquement lorsque garrysmod se chargera dans le menu.

? Injection

La méthode traditionnelle (mais plus peu pratique) pour l’utiliser consiste simplement à l’injecter.

  1. Procurez-vous un injecteur (Assurez-vous qu'il est compatible pour injecter du code 32/64 bits en fonction de votre utilisation).
  2. Injectez la DLL dans gmod pendant que vous êtes dans le menu

Crochet de script

Autorun comporte un scripthook, ce qui signifie que nous exécuterons votre script avant l'exécution de tout autre script garrysmod pour vérifier si vous souhaitez que le code s'exécute en exécutant votre propre script hook. *Cela s'exécute dans un environnement distinct de _G , donc pour modifier les globales, faites _G.foo = bar

Notez également que si vous exécutez autorun.lua des fonctions telles que http.Fetch et file.Write n'existeront pas.
Utilisez leurs homologues C ( HTTP et file.Open )

Voir un exemple de projet utilisant le scripthook ici.

? Structure du fichier

C:Users < User > autorun
├── autorun . lua # Runs *once* before autorun
├── hook . lua # Runs for every script
├── lua_dumps # Each server gets a folder with their IP as the name.
│   ├──  192.168.1 . 55_27015
│   └── X . Y . Z . W_PORT 
├── logs # Logs are saved here
│   └── YYYY - MM - DD . log
├── bin # Store binary modules to be used with Autorun.requirebin
│   └── gmcl_vistrace_win64 . dll
├── plugins # Folder for Autorun plugins, same behavior as above autorun and hook.lua, but meant for plugin developers.
│   └── Safety
│       ├── src
|       |   ├── autorun . lua
|       |   └── hook . lua
│       └── plugin . toml
├── settings . toml # See autorun/src/configs/settings.toml
└── ...

?️ Champs

Vous pouvez trouver ce qui est transmis à l'environnement scripthook dans field.lua en tant que fichier de définitions EmmyLua.
Cela pourrait être utilisé avec quelque chose comme une extension de serveur de langage vscode lua pour intellisense ?

✍️ Exemples

crochet.lua
Ce fichier s'exécute avant chaque script Lua exécuté sur votre client à partir d'addons et de serveurs. Vous pouvez return true pour ne pas exécuter le script, ou une chaîne pour le remplacer.

 -- Replace all 'while true do end' scripts with 'while false do end' ?
local script = Autorun . CODE
if script : find ( " while true do end " ) then
	Autorun . log ( " Found an evil script! " )
	return string . Replace ( script , " while true do end " , " while false do end " )
end

Vous pouvez en trouver plus ici

Téléchargement

? Écurie

Vous pouvez obtenir une version « stable » à partir des versions.

? Bord saignant

Vous pouvez obtenir le dernier téléchargement absolu (à partir du code dans le dépôt) dans l'onglet Actions Github
Notez que cela peut ne pas fonctionner comme prévu (mais je vous conseille d'essayer ceci avant d'essayer de signaler un problème pour voir s'il a été résolu)

Si vous l'utilisez comme plugin de menu ?, assurez-vous que la DLL est nommée gmsv_autorun_win<arch>.dll

Bâtiment

Vous souhaiterez peut-être le créer vous-même si vous souhaitez apporter des modifications/contribuer (ou si vous ne faites pas confiance aux actions de github pour une raison quelconque..)

  1. Configurer la rouille et la cargaison
  2. Utilisez build_win_32.bat ou build_win_64.bat .
Développer
Informations supplémentaires