File Compression By Steganography

In a world with finite storage and an infinite need for more storage space, data compression becomes a very necessary problem. Several algorithms for data compression may be more familiar – Huffman coding, LZW compression – and some a bit more arcane.

[Labunsky] decided to put to use his knowledge of steganography to create a wholly unique form of file compression, perhaps one that may gain greater notoriety among other information theorists.

Steganography refers to the method of concealing messages or files within another file, coming from the Greek words steganos for “covered or concealed” and graphe for “writing”. The practice has been around for ages, from writing in invisible ink to storing messages in moon cakes. The methods used range from hiding messages in images to evade censorship to hiding viruses in files to cause mayhem.

100% not [via xkcd]
The developer explains that since every file is just a bit sequence, observing files leads to the realization that a majority of bits will be equal on the same places. Rather than storing all of the bits of a file, making modifications to the hard drive at certain locations can save storage space. What is important to avoid, however, is lossy file compression that can wreak havoc on quality during the compression stage.

The compression technique they ended up implementing is based on the F5 algorithm that embeds binary data into JPEG files to reduce total space in the memory. The compression uses libjpeg for JPEG decoding and encoding, pcre for POSIX regular expressions support, and tinydir for platform-independent filesystem traversal. One of the major modifications was to save computation resources by disabling a password-based permutative straddling that uniformly spreads data among multiple files.

One caveat – changing even one bit of the compressed file could lead to total corruption of all of the data stored, so use with caution!

Miss Nothing With A Hacked 360 Degree Camera Trap

Camera traps are a very common tool in wildlife conservation and research, but placing and pointing them correctly can be a bit of a guessing game. Something very interesting could happen just out of frame and you’d be none the wiser. The [Andrew Quitmeyer] and [Danielle Hoogendijk] at DINALABS (Digital Naturalism Laboratories) in Panama are experimenting with hacked consumer 360° cameras to help solve problem.

The project is called Panatrap and looks very promising. They’ve done very detailed testing with a number of different 360° cameras, and have built functional prototypes with the Xiaomi Misphere and Ricoh Theta V. The Xiaomi had some handy contacts on the bottom of the camera for its selfie stick interface (simply a resistor and button), which allowed full control of the camera. An Arduino compatible board waits for the motion detected signal from a PIR sensor which then sends the required command to the camera to wake-up and take footage. The Ricoh was slightly more challenging, but they discovered that the camera will wake up if an emulated keyboard command is received over it’s USB port from a Teensy. Triggering is then done by a servo pushing against the camera’s button. Everything is housed in a laser cut acrylic case to help it survive the wet jungle. If anyone knows how to hack the Samsung Gear camera to work, the team is keen to hear from you!

All the work is open sourced, with build details and hardware designs available on the project page and software up on Github. Check out some cool 360° test footage after the break with some local wildlife. We are looking forward to more footage! Continue reading “Miss Nothing With A Hacked 360 Degree Camera Trap”

Revisiting The BlackHat Hack: How A Security Conference Was Pwned

Does anyone remember the Black Hat BCard hack in 2018? This hack has been documented extensively, most notoriously by [NinjaStyle] in his original blog post revealing the circumstances around discovering the vulnerability. The breach ended up revealing the names, email addresses, phone numbers, and personal details of every single conference attendee – an embarrassing leak from one of the world’s largest cybersecurity conferences.

To recap: The Black Hat conference badges included an embedded NFC tag storing the participant’s contact details presumably for vendors to scan for marketing purposes. After scanning the tag, [NinjaStyle] realized that his name was readily available, but not his email address and other information. Instead, the NFC reader pointed to the BCard app – an application created for reading business cards.

[NinjaStyle] decompiled the APK for the app to search for API endpoints and found that the participants each had a custom URL made using event identification values. After finding data that appeared to correspond to an eventID and badgeID, he sent a request over a web browser and found that his attendee data was returned completely unauthenticated. With this knowledge, it was possible to brute-force the contact details for every Black Hat attendee (the range of valid IDs was between 100000-999999, and there were about 18,000 attendees). Using Burp Suite, the task would take about six hours. 

