rizin/librz/asm/arch/java/jvm.h
Giovanni 7cfddb1da8
Java rewrite with LGPL license (#804)
* Rewritten RzBin java plugin (LGPL3)
* Rewritten java_core.c (LGPL3)
* Rewritten java RzAsm plugin (LGPL3)
* Rewritten java RzAnalysis plugin (LGPL3)
* Resolve constant_pool.<index> when rzbin is available.
* Updated tests with proper ones
* Support java <1.0.2 (i.e. OAK) file format
* Added constant pool resolver `javar`
* Added tests from java 1.7 to 15
2021-03-19 22:00:19 +08:00

23 lines
591 B
C

// SPDX-FileCopyrightText: 2021 deroad <wargio@libero.it>
// SPDX-License-Identifier: LGPL-3.0-only
#ifndef RZ_ASM_JAVA_JVM_H
#define RZ_ASM_JAVA_JVM_H
#include <rz_types.h>
#include <rz_util.h>
#include "bytecode.h"
typedef struct jvm_t {
const ut8 *buffer;
ut32 size;
ut32 current;
ut64 pc;
ut64 section;
} JavaVM;
void bytecode_snprint(RzStrBuf *sb, Bytecode *bytecode);
void bytecode_clean(Bytecode *bytecode);
bool jvm_init(JavaVM *jvm, const ut8 *buffer, const ut32 size, ut64 pc, ut64 section);
bool jvm_fetch(JavaVM *jvm, Bytecode *bytecode);
#endif /* RZ_ASM_JAVA_JVM_H */