Ejemplo n.º 1
0
RBinJavaObj* r_bin_java_new(const char* file) {
	ut8 *buf;
	RBinJavaObj *bin = R_NEW0 (RBinJavaObj);
	bin->file = file;
	if (!(buf = (ut8*)r_file_slurp (file, &bin->size))) 
		return r_bin_java_free (bin);
	bin->b = r_buf_new ();
	if (!r_buf_set_bytes (bin->b, buf, bin->size))
		return r_bin_java_free (bin);
	free (buf);
	if (!javasm_init (bin))
		return r_bin_java_free (bin);
	return bin;
}
Ejemplo n.º 2
0
R_API RBinJavaObj* r_bin_java_new_buf(RBuffer *buf) {
	RBinJavaObj *bin = R_NEW0 (RBinJavaObj);
	if (!bin) return NULL;
	bin->b = buf;
	bin->size = buf->length;
	buf->cur = 0; // rewind
	if (!javasm_init (bin))
		return r_bin_java_free (bin);
	return bin;
}
Ejemplo n.º 3
0
static int destroy(RBinFile *bf) {
	r_bin_java_free ((struct r_bin_java_obj_t *) bf->o->bin_obj);
	sdb_free (DB);
	DB = NULL;
	return true;
}
Ejemplo n.º 4
0
static int destroy(RBinArch *arch) {
	r_bin_java_free ((struct r_bin_java_obj_t*)arch->bin_obj);
	return R_TRUE;
}
Ejemplo n.º 5
0
static int destroy(RBinFile *arch) {
	r_bin_java_free ((struct r_bin_java_obj_t*)arch->o->bin_obj);
	sdb_free (DB);
	DB = NULL;
	return R_TRUE;
}