He was able to get ahold of BCard to reveal the vulnerability, which was fixed in less than a day by disabling the leaky API from their legacy system. Even so, legacy APIs in conference apps aren’t an uncommon occurrence – the 2018 RSA Conference (another cybersecurity conference) also suffered from an unprotected app that allowed 114 attendee records to be accessed without permission.

With the widespread publicity of leaked attendee data, event organizers are hopefully getting smarter about the apps that they use, especially if they come from a third-party vendor. [Yashvier Kosaraju] gave a talk at TROOPERS19 about pen testing several large vendors and discovering that Kitapps (Attendify) and Eventmobi both built apps with unauthenticated access to attendee data. It’s hard to say how many apps from previous years are still around, or whether or not the next event app you use will come with authentication – just remember to stay vigilant and to not give too much of your personal data away.

A Low-Power Solution To Streamlining Sensor Data For IoT

For home use IoT systems, getting sensor data from tons of physical locations centralized to a single Raspberry Pi can be a difficult job, especially when considering the power consumption that’s necessary for doing it all over WiFi. When you’re using an ESP8266, for instance, swapping out batteries and accounting for connectivity issues can be a major hassle for a long-term solution. The NoCAN platform, created by [Alain Pannetrat], solves this problem using a wired approach that improves the use of the CAN bus.

Since SPI and I2C only work for short distances, approaches like RS-485 and CAN bus are a better bet for this type of setup. For systems with one centralized point, RS-485 works best – thus, the CAN bus is the better approach when you’re considering using multiple masters in a single environment.

CAN devices typically need a static address, so messaging involves sending data to the known address of the destination device. With NoCAN, a dynamic address assignment scheme allows nodes to request an address from a node manager on boot-up (similar to DHCP). A command line application also allows users to send and receive message from nodes using a pub/sub implementation – a device sends messages to a channel, and every device subscribed to the channel receives the message.

The hardware for the NoCAN platform consists of a Raspberry Pi with a “PiMaster” HAT and an Arduino-compatible CANZERO board. The PiMaster HAT uses an STM32F042 ARM Cortex M0 MCU, acting as an interface between the Pi and the CAN bus as well as preventing over-current events with a software-controlled smart switch. The CANZERO is based on the the SAMD21G18 ARM Cortex M0+ running at 48MHz, similar to the Arduino MKR Zero, with CAN bus networking using the STM32F042 ARM Cortex M0. The double MCU design allows the secondary MCU to reset the primary if it gets stuck due to a programming error, with the messages sent over the CAN bus.

To join the network together, a four-wire cable daisy-chains the nodes in the bus network, providing connectivity for up to 1000 feet. Either 12V or 24V DC power runs through the network, stepping down to 5V or 3.3V at each node. The approach is similar to PoE (power over Ethernet), although it is slower and lower in cost. Overall, it seems like a good solution for environments where wireless connectivity simply doesn’t cut it.

USB Power Delivery For All The Things

The promise of USB Power Delivery (USB-PD) is that we’ll eventually be able to power all our gadgets, at least the ones that draw less than 100 watts anyway, with just one adapter. Considering most of us are the proud owners of a box filled with assorted AC/DC adapters in all shapes and sizes, it’s certainly a very appealing prospect. But [Mansour Behabadi] hasn’t exactly been thrilled with the rate at which his sundry electronic devices have been jumping on the USB-PD bandwagon, so he decided to do something about it.

[Mansour] wanted a simple way to charge his laptop (and anything else he could think of) with USB-PD over USB-C, but none of the existing options on the market was quite what he wanted. He looked around and eventually discovered the STUSB4500, a a USB power delivery controller chip that can be configured over I2C.

With a bit of nonvolatile memory onboard, it can retain its settings so he didn’t have to include a microcontroller in his design: just program it once and it can be used stand-alone to negotiate the appropriate voltage and current requirements when its plugged in.

