unbind_at_call() Instance Public methods
signed_value(val, ty) Instance Public methods
unsigned_value(val, ty) Instance Public methods
wrap_arg(arg, ty, funcs = [], &block) Instance Public methods
wrap_args(args, tys, funcs, &block) Instance Public methods
DL.dlopen(so_lib) Class Public methods An interface to the dynamic linking loader This is a shortcut to DL::Handle.new and takes the same arguments. Example: libc_so = "/lib64/libc.so.6" => "/lib64/libc.so.6" libc = DL.dlopen(libc_so) => #<DL::Handle:0x00000000e05b00>
DL.dlunwrap(addr) Class Public methods Returns the hexadecimal representation of a memory pointer address addr Example: lib = DL.dlopen('/lib64/libc-2.15.so') => #<DL::Handle:0x00000001342460> lib['strcpy'].to_s(16) => "7f59de6dd240" DL.dlunwrap(DL.dlwrap(lib['strcpy'].to_s(16))) => "7f59de6dd240"
DL.dlwrap(val) Class Public methods Returns a memory pointer of a function's hexadecimal address location val Example: lib = DL.dlopen('/lib64/libc-2.15.so') => #<DL::Handle:0x00000001342460> DL.dlwrap(lib['strcpy'].to_s(16)) => 25522520
fiddle?() Class Public methods Returns true if DL is using Fiddle, the libffi wrapper.
DL.free(addr) Class Public methods Free the memory at address addr
Page 185 of 11844