FreeCalypso > hg > freecalypso-reveng
view ticoff/main.c @ 106:a39a38bbec4d
analysis of what osmocon's voodoo payloads disassemble to in ARM/Thumb
author | Michael Spacefalcon <msokolov@ivan.Harhan.ORG> |
---|---|
date | Mon, 31 Mar 2014 06:33:14 +0000 |
parents | c20dc315a9d4 |
children | e650fdc743fe |
line wrap: on
line source
/* * tiobjd main() function and command dispatch */ #include <sys/types.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <strings.h> #include "globals.h" extern int cmd_basics(); extern int cmd_nm(); extern int cmd_profile(); extern int cmd_rawrel(); extern int cmd_sechdr(); extern int cmd_symtab(); extern int dump_filehdr_info(); static struct cmdtab { char *cmd; int (*func)(); } cmdtab[] = { {"basics", cmd_basics}, {"dumpsym", cmd_symtab}, /* backward compat */ {"hdr", dump_filehdr_info}, {"nm", cmd_nm}, {"profile", cmd_profile}, {"rawrel", cmd_rawrel}, {"sechdr", cmd_sechdr}, {"symtab", cmd_symtab}, {0, 0} }; main(argc, argv) char **argv; { struct cmdtab *tp; if (argc != 3) { fprintf(stderr, "usage: %s <objfile> <op>\n", argv[0]); exit(1); } objfilename = argv[1]; mmap_objfile(); initial_parse_hdr(); for (tp = cmdtab; tp->cmd; tp++) if (!strcmp(tp->cmd, argv[2])) break; if (!tp->func) { fprintf(stderr, "\"%s\": unknown or unimplemented command\n", argv[2]); exit(1); } return tp->func(); }