Commit Graph

  • bd586d3ae8 Speed up rz_bv_set_from functions. Rot127 2026-04-07 18:29:51 +02:00
  • df743ebdc2 Improve performance by casting before setting. Rot127 2026-04-07 18:28:47 +02:00
  • ee6c5e1f4e Fix rebase issues Rot127 2026-04-07 15:51:11 +02:00
  • cc73931d97 Limit number of checks on rz_cons_breaked. Rot127 2026-04-03 23:04:08 +02:00
  • cb3c9fe89c Convert yield_rbufs to an array to safe HT lookup time. Rot127 2026-04-03 21:59:16 +02:00
  • 5148176d88 Add unsafe function to check for state. Rot127 2026-04-03 21:58:17 +02:00
  • eb9f1e81fa Added wrong file. Rot127 2026-04-03 20:36:25 +02:00
  • bb603147ab Reset abstract state instead of freeing and allocating it. Rot127 2026-04-02 21:40:00 +02:00
  • 2e3a01b149 Finish refactor to run-state based interpreters. Rot127 2026-04-02 19:06:42 +02:00
  • 545d9589f8 Unfinished refactor to properly defined states of the interpreter. Rot127 2026-04-01 20:21:39 +02:00
  • 32e84da019 Add state flag for the interpreter skeleton. Rot127 2026-04-01 18:00:00 +02:00
  • 587f48a505 Rename state to astate (for abstract). Rot127 2026-04-01 17:52:48 +02:00
  • 64d4471219 Refactor to single running interpreter, instead of spawning mutliple threads. Rot127 2026-03-30 19:54:52 +02:00
  • 5154f56673 Move initialization code into own function. Rot127 2026-03-30 17:34:38 +02:00
  • 0aee307fe3 Add incomplete refactor to ring buffers. Rot127 2026-03-29 23:40:44 +02:00
  • 8350209513 Revert "Push the same object over the queue to prepare for multi-threaded interpretation." Rot127 2026-03-28 20:07:22 +01:00
  • 79df2557a2 Reduce number of arguments passed. Rot127 2026-03-28 19:50:30 +01:00
  • 8d07e52b21 Move the queue initialization into the rz_interpreter_set_new() Rot127 2026-03-26 19:01:23 +01:00
  • fc94c94757 Fix invalid addition of size Rot127 2026-03-26 18:17:10 +01:00
  • 4fe3242b0b Push the same object over the queue to prepare for multi-threaded interpretation. Rot127 2026-03-21 22:10:07 +01:00
  • 4bf6ea60f8 Fix leaks Rot127 2026-03-21 18:13:48 +01:00
  • 91a78a39f6 Don't hard fail on errors in the function detection. Rot127 2026-03-19 19:09:42 +01:00
  • 2ce829f80b Move warnings where they occur. Rot127 2026-03-19 17:50:58 +01:00
  • 31b1218553 Don't add jumps to invalid addresses to functions. Rot127 2026-03-18 20:18:39 +01:00
  • eefa9bd75a Move validation of IL ops code into function and deactivate it. Rot127 2026-03-18 20:11:17 +01:00
  • ed17d17e59 Remove unnecessary logging Rot127 2026-03-18 17:59:53 +01:00
  • 177542bbf3 Get rid of wrong assumptions that branch targets must be aligned. Rot127 2026-03-11 18:36:58 +01:00
  • c531f25a78 Fix bug of too many function detections. Rot127 2026-03-11 17:35:54 +01:00
  • c37978ef36 Add all function symbol addresses to the branch targets. Rot127 2026-03-07 18:29:06 +01:00
  • c86ad86b0c Better logging. Rot127 2026-02-25 21:47:55 +01:00
  • c2212740b8 Fix user send siganls Rot127 2026-02-25 21:45:02 +01:00
  • ad672bda47 Add test case to cover latest function detection fixes. Rot127 2026-02-25 21:19:11 +01:00
  • 425bf31bf9 Fix jumps to unmapped symbols Rot127 2026-02-25 21:17:26 +01:00
  • 13e7f3794c Add non-exectuable maps to ignore list. Rot127 2026-02-25 19:49:10 +01:00
  • 2e6a537467 Add now also the addresses after calls to the branch target list. Rot127 2026-02-25 19:02:18 +01:00
  • 145f202140 Speed up the whole bb_cfg complementation somewhat. Rot127 2026-02-25 18:25:53 +01:00
  • 41defee816 Fix wrong logic error Rot127 2026-02-25 18:25:27 +01:00
  • 3585741285 Fix call candidate detection by resetting candidate info each bb Rot127 2026-02-25 15:54:57 +01:00
  • 9773364ab1 Fix random exits due to unset signal flag. Rot127 2026-02-25 15:23:17 +01:00
  • fb6dbc4608 Speed up post processing of bb cfg Rot127 2026-02-25 15:21:53 +01:00
  • e846972dd7 Update docs and logs Rot127 2026-02-23 23:00:14 +01:00
  • f1f67f79db Fix tests with latest changes Rot127 2026-02-23 22:58:49 +01:00
  • 31f802aaad Don't add call return points to branch target list. Rot127 2026-02-23 22:56:04 +01:00
  • cc29f28419 Demode super common logged errors Rot127 2026-02-23 22:34:26 +01:00
  • 0fd8f277bb Remove duplicate basic blocks and ensure each of them has exactly one entry point. Rot127 2026-02-23 22:29:20 +01:00
  • 3fca8f0a9e Some code clean up and separation Rot127 2026-02-23 19:31:47 +01:00
  • 8a3d73d623 Add statically known to the bb_cfg Rot127 2026-02-22 21:12:25 +01:00
  • 069851f9a7 clang-format Rot127 2026-02-21 21:25:44 +01:00
  • 76980d5f01 Also add op.fail to branch targets Rot127 2026-02-21 20:25:27 +01:00
  • 64349f9784 Add overview of basic function detection algo Rot127 2026-02-14 17:41:18 +01:00
  • 37a6c07712 Add broken test for Mips. Rot127 2026-02-14 17:16:17 +01:00
  • f920138341 Add ARM test Rot127 2026-02-14 17:07:16 +01:00
  • db8b65e9cb Update tests with latest results. Rot127 2026-02-14 15:44:46 +01:00
  • ab38b16d69 Fix function naming of existing symbols Rot127 2026-02-14 15:31:26 +01:00
  • b5643ae520 Rename call targets -> branch targets Rot127 2026-02-12 21:26:10 +01:00
  • aeb4d0d2be Don't overwrite existing symbol names. Rot127 2026-02-12 21:22:56 +01:00
  • a84a5e5f1a Fix possible endless loop if interpreter fails early. Rot127 2026-02-12 17:27:47 +01:00
  • 541c635c9f Log more warnings Rot127 2026-02-12 16:45:43 +01:00
  • 4175ad947d Don't add duplicate edges to the bb cfg. Rot127 2026-02-12 14:47:08 +01:00
  • 7f356d4455 Add edges between calls and their (guessed) return point. Rot127 2026-02-12 14:46:15 +01:00
  • af34736c1c Extend initial set of addresses to interpret. Rot127 2026-02-10 21:03:38 +01:00
  • a94e82bd09 Fix iq_fcn name Rot127 2026-02-10 20:38:01 +01:00
  • 4113427027 Add edges to analysis basic blocks Rot127 2026-02-10 20:33:22 +01:00
  • c54c7eb40b Add entry point always as cfep Rot127 2026-02-10 20:06:44 +01:00
  • 19559e03f8 Move il_bb lifting into own function. Rot127 2026-02-10 19:00:49 +01:00
  • 6ccebdbfea Remove the whole tail call logic for simplicity. Rot127 2026-02-10 16:14:55 +01:00
  • bd96f10bf4 Move function detection into own function Rot127 2026-02-09 21:35:35 +01:00
  • 2461c305de Fix adding of basic blocks following calls Rot127 2026-02-09 20:38:35 +01:00
  • 991f395dcb Fix bb assignment to functions Rot127 2026-02-09 18:59:10 +01:00
  • f1793a584f Enable formatted inquiry function printing. Rot127 2026-02-09 18:53:17 +01:00
  • 44582328a6 Fix incorrect bb edges Rot127 2026-02-09 18:18:07 +01:00
  • 12047e3ef5 Renames, sharing settting og bb_cfg edge and more Rot127 2026-02-08 22:30:26 +01:00
  • 37e5741394 Perform function detection in aaaaIp Rot127 2026-02-07 22:13:10 +01:00
  • 5976e503f8 Finish function detection. Rot127 2026-02-07 21:54:47 +01:00
  • 41f458fa08 Unfinished function detection algorithm. Rot127 2026-02-05 18:50:24 +01:00
  • a48a4671a5 Add basic block CFG as wrapper around RzGraph. Rot127 2026-02-05 16:46:39 +01:00
  • a97ad43207 Some clean ups Rot127 2026-02-03 19:46:52 +01:00
  • 47f4ee0811 Rewrite the whole call candidate detection. Rot127 2026-01-29 21:26:38 +01:00
  • 22c3fd2457 Move the whole plugin setupt into rz_inquiry_new() and free() Rot127 2026-01-28 00:00:44 +01:00
  • c9c76d0f38 Move yield handling into own function. Rot127 2026-01-27 23:03:30 +01:00
  • 4858cd39bf Report yields: PC store and possible return points. Rot127 2026-01-27 17:33:39 +01:00
  • 938c6c9474 CLean up code Rot127 2026-01-27 17:33:06 +01:00
  • 97571a628e Fix test Rot127 2026-01-27 17:29:31 +01:00
  • 59250be249 Basic start for new yield types for function detection Rot127 2026-01-25 01:08:12 +01:00
  • 6365bcb47a Add NULL check to not fail with -n flag Rot127 2026-01-23 01:38:02 +01:00
  • f9e69afe07 Print some status update. Rot127 2026-01-23 01:34:30 +01:00
  • 90c25119ee Track invocation of BBs and quit if they were executed more than 3 times. Rot127 2026-01-21 23:24:00 +01:00
  • 88cdf57594 Move ownership of sent queue objects to RzInquiry. Rot127 2026-01-21 23:23:12 +01:00
  • 8c393f70e6 Actualy Cache IL ops Rot127 2026-01-20 23:20:19 +01:00
  • 13038411e7 Allow to declare address intervals which should never be executed. Rot127 2026-01-20 22:40:29 +01:00
  • a44fe8e17e RzBinSymbol: Add role attribute to the layout. Rot127 2026-01-20 00:12:36 +01:00
  • d2b865f9f5 Move 'choose successor' logic into own function. Rot127 2026-01-18 20:59:08 +01:00
  • c3c0c1f838 More bugs fixes Rot127 2026-01-16 23:01:18 +01:00
  • 81bbdf19a5 Bug fixes Rot127 2026-01-16 21:08:43 +01:00
  • 2c4dece6dc Fix queue open Rot127 2026-01-16 20:46:09 +01:00
  • 6c74caee88 Change order of arguments after rebase Rot127 2026-01-16 17:36:39 +01:00
  • 96bb4eb775 Scan sections for next targets. Rot127 2026-01-15 18:20:20 +01:00
  • a83dd3010a Continue interpretation after an invalid basic block Rot127 2026-01-15 17:24:38 +01:00
  • 4054a22793 Second part implementing BB and coverage tracking. Rot127 2026-01-14 21:30:23 +01:00
  • c258ffcea6 Move all the queue init code into a static function. Rot127 2026-01-14 15:08:46 +01:00