Module: ASMREPL::Linux
- Includes:
- Fiddle
- Defined in:
- lib/asmrepl/linux.rb
Defined Under Namespace
Classes: ThreadState, Tracer
Constant Summary
collapse
- PROT_READ =
0x01
- PROT_WRITE =
0x02
- PROT_EXEC =
0x04
- MAP_PRIVATE =
0x0002
- MAP_SHARED =
0x0001
- MAP_ANON =
0x20
- PTRACE_TRACEME =
0
- PTRACE_CONT =
7
- PTRACE_GETREGS =
x86_64-linux-gnu/sys/ptrace.h
12
Class Method Summary
collapse
Class Method Details
.jitbuffer(size) ⇒ Object
37
38
39
|
# File 'lib/asmrepl/linux.rb', line 37
def self.jitbuffer size
Fisk::Helpers::JITBuffer.new mmap_jit(size), size
end
|
.make_function(name, args, ret) ⇒ Object
7
8
9
10
11
|
# File 'lib/asmrepl/linux.rb', line 7
def self.make_function name, args, ret
ptr = Handle::DEFAULT[name]
func = Function.new ptr, args, ret, name: name
define_singleton_method name, &func.to_proc
end
|
.traceme ⇒ Object
48
49
50
|
# File 'lib/asmrepl/linux.rb', line 48
def self.traceme
raise unless ptrace(PTRACE_TRACEME, 0, 0, 0).zero?
end
|