purseclab / lightblue

An automatic framework to remove unneeded and unsafe code from Bluetooth stacks of Android and Linux, using both source code analysis (LLVM) and binary analysis (angr).
22 stars 2 forks source link

some questions about running the internalblue on the ubuntu. #1

Closed Wi1L-Y closed 10 months ago

Wi1L-Y commented 2 years ago

when I try to run internalblue on my own laptop(ubuntu 18.04). It shows error("Not running on a Broadcom or Cypress chip!") . After analyzing the source code, I find there is a "vendor check", should I delete it? Or how can I run it on Ubuntu?

wuruoyu commented 2 years ago

Thank you for your question!

The short answer: you should not delete it, and possibly you cannot run the whole pipeline on your machine (not Ubuntu). And followings are explanation:

internalblue only supports Broadcom/Cypress Bluetooth chip, since it does not have the knowledge to interact with the firmware from other vendors.

I think the most likely situation is that your machine's Bluetooth chip is from other vendors. You can check your Bluetooth chip vendor by sending HCI command and looking up the vendor ID here.

The controller (firmware) debloating part of Lightblue relies on internalblue. However, you should be able run host debloating without internalblue.

Wi1L-Y commented 2 years ago

Thank you for your answer !

I thought about the question of chip version a few days ago and your explanation is very well. I will try to get another machine for testing. Anyway, thank you~

Wi1L-Y commented 2 years ago

Hi, sorry to bother, I have another question which may not be related to the project.

I just want to sniff BLE packets(not advertisement packets) using ubertooth or nRF52840? Do you have some method? I'm sorry to ask this question which is not so related to the project