static RBinInfo* info(RBinArch *arch) { RBinInfo *ret = NULL; char *version; if (!(ret = R_NEW (RBinInfo))) return NULL; memset (ret, '\0', sizeof (RBinInfo)); ret->lang = "java"; strncpy (ret->file, arch->file, R_BIN_SIZEOF_STRINGS-1); strncpy (ret->rpath, "NONE", R_BIN_SIZEOF_STRINGS-1); strncpy (ret->type, "JAVA CLASS", R_BIN_SIZEOF_STRINGS-1); version = r_bin_java_get_version (arch->bin_obj); strncpy (ret->bclass, version, R_BIN_SIZEOF_STRINGS-1); free (version); ret->has_va = 0; strncpy (ret->rclass, "class", R_BIN_SIZEOF_STRINGS-1); strncpy (ret->os, "any", R_BIN_SIZEOF_STRINGS-1); strncpy (ret->subsystem, "any", R_BIN_SIZEOF_STRINGS-1); strncpy (ret->machine, "Java VM", R_BIN_SIZEOF_STRINGS-1); strncpy (ret->arch, "java", R_BIN_SIZEOF_STRINGS-1); ret->bits = 32; ret->big_endian = 0; ret->dbg_info = 4 | 8; /* LineNums | Syms */ return ret; }
static RBinInfo *info(RBinFile *bf) { RBinJavaObj *jo = bf->o->bin_obj; RBinInfo *ret = R_NEW0 (RBinInfo); if (!ret) { return NULL; } ret->lang = (jo && jo->lang) ? jo->lang : "java"; ret->file = strdup (bf->file); ret->type = strdup ("JAVA CLASS"); ret->bclass = r_bin_java_get_version (bf->o->bin_obj); ret->has_va = 0; // ret->has_lit = true; ret->rclass = strdup ("class"); ret->os = strdup ("any"); ret->subsystem = strdup ("any"); ret->machine = strdup ("jvm"); ret->arch = strdup ("java"); ret->bits = 32; ret->big_endian = 0; ret->dbg_info = 4 | 8; /* LineNums | Syms */ return ret; }