local velx_spec = struct { endian = "<", {magic="c5"}, {fver="B"}, {compression="B"}, {lver="B"}, {os="B"}, {arctype="c4"}, {psize="I3"}, {lsize="I3"}, {ssize="I3"}, {rsize="I4"} } local velx = {} local exec = {} function velx.identify(path) local h = io.open(path, "rb") local header = velx_spec(h:read(#velx_spec)) h:close() return header.magic == "\27VelX" end function velx.load(path) local h = io.open(path, "rb") local header = velx_spec(h:read(#velx_spec)) local code = h:read(header.psize) h:seek("cur", lsize) local sig = h:read(header.ssize) end function velx.verify(path) local h = io.open(path, "rb") local header = velx_spec(h:read(#velx_spec)) local code = h:read(header.psize) h:seek("cur", lsize) local sig = h:read(header.ssize) h:close() return security.verify(code, sig) end function exec:link() self.file:seek("set", #velx_spec+self.header.psize) local linkinfo = self.file:read(self.header.lsize) local linker = {} local pos = 1 while true do local size = string.unpack("