Skip to content

steviegt6/dashlink

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A majority of the deserialization/disassembly code is adapted from @Gui-Yom's wonderful Rust dissassembler under the MIT license.


dashlink

HashLink bytecode disassembler, assembly, and inspector.

Dashlink, stylized as dashlink, is a disassembler and assembler for HashLink bytecode developed with the goal of allowing users to dump HL bytecode, rewrite compiled code, and create compiled bytecode from scratch -- all through the power of a Haxe library.

Practical Uses

This may be used for reverse-engineering Haxe programs compiled to HashLink bytecode (for whatever reason that's needed), programmatically creating HashLink programs for various utility purposes, or for dynamically rewriting/otherwise modifying programs. One such example of the latter is using a bootstrapper to weave together external assemblies at runtime.

Extra Resources

There are numerous additional resources you may indulge in for further studying or tooling, including:

  • Gui-Yom/hlbc, a HashLink disassembler written in Rust.
    • Much of the deserialization/disassembly code featured in this repository is adapted from here.
    • The reverse-engineered HashLink documentation featured on the repository's wiki is an extremely valuable resource as well.
  • HaxeFoundation/hashlink, the HashLink virtual machine's source code, containing lots of important information.
    • The GitHub wiki containing various pieces of information.
    • The actual HashLink virtual machine provides useful tools for reverse-engineering as well. Mostly notably, dumping.
  • The HashLink blog, featured on the haxe.org website. While slightly dated, it goes into detail about various aspects of development and the virtual machine.

About

dashlink - a HashLink bytecode disassembler, inspector, and writer.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages