![]() |
miasm
Reverse engineering framework
|
Classes | |
| class | c_linobjs |
Functions | |
| def | xxx___libc_start_main (jitter) |
| def | xxx_isprint (jitter) |
| def | xxx_memcpy (jitter) |
| def | xxx_memset (jitter) |
| def | xxx_puts (jitter) |
| def | get_fmt_args (jitter, fmt, cur_arg) |
| def | xxx_snprintf (jitter) |
| def | xxx_sprintf (jitter) |
| def | xxx_printf (jitter) |
| def | xxx_strcpy (jitter) |
| def | xxx_strlen (jitter) |
| def | xxx_malloc (jitter) |
| def | xxx_free (jitter) |
| def | xxx_strcmp (jitter) |
| def | xxx_strncmp (jitter) |
Variables | |
| stdout = stdout.buffer | |
| linobjs = c_linobjs() | |
| int | ABORT_ADDR = 0x1337beef |
| def miasm.os_dep.linux_stdlib.get_fmt_args | ( | jitter, | |
| fmt, | |||
| cur_arg | |||
| ) |

| def miasm.os_dep.linux_stdlib.xxx___libc_start_main | ( | jitter | ) |
Basic implementation of __libc_start_main
int __libc_start_main(int *(main) (int, char * *, char * *), int argc,
char * * ubp_av, void (*init) (void),
void (*fini) (void), void (*rtld_fini) (void),
void (* stack_end));
Note:
- init, fini, rtld_fini are ignored
- return address is forced to ABORT_ADDR, to avoid calling abort/hlt/...
- in powerpc, signature is:
int __libc_start_main (int argc, char **argv, char **ev, ElfW (auxv_t) *
auxvec, void (*rtld_fini) (void), struct startup_info
*stinfo, char **stack_on_entry)
| def miasm.os_dep.linux_stdlib.xxx_free | ( | jitter | ) |
| def miasm.os_dep.linux_stdlib.xxx_isprint | ( | jitter | ) |
#include <ctype.h> int isprint(int c); checks for any printable character including space.
| def miasm.os_dep.linux_stdlib.xxx_malloc | ( | jitter | ) |
| def miasm.os_dep.linux_stdlib.xxx_memcpy | ( | jitter | ) |
#include <string.h> void *memcpy(void *dest, const void *src, size_t n); copies n bytes from memory area src to memory area dest.
| def miasm.os_dep.linux_stdlib.xxx_memset | ( | jitter | ) |
#include <string.h> void *memset(void *s, int c, size_t n); fills the first n bytes of the memory area pointed to by s with the constant byte c.

| def miasm.os_dep.linux_stdlib.xxx_printf | ( | jitter | ) |

| def miasm.os_dep.linux_stdlib.xxx_puts | ( | jitter | ) |
#include <stdio.h> int puts(const char *s); writes the string s and a trailing newline to stdout.
| def miasm.os_dep.linux_stdlib.xxx_snprintf | ( | jitter | ) |

| def miasm.os_dep.linux_stdlib.xxx_sprintf | ( | jitter | ) |

| def miasm.os_dep.linux_stdlib.xxx_strcmp | ( | jitter | ) |

| def miasm.os_dep.linux_stdlib.xxx_strcpy | ( | jitter | ) |
| def miasm.os_dep.linux_stdlib.xxx_strlen | ( | jitter | ) |
| def miasm.os_dep.linux_stdlib.xxx_strncmp | ( | jitter | ) |

| int miasm.os_dep.linux_stdlib.ABORT_ADDR = 0x1337beef |
| miasm.os_dep.linux_stdlib.linobjs = c_linobjs() |
| miasm.os_dep.linux_stdlib.stdout = stdout.buffer |