- Clojure is an extension of my hands
- Most hacking tooling is in python
- Basilisp
For now just a breeding ground for Basilisp and other Clojure hacking utils, solve scripts and so forth.
Goals
- Some degree of cross platform support. There’s a lot of tooling on the JVM too, most importantly Burp and Ghidra.
- Liveness and transparency. It should be trivial to look into the program and see what it’s doing, do manual control flow, etc.
- Easiness
- Helpful DSLs
- Flexibility
- Means of visualization
- DWIM DWIM DWIM DWIM DWIM DWIM DWIM DWIM
Non-goals
- Be pure or create indirections between native libs.
- Strict backwards compatibility
- Be very reliable
Usage
Launch basilisp with src/ added to PYTHONPATH, e.g
PYTHONPATH=../basifangs/src basilisp repl
Index - everything is WIP
- src/basifangs/utils.cljc
- cross-host toolkit for stuff that’s generally useful
- core.cljc might be a better name :^)
- src/basifangs/bintoys.cljc
- decomplected cross-host toolkit for binary synthesis, analysis and exploitation
- src/electric_starter_app/main.cljc, src-dev, etc
- electric clojure gui on top of the entire basifangs toolkit
- xio library
- cross-host io toolkit
- will support tubes ala pwntools soon™️
Wants
A JVM Clojure macro basilisp
which executes body as basilisp and
returns the result. Syncronous is fine.
(basilisp (+ #_”this is executed in python” 1 2))