Skip to content

A breeding ground for Basilisp and Clojure hacking utils

Notifications You must be signed in to change notification settings

olavfosse/basifangs

Repository files navigation

  • 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))

About

A breeding ground for Basilisp and Clojure hacking utils

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published