Skip to content

A command-line tool for finding Lua interpreters embedded within binaries.

Notifications You must be signed in to change notification settings

craben20/LuaScout

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LuaScout

LuaScout Logo
A command-line tool for finding Lua interpreters embedded within binaries.

Project rationale

This project was started to address a personal need to identify and interact with embedded Lua interpreters. Many applications use Lua as an internal scripting engine, to ease development and encourage extensibility. LuaScout facilitates (static) function pointer identification from signatures generated from any given Lua release, generating a portable C-code output capable of attaching hooks to these functions during runtime (a library injection tool is required - not provided here). Using compile-time options, this code can either dump a trace of calls to Lua functions, or act as a "man-in-the-middle" to hijack and modify Lua calls. Thanks to the architecture of the Lua language, this is actually rather simple. :)

Nomenclature guidelines

Object Type Guideline
Directory lowercase, no whitespace, no hyphenation
File CapitalCamelCase, no whitespace, no hyphenation
Class CapitalCamelCase, no whitespace, no hyphenation
Local var camelCase, no whitespace, no hyphenation

Dependencies

The only dependency of LuaScout is PLTHook, a library for modifying the Procedure Linkage Table of ELF-format executables and libraries across many operating systems and microarchitectures.

IMPORTANT NOTICE

As is inferred from the dependency on PLTHook, this library can only hook to Lua functions located within the PLT. If functions have been inlined (for example), this library will serve no purpose.

About

A command-line tool for finding Lua interpreters embedded within binaries.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages