示例#1
0
文件: java.c 项目: pixilla/radare2
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;
}
示例#2
0
文件: class.c 项目: 0xroot/radare2
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;
}
示例#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;
}
示例#4
0
文件: bin_java.c 项目: 0xroot/radare2
static int destroy(RBinArch *arch) {
	r_bin_java_free ((struct r_bin_java_obj_t*)arch->bin_obj);
	return R_TRUE;
}
示例#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;
}