bap
PyVM
bap | PyVM | |
---|---|---|
3 | 1 | |
1,981 | 106 | |
1.2% | - | |
4.6 | 0.0 | |
10 days ago | almost 3 years ago | |
OCaml | Python | |
MIT License | MIT License |
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.
PyVM
-
Any standard algorithms for parsing (disassembling) machine code?
Back in the day, I wrote this x86 emulator just for fun: https://github.com/ForceBru/PyVM, and to this day, my implementation of instruction parsing (disassembly) is bugging me because it's a mess and doesn't seem correct at all, even though it kind of works. However, after a couple of years of occasionally trying to find some kind of "proper" algorithm for machine code disassembly, I couldn't find anything... noteworthy, or well-known, or widely used.
What are some alternatives?
VMProtect-devirtualization - Playing with the VMProtect software protection. Automatic deobfuscation of pure functions using symbolic execution and LLVM.
kyber-py - A pure python implementation of CRYSTALS-Kyber
pyt - A Static Analysis Tool for Detecting Security Vulnerabilities in Python Web Applications
angr - A powerful and user-friendly binary analysis platform!
klee - KLEE Symbolic Execution Engine
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.
ocamlformat - Auto-formatter for OCaml code
bolt - Bolt is a language with in-built data-race freedom!
tornado - Tornado is a BitTorrent client written entirely in OCaml.
hardcaml - Hardcaml is an OCaml library for designing hardware.
ataraxia - Simple and lightweight source-based multi-platform Linux distribution with musl libc.
reko - Reko is a binary decompiler.