23.12.2014 Views

Defiling Mac OS X - Ruxcon - Reverse Engineering Mac OS X - PUT ...

Defiling Mac OS X - Ruxcon - Reverse Engineering Mac OS X - PUT ...

Defiling Mac OS X - Ruxcon - Reverse Engineering Mac OS X - PUT ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

TECHNIQUES<br />

SYSCALL HOOKS<br />

static struct sysent * find_sysent () {<br />

struct sysent *table;<br />

int *nsysent = (int *)find_kernel_symbol("_nsysent");<br />

table = (struct sysent *)(((uint64_t)nsysent) -<br />

((uint64_t)sizeof(struct sysent) * (uint64_t)*nsysent));<br />

}<br />

if (table[SYS_syscall].sy_narg == 0 &&<br />

table[SYS_exit].sy_narg == 1 &&<br />

table[SYS_fork].sy_narg == 0 &&<br />

table[SYS_read].sy_narg == 3 &&<br />

table[SYS_wait4].sy_narg == 4 &&<br />

table[SYS_ptrace].sy_narg == 4)<br />

{<br />

return table;<br />

} else {<br />

return NULL;<br />

}<br />

<strong>Defiling</strong> <strong>Mac</strong> <strong>OS</strong> X - <strong>Ruxcon</strong><br />

November, 2011

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!