T-Watch 2020 v1 compatible firmware providing WiFi and BLE testing tools (and also, a watch :D)

Overview

ESP-IDF template app

This is a template application to be used with Espressif IoT Development Framework.

Please check ESP-IDF docs for getting started instructions.

Code in this repository is in the Public Domain (or CC0 licensed, at your option.) Unless required by applicable law or agreed to in writing, this software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

Comments
  • UI4: Different user experience for

    UI4: Different user experience for "Deauth" and "Rogue AP".

    There is an inconsistency in the UI.

    Both for "Rogue AP" and "Deauth" you want to select a wifi Network and do something on it (or like it). For "Rogue AP" you have a button to select an SSID to mock, and then you can start or stop the "Rogue AP". The button to "Sel.AP" start a selection window with it's OK button.

    For "Deauth" there is no dedicated menu, you are on the list of scanned network, and you can select one to do your attack. This is not consistent.

    Options:

    • Remove the "Deauth" option from the WiFi Network screen, and make a Deauth menu identical to the Rogue AP menu. That way it is identical experience and the WiFi Network screen is read only and not an attack screen (like the channel utilisation) and it is possible to compile the HackWatch without the attack feature.
    • Remove the "Rogue AP" screen and make the selection of attack after the selection of "WiFi Network". So once a network is selected you would have the option to either do "Deauth" or "Rogue AP" or "Nothing"

    Right now, I prefer the first option, with dedicated screen for "Deauth" and "Rogue AP", also because the "Deauth" and/or the "Rogue AP" could run in the background (?), just like "TV B Gone", so it is useful to have a dedicated screen for each (where the attack can be stopped).

    enhancement 
    opened by dglaude 4
  • driver/gpio.h: No such file or directory

    driver/gpio.h: No such file or directory

    Hi! I run idf.py build and get such error

    hackwatch/components/twatch-lib/drivers/i2c.c:3:10: fatal error: driver/gpio.h: No such file or directory
        3 | #include "driver/gpio.h"
          |          ^~~~~~~~~~~~~~~
    compilation terminated.
    [2/71] Performing build step for 'bootloader'
    [1/1] cd /home/reinethernal/firmware/hackw2/hackwatch/build/bootloader/esp-idf/esptool_py && /home/reinethernal/.espressif/python_env/idf5.0_py3.10_env/bin/python /home/reinethernal/esp/esp-idf/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x1000 /home/reinethernal/firmware/hackw2/hackwatch/build/bootloader/bootloader.bin
    Bootloader binary size 0x6610 bytes. 0x9f0 bytes (9%) free.
    ninja: build stopped: subcommand failed.
    ninja failed with exit code 1
    root@re:/home/reinethernal/firmware/hackw2/hackwatch#
    
    
    opened by reinethernal 4
  • UI3: Only physical button to escape

    UI3: Only physical button to escape "Deauth" screen

    In "Wifi Network", when selecting an SSID, you get into the only part of the UI that cannot be escaped without using the watch button. For a user no knowing, that make the "Deauth" button the only option. :-) For every other UI you can escape by swiping one direction or another, of for "Rogue AP" you can escape pressing the OK button. Options:

    • Offer a "Deauth" and a "Cancel" button so that there is an alternative way to get out.
    • Make it possible to escape by swiping the screen (but then it is not modal like in "Rogue AP").
    enhancement 
    opened by dglaude 2
  • UI2: Visual Glitch in

    UI2: Visual Glitch in "Rogue AP" AP selection screen

    In AP selection from "Rogue AP" there are visual glitch:

    • The white border is missing from the right of the screen and a bleu line is visible instate.
    • The blue line is not complete and interrupted at the top, where the elevator is present. (a picture would be best)
    bug 
    opened by dglaude 2
  • bouton Deauth - identification du ssid

    bouton Deauth - identification du ssid

    Lors du lancement du deauth le bouton passe avec le label "stop", en laissant le deauth actif et si on revient sur la liste des ssid visible et qu'on sélectionne un autre ssid le bouton deauth reste sur "stop". Si beaucoup de ssid actif (notamment pour les spots wifi avec le même ssid à plusieurs émetteurs différents adresses macs) il n'est pas possible d’identifier sur quel ssid le deauth est actif.

    Peut-être envisager de mettre un fond ou une couleur différents,dans la liste des ssid, sur le ssid où le deauth est actif afin d'identifier ce dernier ?

    opened by totoff974 2
  • Suggested optimization of the clock setting

    Suggested optimization of the clock setting

    After my first tests, I find that it makes more sense to switch to the min value when we reach the max value and vice versa, this avoids sliding in the other direction.

    What do you think about it ?

    opened by Nels885 2
  • Please update the

    Please update the "About" to match v2 release.

    The current "About" say T-Watch 2020 v1/v2 compatible firmware providing WiFi and BLE testing tools (and also, a watch :D)

    It should be updated as to not exclude v3 watch. Either do not specift v1/v2 or write v1/v2/v3.

    Also it say Wifi and BLE, but does not talk about IR.

    opened by dglaude 1
  • Refresh and aging of entry in WiFi Networks tile

    Refresh and aging of entry in WiFi Networks tile

    I have been using the watch in "war driving" mode: Keeping the Network tile open and driving near homes.

    Pretty quickly the screen stop updating, no new network and visible network do not disappear even if very far away.

    I am afraid that by testing in a stable/static location, some problems could go unnoticed. Maybe we need to add and remove SSID and check how/when the info is updated.

    Not a big issue for my use case, going somewhere with the watch turned off and turning it on in the place where I want to use it.

    bug 
    opened by dglaude 1
  • Small erasing (same colour as background) line glitch when scrolling BLE MAC

    Small erasing (same colour as background) line glitch when scrolling BLE MAC

    When in "BLE Devices" with a lot of MAC, there is the option to scroll up. However, scrolling up make an erasing line visible on top of the text "BLE Devices". The line start from the middle of the "B" until the end on the right. The line scroll at the same speed as the list of MAC. It could be an invisible separator between MACs, that somehow goes outside of the bounding box? I'll try attaching a picture.

    bug 
    opened by dglaude 1
  • Freeze when switching to wifi scanner

    Freeze when switching to wifi scanner

    Hi,

    I noticed that the twatch freezes when you activate or deactivate the wifi scanner and one is forced to do a hard reset. We can also see that the sliding between the scanner tile and the channels tile is not fluid.

    The problem is random, it occurs more easily when quickly changing between WiFi tiles.

    bug 
    opened by Nels885 1
  • Added save date confirmation modal

    Added save date confirmation modal

    Hi Virtualabs, I've been using the Hackwatch for a while and there was a little thing that bothered me, the absence of the modal for saving the date as for the time, so I added it :D

    opened by Nels885 1
  • Screen settings not saved between reboot.

    Screen settings not saved between reboot.

    If you change the contrast or the screen rotation and turn off completely the watch (6 seconds on the physical button) and then restart the watch (2 seconds on the physical button), the contrast and rotation return to default value.

    enhancement 
    opened by dglaude 0
  • UI1:

    UI1: "Rogue AP" Start button behaviour when no Target is selected

    In "Rogue AP" if there is no Target selected, what should the Start button do?

    Right now it click (turn white) and vibrate when pushing.

    Options for when no target are defined:

    • Keep like that
    • Grey out the button
    • Make the button non reactive (not turning white and not vibrating)
    • Do not show the button and only show the "Sel. AP"
    opened by dglaude 1
  • idf.py build ld region `dram0_0_seg' overflowed by 2168 bytes

    idf.py build ld region `dram0_0_seg' overflowed by 2168 bytes

    I have this error at the linking step

    C:\Users\f.lecoufle\Documents\github\hackwatch>idf.py build Executing action: all (aliases: build) Running ninja in directory c:\users\f.lecoufle\documents\github\hackwatch\build Executing "ninja all"... [1/6] Performing build step for 'bootloader' [1/1] cmd.exe /C "cd /D C:\Users\f.lecoufle\Documents\github\hackwatch\build\bootloader\esp-idf\esptool_py && C:\Espressif\python_env\idf4.4_py3.8_env\Scripts\python.exe C:/Espressif/frameworks/esp-idf-v4.4/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x1000 C:/Users/f.lecoufle/Documents/github/hackwatch/build/bootloader/bootloader.bin" Bootloader binary size 0x62c0 bytes. 0xd40 bytes (12%) free. [2/4] Linking CXX executable hackwatch.elf FAILED: hackwatch.elf cmd.exe /C "cd . && C:\Espressif\tools\xtensa-esp32-elf\esp-2021r2-patch2-8.4.0\xtensa-esp32-elf\bin\xtensa-esp32-elf-g++.exe -mlongcalls -Wno-frame-address @CMakeFiles\hackwatch.elf.rsp -o hackwatch.elf && cd ." c:/espressif/tools/xtensa-esp32-elf/esp-2021r2-patch2-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: hackwatch.elf section .dram0.bss' will not fit in regiondram0_0_seg' c:/espressif/tools/xtensa-esp32-elf/esp-2021r2-patch2-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: DRAM segment data does not fit. c:/espressif/tools/xtensa-esp32-elf/esp-2021r2-patch2-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: DRAM segment data does not fit. c:/espressif/tools/xtensa-esp32-elf/esp-2021r2-patch2-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: region `dram0_0_seg' overflowed by 2168 bytes collect2.exe: error: ld returned 1 exit status ninja: build stopped: subcommand failed. ninja failed with exit code 1

    Any idea ?

    opened by flecoufle 0
Releases(v2.0)
  • v2.0(Sep 6, 2022)

    This version adds support for T-Watch 2020 v2 & v3, as well as a lot of other improvements:

    • Multiple tools can be enabled at the same time and included into the firmware (Wifi, BLE and Infrared)
    • WiFi scanner has been improved to avoid regular crashes and/or freezes
    • WiFi scanner now supports up to 30 detected access points (v1 only supports 10)
    • WiFi deauth tool has been improved (moved to a dedicated screen)
    • Now provides a Bluetooth Low Energy scanner with remote baseband detection (vendor & software versions)
    • Bluetooth Low Energy scanner is able to remotely fingerprint devices and classify them in various categories
    • UI library has been greatly improved and many graphical issues have been fixed
    • DRAM/IRAM usage has been optimized to reduce memory footprint
    Source code(tar.gz)
    Source code(zip)
  • v1.0(Jul 8, 2021)

    This first version of HackWatch, a firmware dedicated to the TTGO Twatch 2020 v1, provides the following features:

    • Optimized user interface
    • WiFi access point scanner (active)
    • WiFi channel scanner
    • Rogue access point
    • WiFi deauth
    • Date & time
    • Automatic sleep mode (screen is dimmed after 15 seconds of inactivity, go to low-power mode after 60 seconds)

    It is only compatible with Twatch 2020 v1 at the moment.

    Source code(tar.gz)
    Source code(zip)
    hackwatch.bin(954.68 KB)
Owner
Damien Cauquil
Proud dad, happy geek, random hacker.
Damien Cauquil
WiFi Attack + Recon Suite for the ESP8266 WiFi Nugget

Nugget-Invader Welcome to the Nugget Invader repository! The Invader is a WiFi attack suite developed for the WiFi Nugget, an ESP8266 based platform d

HakCat 40 Nov 28, 2022
Netstick client for Nintendo 3DS -- turn your portable console into a Linux compatible WiFi gamepad!

Netstick turns your 3DS into a wifi enabled gamepad! Control any linux-based device (such as a Raspberry Pi running Retropie) using your 3DS!

null 33 Oct 6, 2022
Update ESP32 firmware over WiFi from a web server

esp32-firmware-update Update ESP32 firmware over WiFi from Github This includes a python script which generates the update json file based on the firm

Felix Biego 12 Dec 10, 2022
Wangle is a framework providing a set of common client/server abstractions for building services in a consistent, modular, and composable way.

Wangle C++ networking library Wangle is a library that makes it easy to build protocols, application clients, and application servers. It's like Netty

Facebook 2.9k Jan 8, 2023
Boot arbitrary iBoot on S5L8747, S5L8947X and S7002, T8002, T8004 ("watch" branch)

Example of building with a different ARM toolchain noone@Mac-mini-noone checkm8_bootkit % TOOLCHAIN=/opt/gcc-arm-none-eabi-7-2018-q2-update/bin ARM_CC

john 34 Nov 10, 2022
Header-only, event based, tiny and easy to use libuv wrapper in modern C++ - now available as also shared/static library!

Do you have a question that doesn't require you to open an issue? Join the gitter channel. If you use uvw and you want to say thanks or support the pr

Michele Caini 1.5k Jan 9, 2023
A simple and easy WiFi-enabled ESP8266-powered WSPR and FT8 beacon which uses NTP + DS3231 RTC for timing.

Easy-Digital-Beacons-v1 A simple and easy WiFi-enabled ESP8266-powered WSPR and FT8 beacon which uses NTP + DS3231 RTC for timing. The whole design is

Dhiru Kholia 36 Nov 20, 2022
RPI Pico WIFI via ESP-01S, LWESP, FreeRTOS, and MQTT example

RPIPicoRTOSMQTT RPI Pico WIFI via ESP-01S, LWESP, FreeRTOS, and MQTT example Demo code for RPI Pico using ESP-01S for wifi connection over uart. With

Dr Jon Durrant 2 Dec 2, 2021
A project designed for the esp8266 D1 Mini or the esp8266 D1 Mini PRO to provide a wifi http server and dns server.

PS4 Server 9.00 This is a project designed for the esp8266 D1 Mini or the esp8266 D1 Mini PRO to provide a wifi http server and dns server. this is fo

null 14 Nov 28, 2022
A WiFi mapping companion app for Valetudo

Valeronoi (Valetudo + Voronoi) is a companion for Valetudo for generating WiFi signal strength maps. It visualizes them using a Voronoi diag

Christian F. Coors 203 Jan 8, 2023
WiFi-enabled soil moisture sensor

w-parasite w-parasite is an open source, WiFi-enabled soil moisture sensor for house plants. This repo contains all the hardware design files (schemat

null 128 Oct 23, 2022
WiFi/MQTT Code For the ThingPulse ESPGateway

ESP32-Paxcounter with ThingPulse ESPGateway This project lets you run the ESP32-Paxcounter project on the ThingPulse ESPGateway. The ESPGateway has tw

Daniel Eichhorn 6 Aug 13, 2022
ESP8266 WiFi Connection manager with fallback web configuration portal

ESP8266 WiFi Connection manager with fallback web configuration portal

null 5.6k Jan 4, 2023
owfuzz: a WiFi protocol fuzzing tool using openwifi.

Openwifi is an open-source WiFi protocol stack based on SDR that is fully compatible with Linux mac80211. It's driver takes advantage of the Linux kernel's supports (mac80211, cfg80211) for WiFi high MAC, so it can provide an interface to the application layer like a common WiFi USB dongle.

Alipay 146 Dec 29, 2022
Wifi MQTT Data Logging via an esp8266 for the Ikea VINDRIKTNING PM2.5 air quality sensor

MQTT connectivity for the Ikea VINDRIKTNING This repository contains an ESP8266 firmware, which adds MQTT to the Ikea VINDRIKTNING PM2.5 air quality s

Sören Beye 943 Dec 31, 2022
ESP8266 powered Xilinx Virtual Cable - Xilinx WiFi JTAG!

Xilinx Virtual Cable Server for ESP8266 Overview ESP8266 implementation of XVC (Xilinx Virtual Cable) protocol based on xvcd

Dhiru Kholia 10 Dec 6, 2022
OtterCastAmp is an open-source WiFi Speaker amplifier, based on a Sochip S3 SoC. Powered by any USB PD adapter for up to 100W of music.

OtterCastAmp is an open-source WiFi Speaker amplifier, based on a Sochip S3 SoC. Powered by any USB PD adapter for up to 100W of music.

Ottercast 265 Dec 30, 2022
ESP 32 webserver to serve a static page for wifi settings

ESP32 Settings WebServer This is a ESP32 Firmware developed in PlatformIO which consists in a HTTP server for serve static files and provides an API f

Mateus Mello de Oliveira 2 Oct 29, 2021
This project was made with a NodeMCU ESP8266 WiFi module, Raspberry Pi4, humidity sensor, flame sensor, luminosity sensor, RGB LED, active buzzer.

Smart.House.IoT.Project This project was made with a NodeMCU ESP8266 WiFi module, Raspberry Pi4, Temp and Humidity sensor, Flame sensor, Photoresistor

Hermassi Nadir 0 Jun 22, 2022