From 8e3411139b27a3421e9ac75c13f14f99f6dd3137 Mon Sep 17 00:00:00 2001 From: Miguel Date: Sun, 2 Sep 2018 00:08:42 +0200 Subject: syscalls --- asm/task.s | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'asm/task.s') diff --git a/asm/task.s b/asm/task.s index 4322da5..bf80025 100644 --- a/asm/task.s +++ b/asm/task.s @@ -7,6 +7,7 @@ task_pusha: push $userfunc push $0x666 + push $0x0 pusha @@ -19,7 +20,7 @@ task_pusha: now stack looks like: - param // esp+68 + param // esp+72 returnaddy eflags @@ -44,7 +45,7 @@ task_pusha: */ - mov 68(%esp),%eax // get address of alternative stack where we want to simulate the pusha + mov 72(%esp),%eax // get address of alternative stack where we want to simulate the pusha happened mov (%esp),%ecx mov %ecx,(%eax) @@ -94,6 +95,9 @@ task_pusha: mov 60(%esp),%ecx mov %ecx,60(%eax) + mov 64(%esp),%ecx + mov %ecx,64(%eax) + pop %gs pop %fs pop %es @@ -105,5 +109,6 @@ task_pusha: pop %eax pop %eax pop %eax + pop %eax ret -- cgit v1.2.3