AI prompts
base on Disassembler focused on comprehensive rust support. <h1 align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="./assets/logo_dark.png">
<img height="150px" src="./assets/logo_light.png">
</picture>
<picture>
<source media="(prefers-color-scheme: dark)" srcset="./assets/logo_text_dark.svg">
<img height="150px" src="./assets/logo_text_light.svg">
</picture>
</h1>
<h4 align="center">Ever wanted to inspect every <i>bite</i> of your binary.</h4>
[](https://github.com/WINSDK/bite/actions/workflows/ci.yml)

`BiTE` is a platform-agnostic executable analysis tool. It aims to offer an
environment for inspecting the content of binaries and their debug info. While it is
still in early development, various architectures are supported.
## Showcase
Here is an example of the assembly listing viewing.

The ability to view a binary's disassembly and the associated source code.

## Installation
Building from source.
```
cargo install --path .
```
## Features yet to be implemented
Whenever I have time this year I'll try implementing most of these. \
If you feel like it, submit a pull request and I'll have a look at it!
- [x] Port GUI to wgpu + winit
- [x] Header with buttons and options
- [x] Assembly listing exploration
- [x] Interactive terminal
- [ ] Assembly instruction byte patching
- [x] Hex binary viewer
- [ ] Debugging front-end's
- [ ] [GDB](https://www.sourceware.org/gdb)
- [ ] [LLDB](https://lldb.llvm.org)
- [ ] [WinDbg](https://windbg.org)
- [x] X86-64 support
- [x] AArch64/Armv7 support
- [x] Riscv64gc/Riscv32gc support
- [x] MIPS-V support
- [x] Demangling support for most targets
- [x] MSVC
- [x] Itanium
- [x] Rust
- [x] Decoding datastructures depending on each section
- [ ] Assembly listing lifting
- [x] Resolving addresses
- [x] Interpreting non-code data
- [ ] Creating labels for relative jumps
", Assign "at most 3 tags" to the expected json: {"id":"9435","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"