bap
reko
Our great sponsors
bap | reko | |
---|---|---|
3 | 9 | |
1,970 | 1,952 | |
1.5% | - | |
4.5 | 9.6 | |
6 days ago | 7 days ago | |
OCaml | C# | |
MIT License | GNU General Public License v3.0 only |
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.
reko
-
Educating myself about Monitor Firmware --
In the zip are 3 firmwares, NXP, PD and Scalar. NXP is the USB microcontroller that's used to update the scalar firmware, and PD is for USB-C stuff. The scalar firmware's name was 28MQ780_MSTAR_MST9W00V4_V3.3.0_0x12FBF031_shad4015bb_220317.bin, which already gave me a few more data points, specifically the chip that's used, the MStar MST9W00V4. Eventually I found this extremely annoying post which had the compiler used for the chip and this page telling me that my scalar's CPU architecture was proprietary, but based on OpenRisc. It turned out that the stars had aligned or something and there were no less than 3 people interested in this particular ISA in the last 3 weeks, because someone else had asked about it and apparently a niche disassembler added partial support for it.
- Why .net has 3 times more jobs than nodejs and spring boot?
- Reko decompiler 0.11.2 released
- .NET is often seen as corporate and boring – What are some interesting/cool/unique projects and people?
- Reko decompiler v0.11.0 released
- Which project are you guys doing ?
-
Reko decompiler v0.10.0 released
Reko has the ambition of supporting decompilation of various processor architectures and executable file formats with minimal user intervention. For a complete list, see the supported binaries page.
-
Looking for a guide to write a compiler.
For some examples of hand-written parsers in C#, take a look at my project https://github.com/reko. There is both a C and a Pascal parser, located at https://github.com/uxmal/reko/tree/master/src/Core/CLanguage and https://github.com/uxmal/reko/tree/master/src/Core/Pascal, respectively. DM me if you're curious, I be glad to tutor.
What are some alternatives?
VMProtect-devirtualization - Playing with the VMProtect software protection. Automatic deobfuscation of pure functions using symbolic execution and LLVM.
ILSpy - .NET Decompiler with support for PDB generation, ReadyToRun, Metadata (&more) - cross-platform!
pyt - A Static Analysis Tool for Detecting Security Vulnerabilities in Python Web Applications
ArnoldC - Arnold Schwarzenegger based programming language
angr - A powerful and user-friendly binary analysis platform!
x64dbg - An open-source user mode debugger for Windows. Optimized for reverse engineering and malware analysis.
klee - KLEE Symbolic Execution Engine
capstone - Capstone disassembly/disassembler framework: Core (Arm, Arm64, BPF, EVM, M68K, M680X, MOS65xx, Mips, PPC, RISCV, Sparc, SystemZ, TMS320C64x, Web Assembly, X86, X86_64, XCore) + bindings. [Moved to: https://github.com/capstone-engine/capstone]
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.
DiztinGUIsh - A Super NES ROM Disassembler
bolt - Bolt is a language with in-built data-race freedom!
lbForth - Self-hosting metacompiled Forth, bootstrapping from a few lines of C; targets Linux, Windows, ARM, RISC-V, 68000, PDP-11, asm.js.