Module: ASMREPL::MacOS
- Includes:
- Fiddle
- Defined in:
- lib/asmrepl/macos.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 =
0x1000
- PT_TRACE_ME =
0
- PT_CONTINUE =
7
Class Method Summary
collapse
Class Method Details
.jitbuffer(size) ⇒ Object
42
43
44
|
# File 'lib/asmrepl/macos.rb', line 42
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/macos.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
46
47
48
|
# File 'lib/asmrepl/macos.rb', line 46
def self.traceme
raise unless ptrace(PT_TRACE_ME, 0, 0, 0).zero?
end
|