-
Notifications
You must be signed in to change notification settings - Fork 59
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added disassembly of target blobs. #18
Conversation
Hello, thank you for your contribution. I was thinking, that maybe it would be cool to have separate repository for reversing efforts and their documentation. Thanks, |
@gamelaster Considering the lack of history in this repository and the embedding of the toolchain, I like the idea of moving the reverse engineering efforts to its own repo. If the repos ever need to merge in the future, they may while retaining their full histories. Can we get more history for this repository? Even if just snapshots of previous releases. |
I think a separate repo would also be useful to facilitate tracking who is REing which portions of code and could also potentially be used to keep track of database files from various RE tools (IDA, Ghidra, Binary Ninja, etc.) |
I'm using Cutter, a graphical frontend for radare2, which always needs more love! |
Ah shoot, how could I have missed r2? |
Okay, the repo is here: Thanks |
@gamelaster 404. Either this link is incorrect or it is private. BTW: GitHub homepage for /pine64/ has http: not https:. |
Fixed and fixed. Thanks :) |
@gamelaster Please initialize the repository. We cannot create PRs without it. |
@WildCryptoFox I added the blobs. Thank you and sorry for waiting |
@WildCryptoFox Please, add your disassembly information into RE repository. Thanks. |
@WildCryptoFox Would it also be possible to split them up by object file instead of by archive? |
@micahswitzer Done! |
As established in #15, the target files are
libbl602_wifi.a
,libblecontroller.a
, andlibatcmd.a
. I've only disassembled them usingtoolchain/riscv/Linux/bin/riscv64-unknown-elf-objdump -S -M no-aliases
.I used
-M no-aliases
to avoid pseudoinstructions because I find they can be distracting, whereas RISC-V is simple enough without them. If preferred, I'll remove the-M no-aliases
.I'm looking into decompressing the code; to further simplify it. I.e. transform the RV32IMAFC to RV32IMAF; though this transformation would likely break the code due to changed offsets and should only aid in reading the code. On the other hand, the compressed instructions are still simple.
On the other hand; the compressed instructions are simple enough to read. It just introduces more variations to look at.