R_API int r_bin_wr_output(RBin *bin, const char *filename) { RBinFile *binfile = r_bin_cur (bin); if (!binfile || !binfile->buf) return R_FALSE; return r_file_dump (filename, binfile->buf->buf, binfile->buf->length); }
/* XXX Implement r__bin_wr_scn_{ set, del } instead */ R_API ut64 r_bin_wr_scn_resize(RBin *bin, const char *name, ut64 size) { RBinFile *binfile = r_bin_cur (bin); RBinPlugin *plugin = r_bin_file_cur_plugin (binfile); if (plugin && plugin->write && plugin->write->scn_resize) { return plugin->write->scn_resize (bin->cur, name, size); } return false; }
R_API bool r_bin_wr_addlib(RBin *bin, const char *lib) { RBinFile *binfile = r_bin_cur (bin); RBinPlugin *plugin = r_bin_file_cur_plugin (binfile); if (plugin && plugin->write && plugin->write->addlib) { return plugin->write->addlib (bin->cur, lib); } return false; }
R_API bool r_bin_wr_entry(RBin *bin, ut64 addr) { RBinFile *binfile = r_bin_cur (bin); RBinPlugin *plugin = r_bin_file_cur_plugin (binfile); if (plugin && plugin->write && plugin->write->entry) { return plugin->write->entry (bin->cur, addr); } return false; }
R_API bool r_bin_wr_rpath_del(RBin *bin) { RBinFile *binfile = r_bin_cur (bin); RBinPlugin *plugin = r_bin_file_cur_plugin (binfile); if (plugin && plugin->write && plugin->write->rpath_del) { return plugin->write->rpath_del (bin->cur); } return false; }
R_API bool r_bin_wr_scn_perms(RBin *bin, const char *name, int perms) { RBinFile *binfile = r_bin_cur (bin); RBinPlugin *plugin = r_bin_file_cur_plugin (binfile); if (plugin && plugin->write && plugin->write->scn_perms) { return plugin->write->scn_perms (bin->cur, name, perms); } return false; }
static int rabin_extract(int all) { int res = R_FALSE; RBinFile *bf = r_bin_cur (bin); RBinObject *obj = NULL; if (!bf) return res; if (all) { int idx = 0; RListIter *iter = NULL; r_list_foreach (bf->objs, iter, obj) res = extract_binobj (bf, obj, idx++); } else { obj = r_bin_cur_object (bin); if (!obj) return res; res = extract_binobj (bf, obj, 0); } return res; }
R_API RBinFile * r_core_bin_cur (RCore *core) { RBinFile *binfile = r_bin_cur (core->bin); return binfile; }