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

add support to load bare-metal file #982

Closed

Conversation

cq674350529
Copy link
Contributor

For some bare-metal files, such as u-boot bin or some binaries from eCos, it's possible to run partial emulation with qiling in shellcode mode.

The bare-metal file is just a single and static binary with no dependency. And to analyze it, it must be located in a right base address. Currently, the shellcode mapped address has an offset to the address specified in profile. To make it easier, this change maps it into the specified address exactly.

In addition, it's possible to run it from arbitrary point, and stop at arbitrary point.

PS: I just adapted the code for linux and freebsd.

@xwings
Copy link
Member

xwings commented Nov 6, 2021

Hi,

this is cool!
will you be able to add a test and example?

@cq674350529
Copy link
Contributor Author

Ok, I'll add an example later.

@xwings
Copy link
Member

xwings commented Nov 9, 2021

erm,

  1. the bin should be in rootfs, maybe a folder call bootrom/arm
  2. I think shellcode might no be right place to load the bin. I added ql.baremetal few weeks back. that might be a better place?

@cq674350529
Copy link
Contributor Author

As discussed, I'll close it at the moment, and will open a new pull request later.

@cq674350529 cq674350529 deleted the feat/load_baremetal_file branch November 10, 2021 01:33
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.

2 participants