41 Commits

Author SHA1 Message Date
Duncan Ogilvie 269d70d69e Update README v0.1.1 2026-05-21 14:08:48 +02:00
Duncan Ogilvie d99fd4466c Remove test binaries from sdist 2026-05-21 14:08:46 +02:00
Duncan Ogilvie 736d67d487 Add GitHub Actions v0.1.0 2026-05-21 12:31:54 +02:00
Duncan Ogilvie 5792d05827 Clean up brighten.py script 2026-05-20 16:07:13 +02:00
Duncan Ogilvie a3b3f50074 Remove confusing assert messages 2026-05-20 16:01:45 +02:00
Duncan Ogilvie 3273695571 Add TBAA annotations to State loads/stores
Reference: https://llvm.org/docs/LangRef.html#tbaa-metadata
2026-05-20 14:17:13 +02:00
Duncan Ogilvie f403b6bc8d Address leftover TODOs in operand handling 2026-05-20 12:46:49 +02:00
Duncan Ogilvie e11da95765 Remove rip from context completely 2026-05-20 12:45:29 +02:00
Duncan Ogilvie 055526216b Switch around state and memory to match Remill 2026-05-16 12:37:29 +02:00
Duncan Ogilvie a0ed507618 Match blog post in brighten.py 2026-05-15 01:41:05 +02:00
Duncan Ogilvie e52df6c840 Reformat and fix ruff check errors 2026-05-15 00:57:42 +02:00
Duncan Ogilvie 8dbe1caf29 Add aliases for i1-i128 in Semantics 2026-05-15 00:53:58 +02:00
Duncan Ogilvie 9365a13a0e Working brightening example 2026-05-14 16:28:55 +02:00
Duncan Ogilvie ebdf8d3b3c Mark undef flag functions as memory(none), nounwind, willreturn
This allows for dead store elimination of the flags
2026-05-14 16:28:32 +02:00
Duncan Ogilvie 3c671c5cc2 Turn lift_bfs into a reusable function 2026-05-14 04:25:49 +02:00
Duncan Ogilvie 15a95377c2 Further cleanups before publication 2026-05-13 12:36:21 +02:00
Duncan Ogilvie e2808eca76 Use ret as terminator instead of unreachable 2026-05-13 01:27:39 +02:00
Duncan Ogilvie f04c329d9f Update after llvm-nanobind API changes 2026-05-13 01:27:23 +02:00
Duncan Ogilvie a24d3d64aa Another cheat sheet revision 2026-05-12 21:12:40 +02:00
Duncan Ogilvie e34ea6f048 Rewrite cheat sheet 2026-05-12 20:46:33 +02:00
Duncan Ogilvie 3e2ba1de10 Add glossary/cheat sheet for LLVM concepts 2026-05-12 17:52:08 +02:00
Duncan Ogilvie 6a2e421e01 Clean up undefined flag handling 2026-05-12 17:51:05 +02:00
Duncan Ogilvie 9f077e9d17 Clean up repository root 2026-05-12 17:23:03 +02:00
Duncan Ogilvie 07837a9435 More faithful semantics for op_mem 2026-05-12 17:21:16 +02:00
Duncan Ogilvie bb35fdd435 Switch to llvm pypi package (test) 2026-05-12 15:52:56 +02:00
Duncan Ogilvie edad654821 Lazily create GEP for registers and rename some functions 2026-05-11 01:00:10 +02:00
Duncan Ogilvie 5f78af4744 Add missing semantics for Themida 2026-05-11 00:59:40 +02:00
Duncan Ogilvie 53292c1f9c Add LICENSE and description 2026-05-10 11:56:04 +02:00
Duncan Ogilvie 9684447c14 Move test files to tests/ 2026-05-10 11:51:46 +02:00
Duncan Ogilvie 7698850d04 Restructure semantics into striga package 2026-05-10 11:46:26 +02:00
Duncan Ogilvie 2132eb29a5 Semantics review and fixes 2026-05-10 10:28:52 +02:00
Duncan Ogilvie 0b3c6c6bed Add semantics necessary for riscvm.exe 2026-05-10 01:54:40 +02:00
Duncan Ogilvie a938861ac5 Implement flags 2026-05-10 01:38:41 +02:00
Duncan Ogilvie 8552acf91a Further cleanup 2026-05-10 01:29:58 +02:00
Duncan Ogilvie eec7bfe862 Add lifting of every binaryshield handler 2026-05-09 23:01:20 +02:00
Duncan Ogilvie a0b602dfe1 Implement subregs and the rest of the semantics 2026-05-09 22:59:51 +02:00
Duncan Ogilvie 25b4bf2074 Refactor semantics handling 2026-05-09 19:58:23 +02:00
Duncan Ogilvie 0817dee12c Fix some minor bugs 2026-05-09 18:35:55 +02:00
Duncan Ogilvie 2ac172cf33 First handler lifted! 2026-05-09 16:50:27 +02:00
Duncan Ogilvie beec01d84e Initial lifting POC 2026-05-09 15:09:52 +02:00
Duncan Ogilvie d0c719bc98 Initial commit 2026-05-08 21:36:18 +02:00