The board that [Mansour] came up with is a handy way of powering your projects via USB-C without having to reinvent the wheel. Using the PC configuration tool and an Arduino to talk to the STUSB4500 over I2C, the board can be configured to deliver from 5 to 20 VDC to whatever device you connect to it. The chip is even capable of storing three seperate Power Delivery Output (PDO) configurations at once, so you can give it multiple voltage and current ranges to try and negotiate for.

In the past we’ve seen a somewhat similar project that used USB-PD to charge lithium polymer batteries. It certainly isn’t happening overnight, but it looks like we’re finally starting to see some real movement towards making USB-C the standard.

Replacing The 3D Printer And Router: A Tool For Manufacturing Human-Scale Forms

The purpose of Geometer becomes apparent when you realize its simplicity: [David Troetschel]’s project is to create an easily understandable design tool that encourages goal-oriented design. The kit comes with physical components and digital counterparts that can be combined in a modular way. They each have a specific geometry, which provide versatility while keeping manufacturing simple.

For the prototyping phase, small snap-on parts 3D printed on a Formlabs printer mimic the module components on a smaller scale. Once a design is conceived and the Geometer Grasshopper program finalizes the module arrangement necessary for the model, the larger pieces can be used as a mold for a concrete or hydrocal mold casting.

The present set of modules is in its seventh iteration, initially beginning as a senior thesis for [Troetschel]. Since then, the project itself has had an extensive prototyping phase in which the components have gone from being injection-molded to 3D printed.

The overall process for prototyping is faster than 3D printing and more cost-effective than sending to a third-party shop to build, which adds to the project’s goal of making manufacturing design more accessible. This is an interesting initiative to introduce a new way of making to the DIY community, and we’re curious to see this idea take off in makerspaces.

Speakers Taking The Stage At Supercon Plus A Hint Of The Hacking To Come

Four weeks from today the Hackaday Superconference comes alive for the fifth year. From engineering in challenging environments to elevating the art form of electronics, here are nine more talks that will make this a year to remember.

In addition to the slate of speakers below there are three other announcements, plus workshops. Jeroen Domburg (aka Sprite_TM) is designing this year’s badge based around a beefy FPGA running a RISC-V core and using open source synthesis tools. We’ll have more on that soon, but if you just can’t wait, check out the expansion board spec he just published, and join the conference chat room for the inside track. Badge hacking is sure to be the liveliest we’ve ever seen.

Tickets are sold out but you can still get on the waiting list and hope that one becomes available. If you are holding onto one of these hot commodities but are unable to use it, please return your ticket so that we can get it to someone waiting with their fingers crossed.

The Talks (Part Four of Many)


  • Laurel Cummings

    When it Rains, It Pours

    Over the last two years my work has been beyond ordinary, building and prototyping in strange locations like being stranded on a sailboat in the Atlantic Ocean, teaching US Marines in Kuwait, and building fuel gauge sensors for generators for vital systems in North Carolina post hurricane Florence. Some of the big lessons I’ve learned are about how to source materials and supplies in weird places, like finding potentiometers in the backwoods of North Carolina when Amazon cannot physically deliver across flooded highways, how to find welding gas in Kuwait City (and how a local chef could possibly be your best bet), or how far you can get with an O’Reilly’s Auto Parts store near the city docks. These situations help you really see the “engineer creep” that can happen to a project. I’ve learned that when you’re in high-risk situations, you really should stop caring about whether the edges of your 3D print are chamfered. In fact, version 1 of the hurricane fuel gauge sensor was demonstrated while being housed inside an elegant, tasteful sandwich baggie.


  • Angela Sheehan

    Building Whimsical Wearables: Leveling Up Through Playful Prototyping

    Whether it’s for a theme party, Halloween, cosplay, or That Thing in The Desert, designing wearables for whimsical self expression presents a great opportunity to challenge yourself as a maker, wearer, and collaborator. As an artist and designer who crash landed into a career in tech, I’ve found that imposter syndrome can often place limits on what feels personally achievable from an electronics and programming standpoint. Recontextualizing a project to shift the focus from ‘wearable tech hardware endeavor’ to ‘quirky mixed media experiment in personal styling’, I’ve created a safe space to play and try new things just outside my skill set and produced some of my most technically complex and polished personal work. Take a journey with me through the process of conceptualizing and building my Color Stealing Fairy project, an exercise in iterative design and upgrading an interactive wearable project over the course of two years and counting.


  • Michael Ossmann and Kate Temkin

    Software-Defined Everything

    The popularity of Software-Defined Radio (SDR) has led to the emergence of powerful open source software tools such as GNU Radio that enable rapid development of real-time Digital Signal Processing (DSP) techniques. We’ve used these tools for both radio and non-radio applications such as audio and infrared, and now we are finding them tremendously useful for diverse sensors and actuators that can benefit from DSP. In this talk we’ll show how we use the open source GreatFET platform to rapidly develop an SDR-like approach to just about anything.


  • Kelly Heaton

    “Hacking Nature’s Musicians” (or, “The Art of Electronic Naturalism”)

    The general lack of acceptance of electronic art results from a scarcity of critics, curators, collectors, and grantors who understand electronic media, compounded by a cultural gap between the artistic and engineering communities. In order to solve this problem, we must stretch our comfort zone and vocabularies to have a respectful, enlightening conversation with people with different educational backgrounds. In this talk I’ll discuss my wonderment at the simple, analog circuit designs that mimic life-like behavior such as chirping crickets and singing birds. This will include discussion of various schematics and demonstrations of a small. along with an abbreviated survey of my work to-date.


  • Jasmine Brackett

    Setting your Electronics Free

    In this panel we’ll discuss the key ways to get your projects from your workshop into the hands of the first few users, and what you can do to scale up from there. We’ll talk about common pitfalls, and also what are the best resources to draw upon.


  • David Williams

    MicroFPGA – The Coming Revolution in Small Electronics

    Big FPGA’s are awesome. They’re doing what they’ve always done, enabling AI, signal processing, military applications etc. However, there is a new possibility emerging – FPGA’s for small applications – which is quite possibly even more significant. Using open source tools, cheap flexible development boards, and new libraries, designers have a whole new set of options, creating incredibly high performance, flexible, low power projects and products.


  • Nick Poole

    Boggling the Boardhouse: Designing 3D Structures, Circuits, and Sensors from PCBs

    The presentation will be a series of design features or techniques with a few minutes of exploration into the ‘gotchas’ of each, as well as example layouts in EAGLE and physical examples. I’d like to cover as many different techniques as I can cram into 30 minutes, including bringing weird shapes into EDA, the inside corner problem caused by tab and slot, fillet soldering, stacking boards, imitating model sprues with mouse bites, manipulating the mask layer for custom displays, bendy tab buttons, working rotary encoder, and ergonomic design for handheld PCBs.


  • Ted Yapo

    Towards an Open-Source Multi-GHz Sampling Oscilloscope

    Tektronix designed a 14.5 GHz sampling oscilloscope in 1968. With the easy multi-layer PCB designs, tiny surface-mount parts, blazingly fast semiconductors, and computer horsepower available to the individual designer today, can a similar sampling head be re-created inexpensively with common, off-the-shelf components? Should be easy, right? It’s not. In this talk, I’ll discuss progress towards an open-source GHz+ sampling oscilloscope, including a lot of dead ends, plus some very promising leads.


  • Jeroen Domburg

    Building the Hackaday Superconference Badge

    The tradition of the Hackaday Supercon badge is to build something unlike any Supercon badge that came before. This year’s badge has an FPGA as its central component, and this comes with some extra challenges: the FPGA only comes in a BGA package with a whopping 381 pads to solder, and instead of just referring to the datasheet of the SoC to write the badge software, the SoC itself had to be written first.  I will discuss the development process of the badge, as well as the many challenges encountered along the way.

 

Keep Your Eye on Hackaday for the Livestream

The speakers you’ll see at Supercon have an amazing wealth of experience and we can’t wait to see their talks. But even if you couldn’t get a ticket, that doesn’t mean you have to miss out. Keep your eye on Hackaday for a link to the livestream which will begin on Saturday, November 16th.