홈페이지>JSP 소스 코드>기타 카테고리

Garrysmod Lua Dumper & Runner는 Rust로 작성되었습니다.

특징

? 용법

? 메뉴 플러그인

자동 실행은 메뉴 플러그인으로도 사용할 수 있으며 메뉴 상태에서 자동으로 Lua에 필요합니다.

  1. dll gmsv_autorun_win<arch>.dll 파일을 garrysmod/lua/bin 폴더에 넣으세요.
  2. garrysmod/lua/menu/menu.lua 하단에 require("autorun") 추가하세요.
    이제 garrysmod가 메뉴에 로드되면 자동으로 실행됩니다.

? 주입

이것을 사용하는 전통적인(하지만 더 불편한) 방법은 그냥 주입하는 것입니다.

  1. 인젝터를 구입하세요(사용에 따라 32/64비트 코드를 주입할 수 있는지 확인하세요).
  2. 메뉴에 있는 동안 gmod에 dll을 삽입합니다.

스크립트훅

자동 실행에는 스크립트후크 기능이 있습니다. 즉, 다른 garrysmod 스크립트가 실행되기 전에 스크립트를 실행하여 자체 후크 스크립트를 실행하여 코드를 실행할 것인지 확인합니다. *이것은 _G 와 별도의 환경에서 실행되므로 전역을 수정하려면 _G.foo = bar 수행하십시오.

또한 autorun.lua 에서 실행 중인 경우 http.Fetch & file.Write 와 같은 기능은 존재하지 않습니다.
C 대응 항목( HTTPfile.Open )을 사용하세요.

여기에서 스크립트훅을 사용하는 예제 프로젝트를 확인하세요.

? 파일 구조

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
└── ...

?️ 필드

Fields.lua의 scripthook 환경에 EmmyLua 정의 파일로 전달된 내용을 찾을 수 있습니다.
이것은 intellisense용 vscode lua 언어 서버 확장과 같은 것과 함께 사용될 수 있습니까?

✍️ 예시

후크.루아
이 파일은 애드온 및 서버의 클라이언트에서 모든 단일 Lua 스크립트가 실행되기 전에 실행됩니다. 스크립트를 실행하지 않으려면 return true 하고, 스크립트를 대체하려면 문자열을 반환할 수 있습니다.

 -- 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

여기에서 자세한 내용을 확인할 수 있습니다.

다운로드 중

? 안정적인

릴리스에서 '안정적인' 릴리스를 얻을 수 있습니다.

? 출혈의 가장자리

Github Actions 탭에서 (저장소의 코드에서) 최신 버전을 다운로드할 수 있습니다.
예상대로 작동하지 않을 수 있습니다. 하지만 문제가 해결되었는지 확인하기 위해 문제를 보고하기 전에 이 방법을 시도해 보는 것이 좋습니다.

이것을 메뉴 플러그인으로 사용하는 경우 DLL 이름이 gmsv_autorun_win<arch>.dll 인지 확인하세요.

건물

변경/기여를 원할 경우(또는 어떤 이유로든 github 작업을 신뢰하지 않는 경우) 직접 빌드할 수도 있습니다.

  1. Rust & Cargo 설정
  2. build_win_32.bat 또는 build_win_64.bat 사용하세요.
확장하다
추가 정보