33 Commits

Author SHA1 Message Date
749db2de75 fixup! refactor hooks 2025-07-29 12:20:34 +00:00
49db147f92 clear ptimers before each run 2025-07-23 08:41:26 +00:00
ad273375f8 missing header 2025-07-23 08:41:26 +00:00
208cf5be73 refactor hooks 2025-07-23 08:41:26 +00:00
d3fca27481 re-introduce native breakpoints 2025-07-23 08:41:26 +00:00
7f3f2188bd move instrumentation to hook file 2025-07-23 08:41:26 +00:00
Romain Malmain
a7e9d70e14
forgot 2025-04-30 13:51:55 +02:00
Romain Malmain
e0b8df9655
fix systemmode compilation 2025-04-30 13:47:55 +02:00
Romain Malmain
9366380915
format 2025-04-29 14:29:00 +02:00
Romain Malmain
7633d5fce5
reorganize stuff 2025-04-29 14:26:42 +02:00
Romain Malmain
97bef506ee
Update syshook ret definition (#109) 2025-03-24 17:46:26 +01:00
Romain Malmain
4df4d2dcfa
Add crash exit request (#106)
* add crash exit request.

* make it possible to choose between crashing methods
2025-03-14 16:57:23 +01:00
Romain Malmain
a86bd6bbcb
rename symbols to fit with rust 2024. (#104)
reformat code with more typedefs.
2025-03-04 14:45:11 +01:00
Romain Malmain
695657e4f3
Refactoring of signal handling (#100)
* refactor signal handling for qemu usermode
2025-02-01 12:10:21 +01:00
Romain Malmain
7e0dc68430
Refactor read/write hooks (#99)
* Refactor read/write hooks
* add PC to the callbacks
* simplify code, merge common code
* remove useless tcg frees
* use tcg_constant_tl as much as possible, removing most #if in libafl code.
2025-01-27 12:32:35 +01:00
Marco C.
30ad91fb4f
Add systemmode hw_breakpoint libafl set/remove fns (#93)
* Add systemmode hw_breakpoint libafl set/remove fns

* very bad kvm breakpoint hook yolo

* cleanup

* Prevent GDB from using HW breakpoints

* fix: hw breakpoint add/rm no loop over CPUs
2025-01-24 15:47:33 +01:00
Romain Malmain
ace364678a
Nyx api support (#97)
* add nyx support

* target independent helper call.
2025-01-06 16:13:11 +01:00
Alessandro De Vito
fb1b23cb2f added definition for libafl_get_initial_brk 2024-12-17 13:37:00 +02:00
Romain Malmain
b01a0bc334
Fix helper function calls & support for new x86 decoder (#92)
* fix helper function calls

* cmp hooks: support for new x86 decoder
2024-10-31 16:31:54 +01:00
Romain Malmain
0832bb4892
fix libafl side wih new version 2024-10-25 22:41:53 +02:00
Romain Malmain
d663793952
Early return from libafl edge generation if no exec hooks (#85)
* bug with edges in systemmode, not fixed yet

* timeout request only for systemmode
2024-09-20 13:42:52 +02:00
Romain Malmain
f58a6859f3
extern some variables + cleanup (#86) 2024-09-12 19:49:02 +02:00
Romain Malmain
ee43af7f80
Run thread hooks for KVM mode (#84)
* Run thread hooks for KVM mode

* Unify qemu init function symbol for systemmode and usermode

* get tid from caller instead of callee
2024-08-21 15:36:05 +02:00
Romain Malmain
7f468ebba6
Second round of cleanups (#83)
* get rid of as many extern / function definition in QEMU codebase.

* mostly moved cpu / gdb related code.

* move qemu snapshot code in dedicated files.
2024-08-14 10:28:47 +02:00
Romain Malmain
86d38fbfa7
Add pre/post cpu_run hooks + Refactoring (#82)
* Add cpu_run pre/post exec hooks, to hook the cpu just before / after it runs target code.
* Refactor hooks to separate them in different files
* Remove most extern variables
* Reduce the amount of extra code in QEMU
* Add clang-format script
2024-08-13 16:56:00 +02:00
Romain Malmain
11b27cc216
Refactor and fix edge-related code generation (#81)
* refactor and fix edge-related code generation.

- fix sigsetjmp bug
- fix tcg buffer overflow bug due to wrong icount report.
- closer to original QEMU implementation to improve maintainability.
- use the right TB icount / size semantic
- report problems related errors during generation
2024-08-06 09:49:51 +02:00
Romain Malmain
712661c820
Rename instruction hooks (#75)
* rename instruction hooks
2024-06-03 10:23:57 +02:00
Romain Malmain
9d2197b73b
Better typed syx snapshot check result (#74)
* better typed snapshot check

* edit compile_commands.json to use the real compiler
2024-05-22 18:49:59 +02:00
Romain Malmain
9f3e2399ee
QEMU host page size getter (#73)
* QEMU host page size getter
* Rename to sync_exit
2024-05-06 18:07:38 +02:00
cube0x8
43302cdc39 Fixed qemu usermode snapshot (#66)
* Fixed qemu usermode snapshot

---------

Co-authored-by: Romain Malmain <romain.malmain@pm.me>
2024-05-01 16:15:52 +02:00
Romain Malmain
bf82921212
Add missing LibAFL RW callbacks (#65)
* Add other rw missing callbacks

* Fix mapping iterator

* LibAFL guard
2024-04-24 10:57:25 +02:00
Romain Malmain
2edf778b1c
Add utils (#62)
* add utils file
* user only guard.
2024-04-17 18:08:38 +02:00
Romain Malmain
50b0c90e0a
Moving libafl related files in dedicating folders (#60)
* Restructuration of libafl dirs. Formatting + export of maps struct and functions.

* Fix wrong header path.

* Fix misc path
2024-04-11 16:45:36 +02:00