add physical memory access
This commit is contained in:
parent
18a87dfe40
commit
11e5d5be6a
@ -49,6 +49,7 @@ int main(int argc, char **argv)
|
||||
#include "migration/snapshot.h"
|
||||
#include "hw/core/cpu.h"
|
||||
#include "qapi/error.h"
|
||||
#include "exec/memory.h"
|
||||
void libafl_qemu_main_loop( void );
|
||||
void libafl_qemu_sys_init(int argc, char **argv, char **envp);
|
||||
void libafl_qemu_cleanup( void );
|
||||
@ -58,6 +59,8 @@ void libafl_qemu_cleanup( void ) { qemu_cleanup(); }
|
||||
void libafl_qemu_set_breakpoint( vaddr );
|
||||
void libafl_snapshot_save( const char* );
|
||||
void libafl_snapshot_load( const char* );
|
||||
void libafl_phys_read(vaddr, uint8_t*, int);
|
||||
void libafl_phys_write(vaddr, uint8_t*, int);
|
||||
|
||||
void libafl_qemu_main_loop( void )
|
||||
{
|
||||
@ -85,13 +88,27 @@ void libafl_snapshot_load( const char* name )
|
||||
load_snapshot(name, NULL, false, NULL, &err);
|
||||
}
|
||||
|
||||
void libafl_phys_read(vaddr addr, uint8_t* buf, int len)
|
||||
{
|
||||
cpu_physical_memory_read(addr, buf, len);
|
||||
}
|
||||
void libafl_phys_write(vaddr addr, uint8_t* buf, int len)
|
||||
{
|
||||
cpu_physical_memory_write(addr, buf, len);
|
||||
}
|
||||
|
||||
#ifndef AS_SHARED_LIB
|
||||
int main(int argc, char **argv, char **envp)
|
||||
{
|
||||
// qemu_init(argc, argv, envp);
|
||||
// qemu_main_loop();
|
||||
// qemu_cleanup();
|
||||
// 2000010c
|
||||
unsigned char buf[4096] = {3};
|
||||
libafl_qemu_sys_init(argc, argv, envp);
|
||||
libafl_phys_write(0x00006de4+0xc, buf,1);
|
||||
libafl_phys_read(0x00006de4+0xc, buf,1);
|
||||
printf("FUZZ_INPUT[0]: %x\n", buf[0]);
|
||||
libafl_qemu_set_breakpoint(0x00004f5c);
|
||||
libafl_snapshot_save("Start");
|
||||
do {
|
||||
|
Loading…
x
Reference in New Issue
Block a user