Skip to main content

Posts

Showing posts from December, 2016

From Concept to Bench - Designing a Flipper-compatible nRF24L01 RF Module for Security Research

    Six months of design iterations, sourcing headaches, and a broken oscilloscope later — I am pleased to share a hardware module I designed to extend the Flipper ecosystem for RF security research. This write-up covers the motivation, engineering challenges, capabilities, and responsible-disclosure principles behind the project — and a frank look at a vulnerability that is very much alive in the Maldives today.   Left: 3D render of final PCB     ·     Right: Altium Designer PCB layout view Why I Built It  The trigger was reading the original MouseJack disclosure by Bastille Networks. It made me realize that a class of peripherals most people assume to be harmless — the cheap wireless mouse on your desk — can be weaponized from a car park. I wanted a research platform small enough to carry in a jacket pocket, native to the Flipper Zero ecosystem, and capable of passive scanning, protocol analysis, and controlled lab tests. What I...

What is Charlieplexing?

When you use microcontrollers and you are out of PIN's to connect some LED's for status or when you want to drive a binary clock with few pins left in microcontroller, there is a way that can solve this issue. Its called charlieplexing and if you know multiplexing you will have some idea of how it works. I will do an example using Arduino for demonstration. Charlieplexing is a method to drive multiple LED's with few pins available in your microcontroller. Here is the formula to calculate how many LEDs can be drive from N number of pins. Number of LED's = No. of PINS available ( No. of PINS available - 1) For example you have only 3 pins left in Arduino and you want to know how many LED's can be drive. Number of LED's = 3(3-1) Number of LED's = 3(2) Number of LED's = 6 So from 3 PINS you can drive 6 LED's. Since arduino have tri-state output (INPUT, HIGH and LOW) its easy to drive the LED's using this method. how leds are connect...

TCP communication from NEOWAY M590E- Successful

Some of the GSM/GPRS chips do not support HTTP services and since the modems are controlled via AT commands, the AT command sets are very limited to HTTP commands in NEOWAY M590E. The only option to communicate with any cloud based or locally hosted server was using TCP protocol. I have used HTTP services in many of my projects and experiments, it is easy and with few lines of code can manage an HTTP requests. For weeks i have been struggling with TCP request and every time it fails to connect or sometimes data is sent but from server side there is no new data fetched. Basically TCP is transport layer in OSI model and HTTP is in application layer. TCP will do a socket based connection to servers predefined port. For example  test.com:8989. what i mean is it needs a listener to listen to port that you define or open to use. After weeks of reading articles and AT command sets thoroughly, finally i managed to handle a TCP request from modem. But still it fails sometimes or unabl...