diff options
Diffstat (limited to 'asm/task.s')
| -rw-r--r-- | asm/task.s | 9 |
1 files changed, 7 insertions, 2 deletions
@@ -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 |
