fix registers read bug and expose load_addr to Rust
This commit is contained in:
parent
cbbe73864b
commit
654aef1147
1
cpu.c
1
cpu.c
@ -83,6 +83,7 @@ int libafl_qemu_read_reg(int reg, uint8_t* val)
|
||||
|
||||
CPUClass *cc = CPU_GET_CLASS(cpu);
|
||||
if (reg < cc->gdb_num_core_regs) {
|
||||
g_byte_array_set_size(libafl_qemu_mem_buf, 0);
|
||||
int len = cc->gdb_read_register(cpu, libafl_qemu_mem_buf, reg);
|
||||
if (len > 0) {
|
||||
memcpy(val, libafl_qemu_mem_buf->data, len);
|
||||
|
@ -627,11 +627,18 @@ static int parse_args(int argc, char **argv)
|
||||
|
||||
//// --- Begin LibAFL code ---
|
||||
|
||||
uint64_t libafl_load_addr(void);
|
||||
int libafl_qemu_main(void);
|
||||
int libafl_qemu_run(void);
|
||||
|
||||
static CPUArchState *libafl_qemu_env;
|
||||
|
||||
struct image_info libafl_image_info;
|
||||
|
||||
uint64_t libafl_load_addr(void) {
|
||||
return libafl_image_info.load_addr;
|
||||
}
|
||||
|
||||
__attribute__((weak)) int libafl_qemu_main(void)
|
||||
{
|
||||
libafl_qemu_run();
|
||||
@ -649,7 +656,8 @@ int libafl_qemu_run(void)
|
||||
int main(int argc, char **argv, char **envp)
|
||||
{
|
||||
struct target_pt_regs regs1, *regs = ®s1;
|
||||
struct image_info info1, *info = &info1;
|
||||
//struct image_info info1, *info = &info1;
|
||||
struct image_info *info = &libafl_image_info;
|
||||
struct linux_binprm bprm;
|
||||
TaskState *ts;
|
||||
CPUArchState *env;
|
||||
|
Loading…
x
Reference in New Issue
Block a user