Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit dd0d835

Browse files
author
Hao Zhang
committed
delete __clone
1 parent 3a5b8a3 commit dd0d835

File tree

3 files changed

+46
-24
lines changed

3 files changed

+46
-24
lines changed

‎entrypoint.sh‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
#!/bin/bash
22
echo "export PATH=$PATH:/root/corescripts" >> /root/.bashrc
3-
echo "set auto-load safe-path /" >> /root/.gdbinit
43

54
# sleep forever
65
tail -f /dev/null

‎exp/banzi.c‎

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -636,29 +636,29 @@ uint64_t page_to_physic(uint64_t page) {
636636
*
637637
*/
638638

639-
__attribute__((naked)) pid_t __clone(uint64_t flags, void *dest)
640-
{
641-
__asm__ __volatile__(
642-
".intel_syntax noprefix;\n"
643-
"mov r15, rsi;\n"
644-
"xor rsi, rsi;\n"
645-
"xor rdx, rdx;\n"
646-
"xor r10, r10;\n"
647-
"xor r9, r9;\n"
648-
"mov rax, 56;\n"
649-
"syscall;\n"
650-
"cmp rax, 0;\n"
651-
"jl bad_end;\n"
652-
"jg good_end;\n"
653-
"jmp r15;\n"
654-
"bad_end:\n"
655-
"neg rax;\n"
656-
"ret;\n"
657-
"good_end:\n"
658-
"ret;\n"
659-
".att_syntax prefix;\n"
660-
);
661-
}
639+
// __attribute__((naked)) pid_t __clone(uint64_t flags, void *dest)
640+
// {
641+
// __asm__ __volatile__(
642+
// ".intel_syntax noprefix;\n"
643+
// "mov r15, rsi;\n"
644+
// "xor rsi, rsi;\n"
645+
// "xor rdx, rdx;\n"
646+
// "xor r10, r10;\n"
647+
// "xor r9, r9;\n"
648+
// "mov rax, 56;\n"
649+
// "syscall;\n"
650+
// "cmp rax, 0;\n"
651+
// "jl bad_end;\n"
652+
// "jg good_end;\n"
653+
// "jmp r15;\n"
654+
// "bad_end:\n"
655+
// "neg rax;\n"
656+
// "ret;\n"
657+
// "good_end:\n"
658+
// "ret;\n"
659+
// ".att_syntax prefix;\n"
660+
// );
661+
// }
662662

663663
int rootfd[2];
664664
struct timespec timer = {.tv_sec = 1000000000, .tv_nsec = 0};

‎exp/page.py‎

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
virtual_base = 0xffff888000000000
2+
vmemmap_base = 0xffffea0000000000
3+
def virtual_to_page(virtual):
4+
page_cnt = (virtual - virtual_base) // 0x1000
5+
page = page_cnt*0x40 + vmemmap_base
6+
return page
7+
8+
def page_to_virtual(page):
9+
page_cnt = (page - vmemmap_base) // 0x40
10+
virtual_addr = virtual_base + page_cnt * 0x1000
11+
return virtual_addr
12+
13+
def virtual_to_ptes(addr):
14+
offset = addr & (2**12-1)
15+
addr = addr >> 12
16+
o4 = addr & (2**9-1)
17+
addr = addr >> 9
18+
o3 = addr & (2**9 -1)
19+
addr = addr >> 9
20+
o2 = addr & (2**9-1)
21+
addr = addr >> 9
22+
o1 = addr & (2**9-1)
23+
return 8*o1, 8*o2, 8*o3, 8*o4, offset

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /