bap
bolt
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
bap
-
Any standard algorithms for parsing (disassembling) machine code?
BAP (https://github.com/binaryanalysisplatform/bap), angr (https://angr.io/) and others already do what you're asking for as more purpose-built solutions for dynamic analysis. Angr specifically in python.
- You need to stop idolizing programming languages.
-
Starting ocaml
I find this pretty good https://www.cs.cornell.edu/courses/cs3110/2019sp/textbook/intro/ocaml.html. Fun projects include compilers (pattern matching and static types are why Ocaml is usually selected), binary analysis stuff https://github.com/BinaryAnalysisPlatform/bap, stuff that requires async so you can try out nomadic async stuff, or really anything you desire.
bolt
- I wrote my own “proper” programming language
- Communicating between parts of a compiler written in a different languages.
-
How to implement variable shadowing in different scopes with the LLVM API during the codegen phase?
Right now I'm in the codegen phase of my language (it's a university project). We use the LLVM API for this. For this I use several repositories (this and this as well as kaledoscope) for inspiration, who also use LLVM as codegen.
What are some alternatives?
VMProtect-devirtualization - Playing with the VMProtect software protection. Automatic deobfuscation of pure functions using symbolic execution and LLVM.
genType - Auto generation of idiomatic bindings between Reason and JavaScript: either vanilla or typed with TypeScript/FlowType.
pyt - A Static Analysis Tool for Detecting Security Vulnerabilities in Python Web Applications
language-server-protocol - Defines a common protocol for language servers.
angr - A powerful and user-friendly binary analysis platform!
infer - A static analyzer for Java, C, C++, and Objective-C
klee - KLEE Symbolic Execution Engine
ocaml-multicore - Multicore OCaml
MobileApp-Pentest-Cheatsheet - The Mobile App Pentest cheat sheet was created to provide concise collection of high value information on specific mobile application penetration testing topics.
pyre-check - Performant type-checking for python.
ocamlformat - Auto-formatter for OCaml code
WeekendCompiler - An example LLVM-based compiler for a subset of C.