ElectronicCats / flipper-addons

Flipper addons by Electronic Cats
https://electroniccats.com/
70 stars 6 forks source link

All .pcap files have 0 bytes on flipper's SD card #3

Closed b1scoito closed 11 months ago

b1scoito commented 12 months ago

Hello, I've been trying to make .pcap files writing work with your guys board, but to no success, the onboard ESP32-S3-WROOM-1U doesn't come with a SD card slot and serial communication between ESP32Marauder and the Flipper Zero doesn't appear to work, Wi-Fi Marauder GPIO app only writes 0 bytes .pcap files, does the board support writing through serial, or is there any custom firmware for the Electronic Cats board, I've actually not tested the firmware that came with the board since I wanted to update to the latest ESP32Marauder as soon as possible. Have you guys tested the .pcap writing functionality under Apps -> GPIO -> [ESP32] Wi-Fi Marauder -> Sniff [raw]? For me the file gets written in /apps_data/marauder/pcaps with 0 bytes.

I'm running on latest ESP32Marauder with the MultiboardS3 firmware, flashed through FZEasyMarauderFlash that uses esptool since I can't make the ESP32-S3 enter reflash mode, I've tried tons of methods, even the common one, hold the boot button, click the reset button, and release the boot button, nothing works. The ESP Flasher Flipper Zero app depends on this functionality to flash a firmware directly through Flipper.

TL;DR, I was able to successfully flash new firmware into your guys's board through esptool, but not through either the esp.huhn.me website or the ESP Flasher Flipper app, however, the Multiboard S3 firmware doesn't appear to have serial communication between flipper's SD card and the ESP32-S3 board, thus, not successfully writing .pcap files from sniffing network packets.

image image

xpeqex commented 12 months ago

@b1scoito Thank you for reporting the issue with the .pcap files.

According to the reports created in the justcallmekoko/ESP32Marauder repository, there is a firmware issue that prevents the ESP32 module from communicating with the flipper via UART. This results in the issue that you have reported.

Other Marauder users, regardless of the board, have experienced this error and have shared some of their solutions at the following link:

https://github.com/justcallmekoko/ESP32Marauder/issues/249

Unfortunately, the solutions presented in this link are only functional for ESP32-S2 modules. In these cases, the port of the ESP32-S2 module has been changed to resolve the error.

Our Flipper Addon Marauder includes an ESP32-S3, so it is not compatible with this solution. I have tried this on my own and it does not work.

Here is an issue related to this issue an ESP32-S3 modules: https://github.com/justcallmekoko/ESP32Marauder/issues/370

Because this issue is directly related to the firmware, which is external, we cannot do much more than wait for the firmware developers to find a solution and add ESP32-S3 module compatibility to change its port and thus resolve the issue that .pcap files are not saving any information.

Regarding how to put the module into boot/flash mode, I recommend referring to this section of our wiki:

I hope this information is helpful and we appreciate your understanding.

Greetings

b1scoito commented 12 months ago

I've tried to edit the firmware to match the pins present in the board, and enabling the ENABLE_PACKETS_SERIAL macro, but wasn't able to successfully compile it, can I get in touch with you guys so we can take a look at it and create a separate fork for your guys's board?

xpeqex commented 11 months ago

@b1scoito

It is nice to read you tried solving this.

Regarding the request to do a Marauder fork, we have plans to do it, modify the firmware, and make it compatible with the ESP32-S3 module since we noticed that the firmware is mainly focused on ESP32-S2 modules. There is no estimated time when we will do this, so we kindly recommend you keep posted here in GitHub and the wiki updates.

Additionally, I will keep track of the issue on the official Marauder repo in case there is any update.

xpeqex commented 11 months ago

Hello @b1scoito

I am glad to let you know that our team worked on this and compiled a special firmware .bin file in order to make the UART communication work and now the pcaps files are not empty. You can find the file here.

Please perform the update for the ESP32-S3 module as usual following the Update the ESP32-S3 guide swapping the Firmware file with the mentioned on this message.

Let me know if that solves the issue!

b1scoito commented 11 months ago

WORKED! Thank you so much for all the help, you're the best!

xpeqex commented 11 months ago

@b1scoito No worries, we are also happy that is now working!

Feel free to reach out to us again. 😼

b1scoito commented 11 months ago

Hello @sabas1080, I've been trying to compile the latest ESP32Marauder which adds support for selecting the HTML for Evil Portal through serial, I've managed to compile it successfully with all the changes in the configs.h file, but pcaps are being written still, with 0 bytes, of course, with your compiled firmware it works, but with mine which is just one version ahead of yours, doesn't.

image

sabas1080 commented 11 months ago

These are not the only changes needed to make the firmware work, changes must be made to the Arduino core, today I will upload an update to avoid changes in the core and update the binary with the function you need

b1scoito commented 11 months ago

I'm interested in compiling it myself, which changes are needed to be made in the Arduino Core?

sabas1080 commented 11 months ago

I have uploaded the necessary changes, but still need to do some testing.

b1scoito commented 11 months ago

I've tried setting the serial as shown on your commit: https://github.com/ElectronicCats/ESP32Marauder/commit/d40a452e608f7ec0953d48c42cc4eac72f838341 but still, to no success. Which changes to the Arduino Core are you referring to, what have you done besides those commits to make it work?

As I've said, what's strange to me is that, setting the Evil Portal HTML through Serial works perfectly fine! But writing pcaps or logs doesn't, that's because they are different functions, but even with setting the serial pins, it still doesn't appear to work on the newest ESP32Marauder firmware.

sabas1080 commented 11 months ago

can you write pcap files with information with the current changes from the last commit? I need to know what works for you with the latest changes.

xpeqex commented 11 months ago

@b1scoito I could not resist joining the conversation. Could you please let me know the saving path for the HTML file, so the Add-On can read it? 🐬

b1scoito commented 11 months ago

can you write pcap files with information with the current changes from the last commit? I need to know what works for you with the latest changes.

I haven't tried compiling your latest commit, but the first version you sent me worked with writing .pcap files.

b1scoito commented 11 months ago

@b1scoito I could not resist joining the conversation. Could you please let me know the saving path for the HTML file, so the Add-On can read it? 🐬

The Wi-FI Marauder updated so we can set the HTML file for Evil Portal through and it works flawlessly. After those changes some stuff changed in the code, but nothing I could see that affects the writing of .pcap files.

@sabas1080 Everything I did was getting the source-code from the latest v1.35.5 ESP32Marauder release and changing the macros in configs.h, and the serial pins, still, setting the HTML file for Evil Portal through serial works but not writing the buffer stream into .pcap files. What have you done in your first release to make it work?

sabas1080 commented 11 months ago

@b1scoito I have only changed RX1 and TX1 to pins 17 and 18 according to our schematic, note that you must use the core version 2.0.11 https://github.com/espressif/arduino-esp32/blob/2.0.11/cores/esp32/HardwareSerial.cpp#L58

is already done in the changes https://github.com/ElectronicCats/ESP32Marauder/commit/d40a452e608f7ec0953d48c42cc4eac72f838341#diff-c27c57ae9af18485c60723af92c43b831f14beb7cc6d1df5c527f44adb90fd34R206

sabas1080 commented 11 months ago

@b1scoito Can you test the latest changes in the last commit? https://github.com/ElectronicCats/ESP32Marauder/commit/dcd55e64eb59fe133e635692eb9231adcc4cc120

b1scoito commented 11 months ago

Ok. It worked, I see that in the commit before that one the RX and TX pins order is INVERTED! That made me so confused. Now that I'm using the esp32 core 2.0.11 (The ESP32Marauder tutorial says to install 2.0.10 so I had that one installed) and changed the order of the RX and TX pins it worked.

Should we PR to the original ESP32Marauder repository with a EC_SHIELD macro?

We would define it something like this:

image

image

image

Tell me if it looks good this way.

sabas1080 commented 11 months ago

looks good, it would be interesting

b1scoito commented 11 months ago

PR Made: https://github.com/justcallmekoko/ESP32Marauder/pull/415

xpeqex commented 11 months ago

@b1scoito

We would like to thank you for your comments and contributions to the Electronic Cats - Marauder community.

We are very happy that you have trusted us and are part of our community. Your report encouraged us to fix this, so the capabilities of Marauder Spoof Shield are now unleashed.

We hope that the Marauder team can take a look at your PR and add the Electronic Cats Marauder Add-On to the official repo. We will keep an eye on this.

Once again, we thank you for bringing this issue and your feedback to our attention. Please do not hesitate to contact us again if you have any questions or suggestions.