LIEF VS tree-sitter-html

Compare LIEF vs tree-sitter-html and see what are their differences.

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
LIEF tree-sitter-html
4 3
4,137 117
2.1% 6.8%
9.4 7.4
20 days ago 6 days ago
C++ C
Apache License 2.0 MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

LIEF

Posts with mentions or reviews of LIEF. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-07-26.
  • What's the Most Portable Way to Include Binary Blobs in an Executable?
    5 projects | news.ycombinator.com | 26 Jul 2022
    My team is working on this problem in the context of creating Node.js single-executable applications. While the naive approach of just appending data at the end of the binary works, it is not friendly with code-signature in macOS and Windows given that signing operates on PE and Mach-O sections.

    We have recently open-sourced a small tool called Postject (https://github.com/postmanlabs/postject), which is able to inject arbitrary data as proper ELF/Mach-O/PE sections for all major operating systems (with AIX support coming). The tool also provides C/C++ cross-platform headers for easily traversing the final binary and introspect whether the segment is present or not.

    The tool is based on the LIEF (https://github.com/lief-project/LIEF) project.

    At Postman, we are making use of this on our custom Node.js single-executable applications and soon on our custom Electron.js builds too.

  • Pefile python module features
    2 projects | /r/Malware | 17 Mar 2022
    https://github.com/lief-project/LIEF https://lief-project.github.io/doc/latest/api/python/index.html
  • Collection of tools for executable packing detection
    6 projects | /r/Malware | 15 Jan 2022
    Bintropy: Entropy-based packing detection featuring multiple modes (whole binary, per section or segment). Based on the awesome LIEF library, therefore supports ELF, PE, Mach-O.
  • rabin2 for scraping ELF to JSON
    2 projects | /r/ELFLinking | 16 Oct 2021
    I've been looking at LIEF toolkit for similar purposes (https://github.com/lief-project/LIEF). It's a python framework for cross platform binary analysis. I'm curious, does rabin2 support dll format?

tree-sitter-html

Posts with mentions or reviews of tree-sitter-html. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-05-19.
  • Emacs and Java Development: Corfu + Cape + LSP-Mode + Treesit
    21 projects | /r/emacs | 19 May 2023
    (use-package treesit :ensure nil :custom ;; Some stuff taken from here: https://robbmann.io/posts/emacs-treesit-auto/ (treesit-extra-load-path '("/usr/lib64/")) (treesit-language-source-alist '((bash . ("https://github.com/tree-sitter/tree-sitter-bash")) (c . ("https://github.com/tree-sitter/tree-sitter-c")) (c++ . ("https://github.com/tree-sitter/tree-sitter-cpp")) (csharp . ("https://github.com/tree-sitter/tree-sitter-c-sharp")) (css . ("https://github.com/tree-sitter/tree-sitter-css")) (elixir ("https://github.com/elixir-lang/tree-sitter-elixir")) (html . ("https://github.com/tree-sitter/tree-sitter-html")) (java . ("https://github.com/tree-sitter/tree-sitter-java")) (javascript . ("https://github.com/tree-sitter/tree-sitter-javascript")) (json . ("https://github.com/tree-sitter/tree-sitter-json")) (lua . ("https://github.com/Azganoth/tree-sitter-lua")) (makefile . ("https://github.com/alemuller/tree-sitter-make")) (org . ("https://github.com/milisims/tree-sitter-org")) (python . ("https://github.com/tree-sitter/tree-sitter-python")) (tsx . ("https://github.com/tree-sitter/tree-sitter-typescript" "master" "tsx/src")) (typescript . ("https://github.com/tree-sitter/tree-sitter-typescript" "master" "typescript/src")) (ruby . ("https://github.com/tree-sitter/tree-sitter-ruby")) (rust . ("https://github.com/tree-sitter/tree-sitter-rust")) (sql . ("https://github.com/m-novikov/tree-sitter-sql")) (toml . ("https://github.com/tree-sitter/tree-sitter-toml")) (yaml . ("https://github.com/ikatyang/tree-sitter-yaml")))) (major-mode-remap-alist '((c-mode . c-ts-mode) (c++-mode . c++-ts-mode) (csharp-mode . csharp-ts-mode) (css-mode . css-ts-mode) (html-mode . html-ts-mode) (java-mode . java-ts-mode) (js-mode . js-ts-mode) (json-mode . json-ts-mode) (makefile-mode . makefile-ts-mode) ;; (org-mode . org-ts-mode) ;; not mature yet (python-mode . python-ts-mode) (typescript-mode . typescript-ts-mode) (ruby-mode . ruby-ts-mode) (rust-mode . rust-ts-mode) (toml-mode . toml-ts-mode) (yaml-mode . yaml-ts-mode))) (treesit-auto-fallback-alist '((toml-ts-mode . conf-toml-mode) (typescript-ts-mode . nil) (tsx-ts-mode . nil))) (treesit-font-lock-settings t) (treesit-simple-indent t) (treesit-defun-type-regexp t)) (use-package treesit-auto :demand t :config (setq treesit-auto-install t) (global-treesit-auto-mode))
  • Building tree-sitter languages for Emacs
    20 projects | /r/emacs | 30 Dec 2022
  • Is there a way to inject Vue code inside HTML strings using Treesitter? (Language injection)
    1 project | /r/neovim | 9 May 2021
    https://github.com/tree-sitter/tree-sitter-html/blob/master/queries/injections.scm is the bit of the HTML treesitter parser that says "anything inside script tags is Javascript" and "anything inside style tags is CSS" so highlight those with a seperate parser.

What are some alternatives?

When comparing LIEF and tree-sitter-html you can also consider the following projects:

dll-proxy-generator - Creates a proxy dll which sits between the game and original dll

Vince's CSV Parser - A modern C++ library for reading, writing, and analyzing CSV (and similar) files.

radare2 - UNIX-like reverse engineering framework and command-line toolset

verible - Verible is a suite of SystemVerilog developer tools, including a parser, style-linter, formatter and language server

pe - A :zap: lightweight Go package to parse, analyze and extract metadata from Portable Executable (PE) binaries. Designed for malware analysis tasks and robust against PE malformations.

tomlplusplus - Header-only TOML config file parser and serializer for C++17.

vivaldi_modding - Custom modifications for Vivaldi web browser.

maddy - C++ Markdown to HTML header-only parser library

bintropy - Analysis tool for estimating the likelihood that a binary contains compressed or encrypted bytes

tree-sitter-markdown - Markdown grammar for tree-sitter

goblin - An impish, cross-platform binary parsing crate, written in Rust

tree-sitter-python - Python grammar for tree-sitter