// Helper tool interface for privileged operations #include #include import "FortunateSonIPCTypes.h"; subsystem HexFiendHelper 1500; userprefix _GratefulFather; serverprefix _FortunateSon; type FilePath = c_string[*:256]; type bool = int8_t; type VMRegionAttributes = uint32_t; type FileOffset_t = uint64_t; type VarData_t = ^ array [] of uint8_t; routine SayHey( server: mach_port_t; in path : FilePath; out result : int); routine OpenFile( server: mach_port_t; in path: FilePath; in writable: int; out result: int; out result_error: int; out file_size: uint64_t; out file_type: uint16_t; out inode: uint64_t; out device: int); routine CloseFile( server: mach_port_t; in fd: int); routine ReadFile( server: mach_port_t; in fd: int; in offset: FileOffset_t; inout requestedLength: uint32_t; out result: VarData_t; out result_error: int); routine ProcessInfo( server: mach_port_t; in pid: int; out bitSize: uint8_t); routine ReadProcess( server: mach_port_t; in pid: int; in offset: mach_vm_address_t; in requestedLength: mach_vm_size_t; out result: VarData_t ); routine AttributesForAddress( server: mach_port_t; in pid: int; in offset: mach_vm_address_t; out result: VMRegionAttributes; out applicableLength: mach_vm_size_t );