Skip to content
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

Closed
wants to merge 1 commit into from
Closed

Added disassembly of target blobs. #18

wants to merge 1 commit into from

Conversation

WildCryptoFox
Copy link

@WildCryptoFox WildCryptoFox commented Oct 28, 2020

As established in #15, the target files are libbl602_wifi.a, libblecontroller.a, and libatcmd.a. I've only disassembled them using toolchain/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.

@gamelaster
Copy link
Member

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.
What do you think about this @WildCryptoFox ?

Thanks,
gamiee

@WildCryptoFox
Copy link
Author

@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.

@micahswitzer
Copy link

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.)

@WildCryptoFox
Copy link
Author

I'm using Cutter, a graphical frontend for radare2, which always needs more love!

@micahswitzer
Copy link

Ah shoot, how could I have missed r2?

@gamelaster
Copy link
Member

Okay, the repo is here:
https://github.com/pine64/ble602-re .

Thanks

@WildCryptoFox
Copy link
Author

WildCryptoFox commented Oct 28, 2020

@gamelaster 404. Either this link is incorrect or it is private. BTW: GitHub homepage for /pine64/ has http: not https:.

@gamelaster
Copy link
Member

@gamelaster 404. Either this link is incorrect or it is private. BTW: GitHub homepage for /pine64/ has http: not https:.

Fixed and fixed. Thanks :)

@WildCryptoFox
Copy link
Author

@gamelaster Please initialize the repository. We cannot create PRs without it.

@gamelaster
Copy link
Member

@WildCryptoFox I added the blobs. Thank you and sorry for waiting

@gamelaster
Copy link
Member

@WildCryptoFox Please, add your disassembly information into RE repository. Thanks.

@gamelaster gamelaster closed this Oct 28, 2020
@micahswitzer
Copy link

@WildCryptoFox Would it also be possible to split them up by object file instead of by archive?

@WildCryptoFox
Copy link
Author

@micahswitzer Done!

tchebb pushed a commit to tchebb/bl_iot_sdk that referenced this pull request Jan 3, 2021
tchebb pushed a commit to tchebb/bl_iot_sdk that referenced this pull request Jan 3, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants