Compare commits

..

26 Commits

Author SHA1 Message Date
Just Call Me Koko
7e37ef933e Fix crash with too many APs on menu 2022-11-09 12:39:36 -05:00
Just Call Me Koko
648bc49db6 Merge pull request #174 from justcallmekoko/develop
Merge develop into master
2022-11-09 12:13:17 -05:00
Just Call Me Koko
00d81ad86b Add files for flashing Marauder via CLI 2022-11-08 08:29:58 -05:00
Just Call Me Koko
f8c4c83689 Merge pull request #163 from trisp3ar/develop
add libs, update schematics
2022-10-31 10:17:41 -04:00
Gregor Hermani
9bff0f3047 add libs, update schematics 2022-10-30 20:23:08 +01:00
Just Call Me Koko
9c62093a74 hahaha update 2022-10-27 17:43:16 -04:00
Just Call Me Koko
d662431f08 Update power nets and component names 2022-10-27 17:39:34 -04:00
Just Call Me Koko
9eca388ea8 Finish power mgmt circuit 2022-10-27 16:31:25 -04:00
Just Call Me Koko
0eed111177 Add label for power management 2022-10-27 15:29:35 -04:00
Just Call Me Koko
9716c8d348 Add mosfet and transistors for power mgmt 2022-10-27 15:24:50 -04:00
Just Call Me Koko
2735fccf6a Merge pull request #162 from trisp3ar/develop
continue WiFi devboard pro schematics
2022-10-23 11:46:49 -04:00
Gregor Hermani
35821deddf add references,
edit devboard pro schematic, sd card, pin headers
2022-10-23 15:47:32 +02:00
Just Call Me Koko
873643619d Merge pull request #161 from justcallmekoko/master
Bring develop up to date with master
2022-10-19 18:29:00 -04:00
Just Call Me Koko
0e1e8cd832 Merge pull request #160 from trisp3ar/develop
start Flipper Zero WiFi Devboard Pro
2022-10-19 18:27:27 -04:00
Gregor Hermani
130bd26225 start Flipper Zero WiFi Devboard Pro 2022-10-19 23:29:07 +02:00
Just Call Me Koko
7eef1910db Release v0.9.17 2022-10-19 16:46:48 -04:00
Just Call Me Koko
517c30d27e Revert config 2022-10-19 12:27:18 -04:00
Just Call Me Koko
bd53320122 Better mini menu selection for APs 2022-10-19 11:49:41 -04:00
Just Call Me Koko
c7e39744f3 Allow mini to select APs 2022-10-18 18:19:49 -04:00
Just Call Me Koko
dc0f25f1b8 Merge pull request #159 from justcallmekoko/master
do again
2022-10-18 13:48:11 -04:00
Just Call Me Koko
907a2af570 Bring develop up to date with master (#158)
* Trims serial input for PuTTY

* v0.9.7 Release

* Re-release v0.9.7

* add OG-Marauder enclosure (#124)

* add Marauder Mini Case and rearrange files

* Add OG-Marauder Enclosure

* Add more cmd, clean serial, add ascii

* Add attack command to CLI

* Add SSID commands

* print eapol when received

* Add more sniff and attack commands

* Fix OTA update shutdown via CLI

* Add help command

* Release v0.9.8

* Add channel arg to pmkid sniff

* Add targeted ap beacon spam

* Save a beacon packet

* AP obfuscation attack

* Update README.md

* Send deauth for pmkid

* PMKID deauth optional

* Release v0.9.9

* v0.9.10 Release

* Select all and flipper LED

* Add screen buffer for mini

* Fix screen buffer formatting

* packet monitor eapol scan formatting

* Release v0.9.11

* Update README.md

* Add settings command and SD CS

* Release v0.9.12

* Fix mini update menu

* Release v0.9.13-rc1

* Fix stopscan and sniffpmkid

* fix sniffpmkid SSID visible (#140)

* Add rssi and setting reset

* Release v0.9.13

* Create build_push.yml

* Add libraries

* Fix library red

* Spelling

* Adjust ref for SwitchLib

* Add ESP32 Board

* Update board fqdn

* Specify package version for ESP32

* Add compiler switches

* Update compile args

* Lib args

* Fix multdefs

* Update version of arduino test compile

* Separate lib install

* Jobs together

* Fix warnings flag

* Add muldefs arg to cli

* Update build_push.yml

* Specify build property

* Full build property string

* Fix quote placement

* Add find and replace

* Update build_push.yml

* Update build_push.yml

* Update build_push.yml

* Cat platform file

* Update build_push.yml

* Add install boards

* Update build_push.yml

* Add bash for loop for platform

* Update build_push.yml

* find and replace

* Add muldefs to ESP32 and ESP32S2

* Add display bins

* minimal spiffs

* Minimal SPIFFS syntax

* More Minimal SPIFFS syntax

* Add more build params

* Add upload artifacts

* Add TFT Setup files

* Add configure TFT_eSPI

* Configure libs and configs

* Fix sed file locations

* Update build_push.yml

* Update build_push.yml

* Look for TFT_eSPI

* Update start location for find

* Update locations of libraries

* Fix path to TFT_eSPI

* Compile for other platforms

* Create draft release

* Update README.md

* Only allow manual workflow

* Fix blank PCAPs

* Switch configs

* Specify NimBLE 1.2.0

* No "v" in tag

* Fix SD card init issues

Copy SD lib from arduino-esp32 v2.0.4 to replace SD lib from arduino-esp32 v2.0.0-rc2

* Pull arduino-esp32 v2.0.4

* Replace 2.0.0-rc1 SD lib with 2.0.4

* Fix path

* Gramatical (#155)

* Add raw cap and manual deauth

* Revert to flipper

* Change color

* Change color again

* define white

* Update issue templates

* Create config.yml

* Specify dst mac again

* Update README.md

* Create .gitignore

Co-authored-by: Gregor Hermani <53179565+trisp3ar@users.noreply.github.com>
Co-authored-by: improving-rigmarole <17810364+improving-rigmarole@users.noreply.github.com>
Co-authored-by: Ayden <butera.ayden@gmail.com>
2022-10-18 13:46:30 -04:00
Just Call Me Koko
9e4343b77d Create .gitignore 2022-10-14 15:35:14 -04:00
Just Call Me Koko
e54a2b0e3e Update README.md 2022-10-14 14:35:30 -04:00
Just Call Me Koko
d460273c91 Specify dst mac again 2022-10-14 14:34:27 -04:00
Just Call Me Koko
fcfeeb3930 Create config.yml 2022-10-14 14:27:05 -04:00
Just Call Me Koko
86cccd7f02 Update issue templates 2022-10-14 14:24:36 -04:00
26 changed files with 5223 additions and 20 deletions

42
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@@ -0,0 +1,42 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''
---
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Marauder (please complete the following information if applicable):**
- Firmware version: [e.g. v0.9.17]
- Hardware version: [e.g. OG]
**Desktop (please complete the following information if applicable):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]
**Smartphone (please complete the following information if applicable):**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]
**Additional context**
Add any other context about the problem here.

5
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1,5 @@
blank_issues_enabled: true
contact_links:
- name: Need help?
url: https://discord.gg/w5JmasxvKA
about: For any questions regarding troubleshooting or use of the Marauder firmware

View File

@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.

3
.gitignore vendored Normal file
View File

@@ -0,0 +1,3 @@
.vscode/arduino.json
.vscode/c_cpp_properties.json

View File

@@ -0,0 +1 @@
..\esptool.exe --chip esp32 --port COM4 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect 0xe000 boot_app0.bin 0x1000 esp32_marauder.ino.bootloader.bin 0x10000 esp32_marauder_v0_9_17_20221019_old_hardware.bin 0x8000 esp32_marauder.ino.partitions.bin

Binary file not shown.

BIN
FlashFiles/esptool.exe Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 184 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

View File

@@ -0,0 +1,140 @@
(module 503398-1892_MOL (layer F.Cu)
(fp_text reference REF** (at 0 -5.7755) (layer F.SilkS)
(effects (font (size 1 1) (thickness .15)))
)
(fp_text value 503398-1892_MOL (at 0 -5.7755) (layer F.SilkS)
(effects (font (size 1 1) (thickness .15)))
)
(fp_text user "Copyright 2021 Accelerated Designs. All rights reserved." (at 0 0) (layer Cmts.User)
(effects (font (size .127 .127) (thickness .002)))
)
(fp_text user "*" (at -4.92 -5.7755) (layer F.SilkS)
(effects (font (size 1 1) (thickness .15)))
)
(fp_text user "*" (at -4.92 -5.7755) (layer F.Fab)
(effects (font (size 1 1) (thickness .15)))
)
(fp_text user "*" (at -4.92 -5.7755) (layer F.SilkS)
(effects (font (size 1 1) (thickness .15)))
)
(fp_text user "*" (at -4.92 -5.7755) (layer F.Fab)
(effects (font (size 1 1) (thickness .15)))
)
(fp_line (start 6.803999 -7.4295) (end -6.803999 -7.4295) (layer F.CrtYd) (width .05))
(fp_line (start -6.803999 -7.4295) (end -6.803999 7.4295) (layer F.CrtYd) (width .05))
(fp_line (start -6.803999 7.4295) (end 6.803999 7.4295) (layer F.CrtYd) (width .05))
(fp_line (start 6.803999 7.4295) (end 6.803999 -7.4295) (layer F.CrtYd) (width .05))
(fp_line (start -2.38 -5.7755) (end -2.38 -12.6365) (layer Cmts.User) (width 0))
(fp_line (start -1.28 -5.7755) (end -1.28 -12.6365) (layer Cmts.User) (width 0))
(fp_line (start -2.38 -12.2555) (end -3.65 -12.2555) (layer Cmts.User) (width 0))
(fp_line (start -1.28 -12.2555) (end -.01 -12.2555) (layer Cmts.User) (width 0))
(fp_line (start -2.38 -12.2555) (end -2.634 -12.3825) (layer Cmts.User) (width 0))
(fp_line (start -2.38 -12.2555) (end -2.634 -12.1285) (layer Cmts.User) (width 0))
(fp_line (start -2.634 -12.3825) (end -2.634 -12.1285) (layer Cmts.User) (width 0))
(fp_line (start -1.28 -12.2555) (end -1.026 -12.3825) (layer Cmts.User) (width 0))
(fp_line (start -1.28 -12.2555) (end -1.026 -12.1285) (layer Cmts.User) (width 0))
(fp_line (start -1.026 -12.3825) (end -1.026 -12.1285) (layer Cmts.User) (width 0))
(fp_line (start -2.38 -5.7755) (end -9.831 -5.7755) (layer Cmts.User) (width 0))
(fp_line (start -1.28 -5.7755) (end -9.831 -5.7755) (layer Cmts.User) (width 0))
(fp_line (start -9.45 -5.7755) (end -9.45 -7.0455) (layer Cmts.User) (width 0))
(fp_line (start -9.45 -5.7755) (end -9.45 -4.5055) (layer Cmts.User) (width 0))
(fp_line (start -9.45 -5.7755) (end -9.577 -6.0295) (layer Cmts.User) (width 0))
(fp_line (start -9.45 -5.7755) (end -9.323 -6.0295) (layer Cmts.User) (width 0))
(fp_line (start -9.577 -6.0295) (end -9.323 -6.0295) (layer Cmts.User) (width 0))
(fp_line (start -9.45 -5.7755) (end -9.577 -5.5215) (layer Cmts.User) (width 0))
(fp_line (start -9.45 -5.7755) (end -9.323 -5.5215) (layer Cmts.User) (width 0))
(fp_line (start -9.577 -5.5215) (end -9.323 -5.5215) (layer Cmts.User) (width 0))
(fp_line (start -6.549999 7.1755) (end -6.549999 -17.7165) (layer Cmts.User) (width 0))
(fp_line (start 6.549999 7.1755) (end 6.549999 -17.7165) (layer Cmts.User) (width 0))
(fp_line (start -6.549999 -17.3355) (end 6.549999 -17.3355) (layer Cmts.User) (width 0))
(fp_line (start -6.549999 -17.3355) (end -6.295999 -17.4625) (layer Cmts.User) (width 0))
(fp_line (start -6.549999 -17.3355) (end -6.295999 -17.2085) (layer Cmts.User) (width 0))
(fp_line (start -6.295999 -17.4625) (end -6.295999 -17.2085) (layer Cmts.User) (width 0))
(fp_line (start 6.549999 -17.3355) (end 6.295999 -17.4625) (layer Cmts.User) (width 0))
(fp_line (start 6.549999 -17.3355) (end 6.295999 -17.2085) (layer Cmts.User) (width 0))
(fp_line (start 6.295999 -17.4625) (end 6.295999 -17.2085) (layer Cmts.User) (width 0))
(fp_line (start -6.549999 -7.1755) (end -19.631 -7.1755) (layer Cmts.User) (width 0))
(fp_line (start -6.549999 7.1755) (end -19.631 7.1755) (layer Cmts.User) (width 0))
(fp_line (start -19.25 -7.1755) (end -19.25 7.1755) (layer Cmts.User) (width 0))
(fp_line (start -19.25 -7.1755) (end -19.377 -6.9215) (layer Cmts.User) (width 0))
(fp_line (start -19.25 -7.1755) (end -19.123 -6.9215) (layer Cmts.User) (width 0))
(fp_line (start -19.377 -6.9215) (end -19.123 -6.9215) (layer Cmts.User) (width 0))
(fp_line (start -19.25 7.1755) (end -19.377 6.9215) (layer Cmts.User) (width 0))
(fp_line (start -19.25 7.1755) (end -19.123 6.9215) (layer Cmts.User) (width 0))
(fp_line (start -19.377 6.9215) (end -19.123 6.9215) (layer Cmts.User) (width 0))
(fp_line (start 0 -7.1755) (end 9.470999 -7.1755) (layer Cmts.User) (width 0))
(fp_line (start 0 -5.7755) (end 9.470999 -5.7755) (layer Cmts.User) (width 0))
(fp_line (start 9.089999 -7.1755) (end 9.089999 -8.4455) (layer Cmts.User) (width 0))
(fp_line (start 9.089999 -5.7755) (end 9.089999 -4.5055) (layer Cmts.User) (width 0))
(fp_line (start 9.089999 -7.1755) (end 8.962999 -7.4295) (layer Cmts.User) (width 0))
(fp_line (start 9.089999 -7.1755) (end 9.216999 -7.4295) (layer Cmts.User) (width 0))
(fp_line (start 8.962999 -7.4295) (end 9.216999 -7.4295) (layer Cmts.User) (width 0))
(fp_line (start 9.089999 -5.7755) (end 8.962999 -5.5215) (layer Cmts.User) (width 0))
(fp_line (start 9.089999 -5.7755) (end 9.216999 -5.5215) (layer Cmts.User) (width 0))
(fp_line (start 8.962999 -5.5215) (end 9.216999 -5.5215) (layer Cmts.User) (width 0))
(fp_line (start 0 -7.1755) (end 14.551 -7.1755) (layer Cmts.User) (width 0))
(fp_line (start 0 6.7645) (end 14.551 6.7645) (layer Cmts.User) (width 0))
(fp_line (start 14.17 -7.1755) (end 14.17 6.7645) (layer Cmts.User) (width 0))
(fp_line (start 14.17 -7.1755) (end 14.043 -6.9215) (layer Cmts.User) (width 0))
(fp_line (start 14.17 -7.1755) (end 14.297 -6.9215) (layer Cmts.User) (width 0))
(fp_line (start 14.043 -6.9215) (end 14.297 -6.9215) (layer Cmts.User) (width 0))
(fp_line (start 14.17 6.7645) (end 14.043 6.5105) (layer Cmts.User) (width 0))
(fp_line (start 14.17 6.7645) (end 14.297 6.5105) (layer Cmts.User) (width 0))
(fp_line (start 14.043 6.5105) (end 14.297 6.5105) (layer Cmts.User) (width 0))
(fp_line (start 0 -7.1755) (end 0 -15.1765) (layer Cmts.User) (width 0))
(fp_line (start 6.4 -5.2755) (end 6.4 -15.1765) (layer Cmts.User) (width 0))
(fp_line (start 0 -14.7955) (end 6.4 -14.7955) (layer Cmts.User) (width 0))
(fp_line (start 0 -14.7955) (end .254 -14.9225) (layer Cmts.User) (width 0))
(fp_line (start 0 -14.7955) (end .254 -14.6685) (layer Cmts.User) (width 0))
(fp_line (start .254 -14.9225) (end .254 -14.6685) (layer Cmts.User) (width 0))
(fp_line (start 6.4 -14.7955) (end 6.146 -14.9225) (layer Cmts.User) (width 0))
(fp_line (start 6.4 -14.7955) (end 6.146 -14.6685) (layer Cmts.User) (width 0))
(fp_line (start 6.146 -14.9225) (end 6.146 -14.6685) (layer Cmts.User) (width 0))
(fp_line (start -6.26 -5.7605) (end -6.26 -12.6365) (layer Cmts.User) (width 0))
(fp_line (start 0 -7.1755) (end 0 -12.6365) (layer Cmts.User) (width 0))
(fp_line (start -6.26 -12.2555) (end 0 -12.2555) (layer Cmts.User) (width 0))
(fp_line (start -6.26 -12.2555) (end -6.006 -12.3825) (layer Cmts.User) (width 0))
(fp_line (start -6.26 -12.2555) (end -6.006 -12.1285) (layer Cmts.User) (width 0))
(fp_line (start -6.006 -12.3825) (end -6.006 -12.1285) (layer Cmts.User) (width 0))
(fp_line (start 0 -12.2555) (end -.254 -12.3825) (layer Cmts.User) (width 0))
(fp_line (start 0 -12.2555) (end -.254 -12.1285) (layer Cmts.User) (width 0))
(fp_line (start -.254 -12.3825) (end -.254 -12.1285) (layer Cmts.User) (width 0))
(fp_line (start -5.827036 7.3025) (end -4.914896 7.3025) (layer F.SilkS) (width .12))
(fp_line (start 6.676999 3.493059) (end 6.676999 -3.54576) (layer F.SilkS) (width .12))
(fp_line (start 6.676999 -7.3025) (end -6.676999 -7.3025) (layer F.SilkS) (width .12))
(fp_line (start -6.676999 -7.3025) (end -6.676999 -7.00764) (layer F.SilkS) (width .12))
(fp_line (start -6.549999 7.1755) (end 6.549999 7.1755) (layer F.Fab) (width .1))
(fp_line (start 6.549999 7.1755) (end 6.549999 -7.1755) (layer F.Fab) (width .1))
(fp_line (start 6.549999 -7.1755) (end -6.549999 -7.1755) (layer F.Fab) (width .1))
(fp_line (start -6.549999 -7.1755) (end -6.549999 7.1755) (layer F.Fab) (width .1))
(fp_line (start -.127 -7.0485) (end .127 -7.0485) (layer F.SilkS) (width .12))
(fp_line (start .127 -7.0485) (end .127 -7.3025) (layer F.SilkS) (width .12))
(fp_line (start .127 -7.3025) (end -.127 -7.3025) (layer F.SilkS) (width .12))
(fp_line (start -.127 -7.3025) (end -.127 -7.0485) (layer F.SilkS) (width .12))
(fp_line (start 0 -7.1755) (end 0 -7.1755) (layer F.Fab) (width .1))
(fp_line (start 0 -7.1755) (end 0 -7.1755) (layer F.Fab) (width .1))
(fp_line (start 0 -7.1755) (end 0 -7.1755) (layer F.Fab) (width .1))
(fp_line (start 0 -7.1755) (end 0 -7.1755) (layer F.Fab) (width .1))
(fp_line (start -3.425103 7.3025) (end -.510523 7.3025) (layer F.SilkS) (width .12))
(fp_line (start 1.130522 7.3025) (end 5.827036 7.3025) (layer F.SilkS) (width .12))
(fp_line (start -6.676999 -4.51336) (end -6.676999 3.493059) (layer F.SilkS) (width .12))
(fp_line (start 6.676999 -7.00524) (end 6.676999 -7.3025) (layer F.SilkS) (width .12))
(fp_line (start 6.803999 -7.4295) (end -6.803999 -7.4295) (layer F.CrtYd) (width .05))
(fp_line (start -6.803999 -7.4295) (end -6.803999 7.4295) (layer F.CrtYd) (width .05))
(fp_line (start -6.803999 7.4295) (end 6.803999 7.4295) (layer F.CrtYd) (width .05))
(fp_line (start 6.803999 7.4295) (end 6.803999 -7.4295) (layer F.CrtYd) (width .05))
(pad 1 smd rect (at -2.38 -5.7755) (size .7112 1.0922) (layers F.Cu F.Paste F.Mask))
(pad 2 smd rect (at -1.28 -5.7755) (size .7112 1.0922) (layers F.Cu F.Paste F.Mask))
(pad 3 smd rect (at -.18 -5.7755) (size .7112 1.0922) (layers F.Cu F.Paste F.Mask))
(pad 4 smd rect (at .920001 -5.7755) (size .7112 1.0922) (layers F.Cu F.Paste F.Mask))
(pad 5 smd rect (at 2.020001 -5.7755) (size .7112 1.0922) (layers F.Cu F.Paste F.Mask))
(pad 6 smd rect (at 3.120001 -5.7755) (size .7112 1.0922) (layers F.Cu F.Paste F.Mask))
(pad 7 smd rect (at 4.220002 -5.7755) (size .7112 1.0922) (layers F.Cu F.Paste F.Mask))
(pad 8 smd rect (at 5.32 -5.7755) (size .7112 1.0922) (layers F.Cu F.Paste F.Mask))
(pad 9 smd rect (at -4.169999 6.689499) (size .889 .9398) (layers F.Cu F.Paste F.Mask))
(pad 10 smd rect (at .309999 6.7645) (size 1.0414 .7874) (layers F.Cu F.Paste F.Mask))
(pad 11 smd rect (at -6.26 -5.7605) (size 1.143 1.8288) (layers F.Cu F.Paste F.Mask))
(pad 12 smd rect (at 6.4 -5.2755) (size .8636 2.794) (layers F.Cu F.Paste F.Mask))
(pad 13 smd rect (at -6.48 5.489499) (size .7112 3.3274) (layers F.Cu F.Paste F.Mask))
(pad 14 smd rect (at 6.48 5.489499) (size .7112 3.3274) (layers F.Cu F.Paste F.Mask))
)

View File

@@ -0,0 +1,32 @@
EESchema-LIBRARY Version 2.3 Date: 21-02-2013 11:13:20
#encoding utf-8
#
# 5033981892
#
DEF 5033981892 J 0 10 Y Y 1 L N
F0 "J" 1300 400 60 H V C CNN
F1 "5033981892" 1300 300 60 H V C CNN
F2 "503398-1892_MOL" 1300 240 60 H I C CNN
F3 "~" 0 0 60 H V C CNN
$FPLIST
503398-1892_MOL
$ENDFPLIST
DRAW
X DAT2 1 0 0 300 R 59 59 1 1 B
X CD/DAT3 2 0 -100 300 R 59 59 1 1 U
X CMD 3 0 -200 300 R 59 59 1 1 U
X VDD 4 0 -300 300 R 59 59 1 1 W
X CLK 5 0 -400 300 R 59 59 1 1 U
X VSS 6 2600 -400 300 L 59 59 1 1 W
X DAT0 7 2600 -300 300 L 59 59 1 1 B
X DAT1 8 2600 -200 300 L 59 59 1 1 B
X DETECT_LEVEL 9 2600 -100 300 L 59 59 1 1 U
X DETECT_SWITCH 10 2600 0 300 L 59 59 1 1 U
P 2 1 1 5 300 200 300 -600 N
P 2 1 1 5 300 -600 2300 -600 N
P 2 1 1 5 2300 -600 2300 200 N
P 2 1 1 5 2300 200 300 200 N
ENDDRAW
ENDDEF
#
#End Library

View File

@@ -0,0 +1,2 @@
(kicad_pcb (version 20211014) (generator pcbnew)
)

View File

@@ -0,0 +1,420 @@
{
"board": {
"design_settings": {
"defaults": {
"board_outline_line_width": 0.09999999999999999,
"copper_line_width": 0.19999999999999998,
"copper_text_italic": false,
"copper_text_size_h": 1.5,
"copper_text_size_v": 1.5,
"copper_text_thickness": 0.3,
"copper_text_upright": false,
"courtyard_line_width": 0.049999999999999996,
"dimension_precision": 4,
"dimension_units": 3,
"dimensions": {
"arrow_length": 1270000,
"extension_offset": 500000,
"keep_text_aligned": true,
"suppress_zeroes": false,
"text_position": 0,
"units_format": 1
},
"fab_line_width": 0.09999999999999999,
"fab_text_italic": false,
"fab_text_size_h": 1.0,
"fab_text_size_v": 1.0,
"fab_text_thickness": 0.15,
"fab_text_upright": false,
"other_line_width": 0.15,
"other_text_italic": false,
"other_text_size_h": 1.0,
"other_text_size_v": 1.0,
"other_text_thickness": 0.15,
"other_text_upright": false,
"pads": {
"drill": 0.762,
"height": 1.524,
"width": 1.524
},
"silk_line_width": 0.15,
"silk_text_italic": false,
"silk_text_size_h": 1.0,
"silk_text_size_v": 1.0,
"silk_text_thickness": 0.15,
"silk_text_upright": false,
"zones": {
"45_degree_only": false,
"min_clearance": 0.508
}
},
"diff_pair_dimensions": [],
"drc_exclusions": [],
"meta": {
"version": 2
},
"rule_severities": {
"annular_width": "error",
"clearance": "error",
"copper_edge_clearance": "error",
"courtyards_overlap": "error",
"diff_pair_gap_out_of_range": "error",
"diff_pair_uncoupled_length_too_long": "error",
"drill_out_of_range": "error",
"duplicate_footprints": "warning",
"extra_footprint": "warning",
"footprint_type_mismatch": "error",
"hole_clearance": "error",
"hole_near_hole": "error",
"invalid_outline": "error",
"item_on_disabled_layer": "error",
"items_not_allowed": "error",
"length_out_of_range": "error",
"malformed_courtyard": "error",
"microvia_drill_out_of_range": "error",
"missing_courtyard": "ignore",
"missing_footprint": "warning",
"net_conflict": "warning",
"npth_inside_courtyard": "ignore",
"padstack": "error",
"pth_inside_courtyard": "ignore",
"shorting_items": "error",
"silk_over_copper": "warning",
"silk_overlap": "warning",
"skew_out_of_range": "error",
"through_hole_pad_without_hole": "error",
"too_many_vias": "error",
"track_dangling": "warning",
"track_width": "error",
"tracks_crossing": "error",
"unconnected_items": "error",
"unresolved_variable": "error",
"via_dangling": "warning",
"zone_has_empty_net": "error",
"zones_intersect": "error"
},
"rules": {
"allow_blind_buried_vias": false,
"allow_microvias": false,
"max_error": 0.005,
"min_clearance": 0.0,
"min_copper_edge_clearance": 0.0,
"min_hole_clearance": 0.25,
"min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.19999999999999998,
"min_microvia_drill": 0.09999999999999999,
"min_silk_clearance": 0.0,
"min_through_hole_diameter": 0.3,
"min_track_width": 0.19999999999999998,
"min_via_annular_width": 0.049999999999999996,
"min_via_diameter": 0.39999999999999997,
"solder_mask_clearance": 0.0,
"solder_mask_min_width": 0.0,
"use_height_for_length_calcs": true
},
"track_widths": [],
"via_dimensions": [],
"zones_allow_external_fillets": false,
"zones_use_no_outline": true
},
"layer_presets": []
},
"boards": [],
"cvpcb": {
"equivalence_files": []
},
"erc": {
"erc_exclusions": [],
"meta": {
"version": 0
},
"pin_map": [
[
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
0,
1,
0,
0,
1,
0,
2,
2,
2,
2
],
[
0,
0,
0,
0,
0,
0,
1,
0,
1,
0,
1,
2
],
[
0,
1,
0,
0,
0,
0,
1,
1,
2,
1,
1,
2
],
[
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
2
],
[
1,
1,
1,
1,
1,
0,
1,
1,
1,
1,
1,
2
],
[
0,
0,
0,
1,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
1,
2,
0,
0,
1,
0,
2,
2,
2,
2
],
[
0,
2,
0,
1,
0,
0,
1,
0,
2,
0,
0,
2
],
[
0,
2,
1,
1,
0,
0,
1,
0,
2,
0,
0,
2
],
[
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2
]
],
"rule_severities": {
"bus_definition_conflict": "error",
"bus_entry_needed": "error",
"bus_label_syntax": "error",
"bus_to_bus_conflict": "error",
"bus_to_net_conflict": "error",
"different_unit_footprint": "error",
"different_unit_net": "error",
"duplicate_reference": "error",
"duplicate_sheet_names": "error",
"extra_units": "error",
"global_label_dangling": "warning",
"hier_label_mismatch": "error",
"label_dangling": "error",
"lib_symbol_issues": "warning",
"multiple_net_names": "warning",
"net_not_bus_member": "warning",
"no_connect_connected": "warning",
"no_connect_dangling": "warning",
"pin_not_connected": "error",
"pin_not_driven": "error",
"pin_to_pin": "warning",
"power_pin_not_driven": "error",
"similar_labels": "warning",
"unannotated": "error",
"unit_value_mismatch": "error",
"unresolved_variable": "error",
"wire_dangling": "error"
}
},
"libraries": {
"pinned_footprint_libs": [],
"pinned_symbol_libs": []
},
"meta": {
"filename": "WiFi-Devboard-Pro.kicad_pro",
"version": 1
},
"net_settings": {
"classes": [
{
"bus_width": 12.0,
"clearance": 0.2,
"diff_pair_gap": 0.25,
"diff_pair_via_gap": 0.25,
"diff_pair_width": 0.2,
"line_style": 0,
"microvia_diameter": 0.3,
"microvia_drill": 0.1,
"name": "Default",
"pcb_color": "rgba(0, 0, 0, 0.000)",
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.25,
"via_diameter": 0.8,
"via_drill": 0.4,
"wire_width": 6.0
}
],
"meta": {
"version": 2
},
"net_colors": null
},
"pcbnew": {
"last_paths": {
"gencad": "",
"idf": "",
"netlist": "",
"specctra_dsn": "",
"step": "",
"vrml": ""
},
"page_layout_descr_file": ""
},
"schematic": {
"annotate_start_num": 0,
"drawing": {
"default_line_thickness": 6.0,
"default_text_size": 50.0,
"field_names": [],
"intersheets_ref_own_page": false,
"intersheets_ref_prefix": "",
"intersheets_ref_short": false,
"intersheets_ref_show": false,
"intersheets_ref_suffix": "",
"junction_size_choice": 3,
"label_size_ratio": 0.375,
"pin_symbol_size": 25.0,
"text_offset_ratio": 0.15
},
"legacy_lib_dir": "",
"legacy_lib_list": [],
"meta": {
"version": 1
},
"net_format_name": "",
"ngspice": {
"fix_include_paths": true,
"fix_passive_vals": false,
"meta": {
"version": 0
},
"model_mode": 0,
"workbook_filename": ""
},
"page_layout_descr_file": "",
"plot_directory": "",
"spice_adjust_passive_values": false,
"spice_external_command": "spice \"%I\"",
"subpart_first_id": 65,
"subpart_id_separator": 0
},
"sheets": [
[
"e63e39d7-6ac0-4ffd-8aa3-1841a4541b55",
""
]
],
"text_variables": {}
}

File diff suppressed because it is too large Load Diff

View File

@@ -3,7 +3,7 @@
<!---[![Build Status](https://travis-ci.com/justcallmekoko/ESP32Marauder.svg?branch=master)](https://travis-ci.com/justcallmekoko/ESP32Marauder)--->
<!---Shields/Badges https://shields.io/--->
# ESP32 Marauder v0.9.15
# ESP32 Marauder v0.9.17
<p align="center"><img alt="Marauder logo" src="https://github.com/justcallmekoko/ESP32Marauder/blob/master/pictures/marauder3L.jpg?raw=true" width="300"></p>
<p align="center">
<b>A suite of WiFi/Bluetooth offensive and defensive tools for the ESP32</b>

View File

@@ -345,6 +345,14 @@ void CommandLine::runCommand(String input) {
// Branch on attack type
// Deauth
if (attack_type == ATTACK_TYPE_DEAUTH) {
if (dst_addr_sw == -1) {
Serial.println("Sending to broadcast...");
wifi_scan_obj.dst_mac = "ff:ff:ff:ff:ff:ff";
}
else {
wifi_scan_obj.dst_mac = cmd_args.get(dst_addr_sw + 1);
Serial.println("Sending to " + wifi_scan_obj.dst_mac + "...");
}
if (src_addr_sw == -1) {
if (!this->apSelected()) {
Serial.println("You don't have any targets selected. Use " + (String)SEL_CMD);

View File

@@ -87,7 +87,7 @@ const char PROGMEM HELP_SNIFF_PMKID_CMD[] = "sniffpmkid [-c <channel>]";
const char PROGMEM HELP_STOPSCAN_CMD[] = "stopscan";
// WiFi attack
const char PROGMEM HELP_ATTACK_CMD[] = "attack -t <beacon [-l/-r/-a]/deauth [-s <src mac>]/probe/rickroll>";
const char PROGMEM HELP_ATTACK_CMD[] = "attack -t <beacon [-l/-r/-a]/deauth [-s <src mac>] [-d <dst mac>]/probe/rickroll>";
// WiFi Aux
const char PROGMEM HELP_LIST_AP_CMD_A[] = "list -s";

View File

@@ -1030,7 +1030,8 @@ void MenuFunctions::main(uint32_t currentTime)
if (current_menu->selected > 0) {
current_menu->selected--;
this->buttonSelected(current_menu->selected);
this->buttonNotSelected(current_menu->selected + 1);
if (!current_menu->list->get(current_menu->selected + 1).selected)
this->buttonNotSelected(current_menu->selected + 1);
}
}
else if ((wifi_scan_obj.currentScanMode == WIFI_PACKET_MONITOR) ||
@@ -1045,7 +1046,8 @@ void MenuFunctions::main(uint32_t currentTime)
if (current_menu->selected < current_menu->list->size() - 1) {
current_menu->selected++;
this->buttonSelected(current_menu->selected);
this->buttonNotSelected(current_menu->selected - 1);
if (!current_menu->list->get(current_menu->selected - 1).selected)
this->buttonNotSelected(current_menu->selected - 1);
}
}
else if ((wifi_scan_obj.currentScanMode == WIFI_PACKET_MONITOR) ||
@@ -1408,6 +1410,8 @@ void MenuFunctions::displaySetting(String key, Menu* menu, int index) {
// Function to build the menus
void MenuFunctions::RunSetup()
{
extern LinkedList<AccessPoint>* access_points;
#ifndef MARAUDER_MINI
this->initLVGL();
#endif
@@ -1437,6 +1441,7 @@ void MenuFunctions::RunSetup()
wifiSnifferMenu.list = new LinkedList<MenuNode>();
wifiAttackMenu.list = new LinkedList<MenuNode>();
wifiGeneralMenu.list = new LinkedList<MenuNode>();
wifiAPMenu.list = new LinkedList<MenuNode>();
// Bluetooth menu stuff
bluetoothSnifferMenu.list = new LinkedList<MenuNode>();
@@ -1474,6 +1479,7 @@ void MenuFunctions::RunSetup()
generateSSIDsMenu.name = text_table1[27];
clearSSIDsMenu.name = text_table1[28];
clearAPsMenu.name = text_table1[29];
wifiAPMenu.name = "Access Points";
// Build Main Menu
@@ -1654,12 +1660,54 @@ void MenuFunctions::RunSetup()
wifi_scan_obj.RunClearAPs();
});
#ifndef MARAUDER_MINI
// Select APs on OG
addNodes(&wifiGeneralMenu, text_table1[56], TFT_NAVY, NULL, KEYBOARD_ICO, [this](){
display_obj.clearScreen();
wifi_scan_obj.currentScanMode = LV_ADD_SSID;
wifi_scan_obj.StartScan(LV_ADD_SSID, TFT_RED);
addAPGFX();
});
#else
// Select APs on Mini
addNodes(&wifiGeneralMenu, text_table1[56], TFT_NAVY, NULL, KEYBOARD_ICO, [this](){
wifiAPMenu.list->clear();
addNodes(&wifiAPMenu, text09, TFT_LIGHTGREY, NULL, 0, [this]() {
changeMenu(wifiAPMenu.parentMenu);
});
int menu_limit;
if (access_points->size() <= BUTTON_ARRAY_LEN)
menu_limit = access_points->size();
else
menu_limit = BUTTON_ARRAY_LEN;
for (int i = 0; i < menu_limit - 1; i++) {
addNodes(&wifiAPMenu, access_points->get(i).essid, TFT_CYAN, NULL, KEYBOARD_ICO, [this, i](){
AccessPoint new_ap = access_points->get(i);
new_ap.selected = !access_points->get(i).selected;
// Change selection status of menu node
MenuNode new_node = current_menu->list->get(i + 1);
new_node.selected = !current_menu->list->get(i + 1).selected;
current_menu->list->set(i + 1, new_node);
// Change selection status of button key
if (new_ap.selected) {
this->buttonSelected(i + 1);
//changeMenu(current_menu);
} else {
this->buttonNotSelected(i + 1);
//changeMenu(current_menu);
}
access_points->set(i, new_ap);
//changeMenu(wifiAPMenu.parentMenu);
}, access_points->get(i).selected);
}
changeMenu(&wifiAPMenu);
});
wifiAPMenu.parentMenu = &wifiGeneralMenu;
addNodes(&wifiAPMenu, text09, TFT_LIGHTGREY, NULL, 0, [this]() {
changeMenu(wifiAPMenu.parentMenu);
});
#endif
// Build shutdown wifi menu
@@ -1933,7 +1981,7 @@ void MenuFunctions::addNodes(Menu * menu, String name, uint16_t color, Menu * ch
//menu->list->add(MenuNode{name, color, place, callable});
}
void MenuFunctions::buildButtons(Menu * menu)
void MenuFunctions::buildButtons(Menu * menu, int starting_index)
{
//Serial.println("Bulding buttons...");
if (menu->list != NULL)
@@ -1943,8 +1991,8 @@ void MenuFunctions::buildButtons(Menu * menu)
for (uint8_t i = 0; i < menu->list->size(); i++)
{
TFT_eSPI_Button new_button;
char buf[menu->list->get(i).name.length() + 1] = {};
menu->list->get(i).name.toCharArray(buf, menu->list->get(i).name.length() + 1);
char buf[menu->list->get(starting_index + i).name.length() + 1] = {};
menu->list->get(starting_index + i).name.toCharArray(buf, menu->list->get(starting_index + i).name.length() + 1);
display_obj.key[i].initButton(&display_obj.tft,
KEY_X + 0 * (KEY_W + KEY_SPACING_X),
KEY_Y + i * (KEY_H + KEY_SPACING_Y), // x, y, w, h, outline, fill, text
@@ -1952,7 +2000,7 @@ void MenuFunctions::buildButtons(Menu * menu)
KEY_H,
TFT_BLACK, // Outline
TFT_BLACK, // Fill
menu->list->get(i).color, // Text
menu->list->get(starting_index + i).color, // Text
buf,
KEY_TEXTSIZE);
@@ -1999,10 +2047,10 @@ void MenuFunctions::displayCurrentMenu()
#endif
#ifdef MARAUDER_MINI
if (current_menu->selected != i)
display_obj.key[i].drawButton(false, current_menu->list->get(i).name);
else
if ((current_menu->selected == i) || (current_menu->list->get(i).selected))
display_obj.key[i].drawButton(true, current_menu->list->get(i).name);
else
display_obj.key[i].drawButton(false, current_menu->list->get(i).name);
#endif
}
display_obj.tft.setFreeFont(NULL);

View File

@@ -157,6 +157,7 @@ class MenuFunctions
Menu wifiSnifferMenu;
Menu wifiAttackMenu;
Menu wifiGeneralMenu;
Menu wifiAPMenu;
// Bluetooth menu stuff
Menu bluetoothSnifferMenu;
@@ -207,7 +208,7 @@ class MenuFunctions
void displaySettingsGFX();
void writeBadUSB();
void buildButtons(Menu* menu);
void buildButtons(Menu* menu, int starting_index = 0);
void changeMenu(Menu* menu);
void drawStatusBar();
void displayCurrentMenu();

View File

@@ -372,6 +372,8 @@ bool WiFiScan::shutdownWiFi() {
esp_wifi_set_promiscuous(false);
WiFi.disconnect();
WiFi.mode(WIFI_OFF);
dst_mac = "ff:ff:ff:ff:ff:ff";
esp_wifi_set_mode(WIFI_MODE_NULL);
esp_wifi_stop();
@@ -1887,8 +1889,12 @@ void WiFiScan::deauthSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t type
Serial.print(snifferPacket->rx_ctrl.channel);
Serial.print(" BSSID: ");
char addr[] = "00:00:00:00:00:00";
char dst_addr[] = "00:00:00:00:00:00";
getMAC(addr, snifferPacket->payload, 10);
getMAC(dst_addr, snifferPacket->payload, 4);
Serial.print(addr);
Serial.print(" -> ");
Serial.print(dst_addr);
display_string.concat(text_table4[0]);
display_string.concat(snifferPacket->rx_ctrl.rssi);
@@ -2364,7 +2370,7 @@ void WiFiScan::sendProbeAttack(uint32_t currentTime) {
}
}
void WiFiScan::sendDeauthFrame(uint8_t bssid[6], int channel) {
void WiFiScan::sendDeauthFrame(uint8_t bssid[6], int channel, String dst_mac_str) {
// Itterate through all access points in list
// Check if active
WiFiScan::set_channel = channel;
@@ -2372,6 +2378,9 @@ void WiFiScan::sendDeauthFrame(uint8_t bssid[6], int channel) {
delay(1);
// Build packet
sscanf(dst_mac_str.c_str(), "%2hhx:%2hhx:%2hhx:%2hhx:%2hhx:%2hhx",
&deauth_frame_default[4], &deauth_frame_default[5], &deauth_frame_default[6], &deauth_frame_default[7], &deauth_frame_default[8], &deauth_frame_default[9]);
deauth_frame_default[10] = bssid[0];
deauth_frame_default[11] = bssid[1];
@@ -2395,7 +2404,7 @@ void WiFiScan::sendDeauthFrame(uint8_t bssid[6], int channel) {
packets_sent = packets_sent + 3;
}
void WiFiScan::sendDeauthAttack(uint32_t currentTime) {
void WiFiScan::sendDeauthAttack(uint32_t currentTime, String dst_mac_str) {
// Itterate through all access points in list
for (int i = 0; i < access_points->size(); i++) {
@@ -2406,6 +2415,9 @@ void WiFiScan::sendDeauthAttack(uint32_t currentTime) {
delay(1);
// Build packet
sscanf(dst_mac_str.c_str(), "%2hhx:%2hhx:%2hhx:%2hhx:%2hhx:%2hhx",
&deauth_frame_default[4], &deauth_frame_default[5], &deauth_frame_default[6], &deauth_frame_default[7], &deauth_frame_default[8], &deauth_frame_default[9]);
deauth_frame_default[10] = access_points->get(i).bssid[0];
deauth_frame_default[11] = access_points->get(i).bssid[1];
@@ -3189,7 +3201,7 @@ void WiFiScan::main(uint32_t currentTime)
}
else if (currentScanMode == WIFI_ATTACK_DEAUTH) {
for (int i = 0; i < 55; i++)
this->sendDeauthAttack(currentTime);
this->sendDeauthAttack(currentTime, this->dst_mac);
if (currentTime - initTime >= 1000) {
initTime = millis();
@@ -3209,7 +3221,7 @@ void WiFiScan::main(uint32_t currentTime)
}
else if (currentScanMode == WIFI_ATTACK_DEAUTH_MANUAL) {
for (int i = 0; i < 55; i++)
this->sendDeauthFrame(this->src_mac, this->set_channel);
this->sendDeauthFrame(this->src_mac, this->set_channel, this->dst_mac);
if (currentTime - initTime >= 1000) {
initTime = millis();

View File

@@ -235,8 +235,8 @@ class WiFiScan
void tftDrawColorKey();
void tftDrawGraphObjects();
void sendProbeAttack(uint32_t currentTime);
void sendDeauthAttack(uint32_t currentTime);
void sendDeauthFrame(uint8_t bssid[6], int channel);
void sendDeauthAttack(uint32_t currentTime, String dst_mac_str = "ff:ff:ff:ff:ff:ff");
void sendDeauthFrame(uint8_t bssid[6], int channel, String dst_mac_str = "ff:ff:ff:ff:ff:ff");
void broadcastRandomSSID(uint32_t currentTime);
void broadcastCustomBeacon(uint32_t current_time, ssid custom_ssid);
void broadcastCustomBeacon(uint32_t current_time, AccessPoint custom_ssid);
@@ -283,7 +283,7 @@ class WiFiScan
String old_free_ram = "";
String connected_network = "";
byte dst_mac[6] = {};
String dst_mac = "ff:ff:ff:ff:ff:ff";
byte src_mac[6] = {};
//lv_obj_t * scr = lv_cont_create(NULL, NULL);

View File

@@ -11,7 +11,7 @@
//#define GENERIC_ESP32
#define MARAUDER_FLIPPER
#define MARAUDER_VERSION "v0.9.16"
#define MARAUDER_VERSION "v0.9.18"
//// BUTTON DEFINITIONS
#ifdef MARAUDER_MINI