binchunk

package
v0.0.0-...-701c767 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 27, 2022 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

View Source
const (
	LUA_SIGNATURE    = "\x1bLua"
	LUAC_VERSION     = 0x53
	LUAC_FORMAT      = 0
	LUAC_DATA        = "\x19\x93\r\n\x1a\n"
	CINT_SIZE        = 4
	CSIZET_SIZE      = 8
	INSTRUCTION_SIZE = 4
	LUA_INTEGER_SIZE = 8
	LUA_NUMBER_SIZE  = 8
	LUAC_INT         = 0x5678
	LUAC_NUM         = 370.5
)
View Source
const (
	TAG_NIL       = 0x00
	TAG_BOOLEAN   = 0x01
	TAG_NUMBER    = 0x03
	TAG_INTEGER   = 0x13
	TAG_SHORT_STR = 0x04
	TAG_LONG_STR  = 0x14
)

Variables

This section is empty.

Functions

This section is empty.

Types

type LocVar

type LocVar struct {
	VarName string // 变量名
	StartPC uint32 // 起止指令索引
	EndPC   uint32
}

type Prototype

type Prototype struct {
	// 11 40 68 65 6C 6C 6F 5F 77 6F 72 6C 64 2E 6C 75 61
	Source string // 源文件名
	// 00 00 00 00
	LineDefined uint32 // 两个cint整型,表示起止行号
	// 00 00 00 00
	LastLineDefined uint32 //
	// 00
	NumParams byte // 1byte 记录函数固定参数个数
	// 01
	IsVararg byte // 1byte 是否是Vararg函数 0:否, 1:是
	// 02
	MaxStackSize byte // 1byte 寄存器数量
	//																					 04 00
	// 00 00 06 00 40 00 41 40 00 00 24 40 00 01 26 00
	// 80 00
	Code []uint32 // 4byte 指令表
	//			 02 00 00 00 04 06 70 72 69 6E 74 04 0E 48
	// 65 6C 6C 6F 2C 20 57 6F 72 6C 64 21
	Constants []interface{} // 常量表
	// 01 00 00 00 01 00
	Upvalues []Upvalue // 2byte Upvalue表
	// 00 00 00 00
	Protos []*Prototype // cint整型表示 子函数原型长度
	// 04 00 00 00
	// 01 00 00 00
	// 01 00 00 00
	// 01 00 00 00
	// 01 00 00 00
	LineInfo []uint32 // 行号表
	// 00 00 00 00
	LocVars []LocVar // 局部变量表
	// 01 00 00 00 05 5F 45 4E 56
	UpvalueNames []string // Upvalue名列表
}

func Undump

func Undump(data []byte) *Prototype

type Upvalue

type Upvalue struct {
	Instack byte
	Idx     byte
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL