Cassette Data Storage From The 1970s

When home computers first appeared, disk drives were an expensive rarity. Consumers weren’t likely to be interested in punch cards or paper tape, but most people did have consumer-grade audio cassette recorders. There were a few attempts at storing data on tapes, which, in theory, is simple enough. But, practically, cheap audio recorders are far from perfect, which can complicate the situation.

A conference in Kansas City settled on a standard design, and the “Kansas City standard” tape format appeared. In a recent video, [Igor Brichkov] attempts to work with the format using 555s and op amps — the same way computers back in the day might have done it. Check out the video below to learn more.

These days, it would be dead simple to digitize audio and process it to recover data. The 1970s were a different time. The KC standard used frequency shift method with 2.4 kHz tones standing in for ones, and 1.2 kHz tones were zeros. The bit length was equal (at 300 baud), so a one had 8 cycles and a zero had 4 cycles. There were other mundane details like a start bit, a minimum stop bit, and the fact that the least significant bit was first.

The real world makes these things iffy. Stretched tape, varying motor speeds, and tape dropouts can all change things. The format makes it possible to detect the tones and then feed the output to a UART that you might use for a serial port.

There were many schemes. The one in the video uses an op-amp to square up the signal to a digital output. The digital pulses feed to a pair of 555s made to re-trigger during fast input trains but not during slower input trains. If that doesn’t make sense, watch the video!

The KC standard shows up all over the place. We’ve even used it to hide secret messages in our podcast.

Continue reading “Cassette Data Storage From The 1970s”

This Week In Security: The Localhost Bypass, Reflections, And X

Facebook and Yandex have been caught performing user-hostile tracking. This sort of makes today just another Friday, but this is a bit special. This time, it’s Local Mess. OK, it’s an attack with a dorky name, but very clever. The short explanation is that web sites can open connections to localhost. And on Android, apps can be listening to those ports, allowing web pages to talk to apps.

That may not sound too terrible, but there’s a couple things to be aware of. First, Android (and iOS) apps are sandboxed — intentionally making it difficult for one app to talk to another, except in ways approved by the OS maker. The browser is similarly sandboxed away from the apps. This is a security boundary, but it is especially an important security boundary when the user is in incognito mode.

The tracking Pixel is important to explain here. This is a snippet of code, that puts an invisible image on a website, and as a result allows the tracker to run JavaScript in your browser in the context of that site. Facebook is famous for this, but is not the only advertising service that tracks users in this way. If you’ve searched for an item on one site, and then suddenly been bombarded with ads for that item on other sites, you’ve been tracked by the pixel.

This is most useful when a user is logged in, but on a mobile device, the user is much more likely to be logged in on an app and not the browser. The constant pressure for more and better data led to a novel and completely unethical solution. On Android, applications with permission to access the Internet can listen on localhost (127.0.0.1) on unprivileged ports, those above 1024.

Facebook abused this quirk by opening a WebRTC connection to localhost, to one of the ports the Facebook app was listening on. This triggers an SDP connection to localhost, which starts by sending a STUN packet, a UDP tool for NAT traversal. Packed into that STUN packet is the contents of a Facebook Cookie, which the Facebook app happily forwards up to Facebook. The browser also sends that cookie to Facebook when loading the pixel, and boom Facebook knows what website you’re on. Even if you’re not logged in, or incognito mode is turned on.

Yandex has been doing something similar since 2017, though with a different, simpler mechanism. Rather than call localhost directly, Yandex just sets aside yandexmetrica.com for this purpose, with the domain pointing to 127.0.0.1. This was just used to open an HTTP connection to the native Yandex apps, which passed the data up to Yandex over HTTPS. Meta apps were first seen using this trick in September 2024, though it’s very possible it was in use earlier.

Both companies have ceased since this report was released. What’s interesting is that this is a flagrant violation of GDPR and CCPA, and will likely lead to record-setting fines, at least for Facebook.

Continue reading “This Week In Security: The Localhost Bypass, Reflections, And X”

A circuit board is shown on a white background. It has a USB-A port on the front side, and a coiled wire antenna extending from another circuit board mounted above the first one.

A Remote-Controlled USB Rubber Ducky Clone

Despite the repeated warnings of system administrators, IT personnel, and anyone moderately aware of operational security, there are still quite a few people who will gladly plug a mysterious flash drive into their computers to see what’s on it. Devices which take advantage of this well-known behavioral vulnerability have a long history, the most famous of which is Hak5’s USB Rubber Ducky. That emulates a USB input device to rapidly execute attacker-defined commands on the target computer.

The main disadvantage of these keystroke injection attacks, from the attacker’s point of view, is that they’re not particularly subtle. It’s usually fairly obvious when something starts typing thousands of words per minute on your computer, and the victim’s next move is probably a call to IT. This is where [Krzysztof Witek]’s open-source Rubber Ducky clone has an advantage: it uses a signal detected by a SYN480R1 RF receiver to trigger the deployment of its payload. This does require the penetration tester who uses this to be on the site of the attack, but unlike with an always-on or timer-delayed Rubber Ducky, the attacker can trigger the payload when the victim is distracted or away from the computer.

This project is based around the ATmega16U2, and runs a firmware based on microdevt, a C framework for embedded development which [Krzysztof] also wrote. The project includes a custom compiler for a reduced form of Hak5’s payload programming language, so at least some of the available DuckyScript programs should be compatible with this. All of the project’s files are available on GitHub.

Perhaps due to the simplicity of the underlying concept, we’ve seen a few open source implementations of malicious input devices. One was even built into a USB cable.

The GBA Console You Never Knew You Wanted

Do you like Nintendo games? How about handhelds? Do you prefer the now-venerable Game Boy Advance (GBA) to more modern platforms, but wish your aging eyes could enjoy its content on a large CRT instead of a dinky LCD? If you answered yes to all those questions, you are exactly the type of person [GouldFish on Games] made this custom console for, and you should probably be friends.

The external appearance of this hack is slick: a 3D printed console with the contours of the GBA in that iconic purple, but with a cartridge bay door like an NES and a SNES controller port. It’s the GBA console Nintendo never made, sitting next to a period-appropriate CRT. Playing GBA game on a CRT with an SNES controller is already hacky; what makes it really hacky is the guts are yet another Nintendo system — the DS Lite.

Why a DS Lite? Two reasons: one, it is cheaper to get a busted DS Lite than an old GBA mainboard. Two, as we covered before, the DS Lite can do composite-out with a relatively cheap add-on board. [GouldFish] really is hacking on the shoulders of giants, and they acknowledge it in the video. Aside from the composite-out board, he also makes use of community knowledge on how to make the DS Lite boot without screens or batteries.

Should you be interested in putting your own version of this console together, [GouldFish] was kind enough to share the STLs for the 3D printed enclosure, as well as the Gerber files for the custom PCB that interfaces with the SNES controller port.

We featured a CRT mod for an original Game Boy before, but this seems a lot more practical, if a lot less portable. [GouldFish] has no shortage of old titles and newer homebrew to chose from for this console, but they could always use more. We once featured a primer on how to get into the GBA homebrew scene, if you want to make a game.

Continue reading “The GBA Console You Never Knew You Wanted”

Build a $35 400 MHz Logic Analyzer

Build A 400 MHz Logic Analyzer For $35

What do you do when you’re a starving student and you need a 400 MHz logic analyzer for your digital circuit investigations? As [nanofix] shows in a recent video, you find one that’s available as an open hardware project and build it yourself.

The project, aptly named LogicAnalyzer was developed by [Dr. Gusman] a few years back, and has actually graced these pages in the past. In the video below, [nanofix] concentrates on the mechanics of actually putting the board together with a focus on soldering. The back of the build is the Raspberry Pi Pico 2 and the TXU0104 level shifters.

If you’d like to follow along at home, all the build instructions and design files are  available on GitHub. For your convenience the Gerber files have been shared at PCBWay

Of course we have heaps of material here at Hackaday covering logic analyzers. If you’re interested in budget options check out $13 Scope And Logic Analyzer Hits 18 Msps or how to build one using a ZX Spectrum! If you’re just getting started with logic analyzers (or if you’re not sure why you should) check out Logic Analyzers: Tapping Into Raspberry Pi Secrets.

Continue reading “Build A 400 MHz Logic Analyzer For $35”

Simple Open Source Photobioreactor

[Bhuvanmakes] says that he has the simplest open source photobioreactor. Is it? Since it is the only photobioreactor we are aware of, we’ll assume that it is. According to the post, other designs are either difficult to recreate since they require PC boards, sensors, and significant coding.

This project uses no microcontroller, so it has no coding. It also has no sensors. The device is essentially an acrylic tube with an air pump and some LEDs.

Continue reading “Simple Open Source Photobioreactor”

COTS Components Combine To DIY Solar Power Station

They’re marketed as “Solar Generators” or “Solar Power Stations” but what they are is a nice box with a battery, charge controller, and inverter inside. [DoItYourselfDad] on Youtube decided that since all of those parts are available separately, he could put one together himself.

The project is a nice simple job for a weekend afternoon. (He claims 2 hours.) Because it’s all COTS components, it just a matter of wiring everything together, and sticking into a box.  [DoItYourselfDad] walks his viewers through this process very clearly, including installing a shunt to monitor the battery. (This is the kind of video you could send to your brother-in-law in good conscience.)

Strictly speaking, he didn’t need the shunt, since his fancy LiFePo pack from TimeUSB has one built in with Bluetooth connectivity. Having a dedicated screen is nice, though, as is the ability to charge from wall power or solar, via the two different charge controllers [DoItYourselfDad] includes. If it were our power station, we’d be sure to put in a DC-DC converter for USB-PD functionality, but his use case must be different as he has a 120 V inverter as the only output. That’s the nice thing about doing it yourself, though: you can include all the features you want, and none that you don’t.

We’re not totally sure about his claim that the clear cargo box was chosen because he was inspired by late-90s Macintosh computers, but it’s a perfectly usable case, and the build quality is probably as good as the cheapest options on TEMU.

This project is simple, but it does the job. Have you made a more sophisticated battery box, or other more-impressive project? Don’t cast shade on [DoItYourselfDad]: cast light on your work by letting us know about it!. Continue reading “COTS Components Combine To DIY Solar Power Station”