Rizin
unix-like reverse engineering framework and cli tools
egg_shya.c
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: 2011 pancake <pancake@nopcode.org>
2 // SPDX-License-Identifier: LGPL-3.0-only
3 /* shoorisu yagana shellcode encoder */
4 /* wishlist:
5  - fork/setuid
6  - polimorphic
7  - mmap to skip w^x
8  - avoid 00 or alphanumeric
9  - random cipher algorithm
10  - trash
11  - antidisasm tricks
12  - virtual machine
13 */
14 
15 static RzBuffer *build(RzEgg *egg) {
17  char *key = rz_egg_option_get(egg, "key");
18  char *seed = rz_egg_option_get(egg, "seed");
19  eprintf("TODO: shoorisu yagana shellcode encoder\n");
20  free(key);
21  free(seed);
22  return buf;
23 }
24 
26  .name = "shya",
27  .type = RZ_EGG_PLUGIN_ENCODER,
28  .desc = "shoorisu yagana",
29  .build = (void *)build
30 };
31 
32 #if 0
33 #ifndef RZ_PLUGIN_INCORE
36  .data = &rz_egg_plugin_shya,
37  .version = RZ_VERSION
38 };
39 #endif
40 #endif
RZ_API RzLibStruct rizin_plugin
#define RZ_API
#define NULL
Definition: cris-opc.c:27
static static sync static getppid static getegid const char static filename char static len const char char static bufsiz static mask static vfork const void static prot static getpgrp const char static swapflags static arg static fd static protocol static who struct sockaddr static addrlen static backlog struct timeval struct timezone static tz const struct iovec static count static mode const void const struct sockaddr static tolen const char static pathname void static offset struct stat static buf void long static basep static whence static length const void static len key
Definition: sflib.h:118
RZ_API char * rz_egg_option_get(RzEgg *egg, const char *key)
Definition: egg.c:534
static RzBuffer * build(RzEgg *egg)
Definition: egg_shya.c:15
RzEggPlugin rz_egg_plugin_shya
Definition: egg_shya.c:25
RZ_API void Ht_() free(HtName_(Ht) *ht)
Definition: ht_inc.c:130
voidpf void * buf
Definition: ioapi.h:138
#define eprintf(x, y...)
Definition: rlcc.c:7
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.
Definition: buf.c:465
#define RZ_EGG_PLUGIN_ENCODER
Definition: rz_egg.h:20
@ RZ_LIB_TYPE_EGG
Definition: rz_lib.h:84
#define RZ_VERSION
Definition: rz_version.h:8
const char * name
Definition: rz_egg.h:23