[Kuba Tyszko] like many of us, has been hacking things from a young age. An early attempt at hacking around with grandpa’s tractor might have been swiftly quashed by his father, but likely this was not the last such incident. With a more recent interest in cracking encrypted applications, [Kuba] gives us some insights into some of the tools at your disposal for reading out the encrypted secrets of applications that have something worth hiding. (Slides here, PDF.)
There may be all sorts of reasons for such applications to have an encrypted portion, and that’s not really the focus. One such application that [Kuba] describes was a pre-trained machine-learning model written in the R scripting language. If you’re not familiar with R, it is commonly used for ‘data science’ type tasks and has a big fan base. It’s worth checking out. Anyway, the application binary took two command line arguments, one was the encrypted blob of the model, and the second was the path to the test data set for model verification.
The first thing [Kuba] suggests is to disable network access, just in case the application wants to ‘dial home.’ We don’t want that. The application was intended for Linux, so the first port of call was to see what libraries it was linked against using the
ldd command. This indicated that it was linked against OpenSSL, so that was a likely candidate for encryption support. Next up, running
objdump gave some clues as to the various components of the binary. It was determined that it was doing something with 256-bit AES encryption. Now after applying a little experience (or educated guesswork, if you prefer), the likely scenario is that the binary yanks the private key from somewhere within itself reads the encrypted blob file, and passes this over to
libssl. Then the plaintext R script is passed off to the R runtime, the model executes against the test data, and results are collated.
[Kuba]’s first attack method was to grab the OpenSSL source code and drop in some strategic printf() function calls into the target functions. Next, using the LD_PRELOAD ‘trick’ the standard system OpenSSL library was substituted with the ‘fake’ version with the trojan
printfs. The result of this was the decryption function gleefully sending the plaintext R script direct to the terminal. No need to even locate the private key!
Continue reading “SUPERCON 2022: Kuba Tyszko Cracks Encrypted Software”
Prolific designer and maker Sophy Wong is always looking toward the future, and that goes for everything from the costume pieces she makes to the idea of making itself. In her excellent and highly-visual Supercon talk, Sophy explores both, and gives the viewer a window on her evolved-and-evolving design philosophy.
You likely know Sophy as That Maker Who 3D Prints On Fabric, a label she is quick to dismiss, pointing animatedly toward the seminal work of one David Shorey, who also happened to be at Supercon 2022. As Sophy explains, the process begins by modeling disconnected bodies to be printed, then printing the first layer and pausing the print. At this point, a piece of nylon mesh is inserted, and the print is resumed. The result is that the mesh is trapped between the first and second layers, and the bodies are now connected by a common thread. Carefully remove the sandwich from the print bed and you have a highly-flexible, mesmerizing piece of material that almost acts like chain maille.
Continue reading “Supercon 2022: Sophy Wong Is Making An Impact With Artistic Wearables”
Are you one of the lucky ones to own a Hackaday Supercon 2022 badge? Would you like to make it even easier to program than it already is? [brokebit] has exactly the project you might’ve been dreaming of all along — it’s a Supercon 2022 Badge programming adapter. With pass-through for all badge pins, four buttons, a total of ten DIP switches and four LEDs, the sheer IO of this add-on makes good use of the badge’s expansion header. But that’s not all, as there’s a USB-UART converter accessible through a MicroUSB socket.
Using mostly through-hole components, this board won’t leave you digging through parts drawers for exotic buttons or pin headers; most everything is jellybean. The pass-through capability of the adapter means that other badge add-ons will be compatible and you can even use this adapter to debug them, with DIP switches helping you disconnect whatever onboard circuitry interferes. For instance, if you’re not looking for USB-UART functionality provided by the classic CP2102, the dual DIP switches are right there for you to disconnect it on the fly.
The board is 6 layers, but since the quoted price was the same as a 4-layer board, it made for a more comfortable layout. Want a refresher on the badge? Here you go, and here’s our write-up about it before Supercon. Hackers have been stretching the limits of what the 2022 badge can get done — here’s a punch card reader, for instance.
[Martin Rothfield] and other amateur radio operators from San Francisco High Altitude Ballooning (SF-HAB) treated conference attendees to the 2022 Hackaday Supercon to the launch of two High Altitude Balloons (HABs). On the morning of November 6th, the two balloons were launched from a park across the street from Supplyframe DesignLab in Pasadena, California.
Seven days after its launch from Southern California, one of the balloons was over Tajikistan cruising eastward at an altitude of 42,000 feet (12,800 meters). Balloon W6MRR-26 was already approaching China where it will continue its wonderful world tour to parts unknown. The second balloon (call sign W3HAC-11) landed in northern Arizona where it has continued transmitting whenever it receives power from the sun.
Each balloon carries a tiny payload — a printed circuit board powered only by small photovoltaic cells. The board includes a microcontroller, a GPS module, and a Weak Signal Propagation Reporter (WSPR) radio transmitter. The transmitted operates on the 20 meter amateur radio band at around 14 MHz.
WSPR beacons can provide time, altitude, and location information. The WSPR telemetry is then relayed via WSPRgates using Automatic Packet Reporting System (APRS) onto the Internet. The collected information can be viewed and mapped on websites such as aprs.fi.
Continue reading “Supercon Balloon W6MRR-26 Continues Its World Tour”
This year’s Hackaday Supercon, the first since 2019 thanks to the pandemic, was a very similar affair to those of the past. Almost every hardware-orientated hacker event has its own custom electronic badge, and Supercon was no different. This year’s badge is a simulation platform for a hypothetical 4-bit CPU created by our own [Voja Antonic], and presented a real challenge for some of the attendees who had never touched machine code during their formative years. The challenge set was to come up with the most interesting hack for the badge, so collaborators [Ben Hencke] and [Zach Fredin] set about nailing the ‘expandr’ category of the competition with their optical punched card reader bolt-on.
Peripheral connectivity is somewhat limited. The idea was to build a bolt-on board with its own local processing — using a PixelBlaze board [Ben] brought along — to handle all the scanning details. Then, once the program on the card was read, dump the whole thing over to the badge CPU via its serial interface. Without access to their usual facilities back home, [Ben] and [Zach] obviously had to improvise with whatever they had with them, and whatever could be scrounged off other badges or other hardware lying around.
One big issue was that most people don’t usually carry photodiodes with them, but luckily they remembered that an LED can be used as a photodiode when reverse-biased appropriately. Feeding the signal developed over a one Meg resistance, into a transconductance amplifier courtesy of a donated LM358 there was enough variation for the STM32 ADC to reliably detect the difference between unfilled and filled check-boxes on the filled-in program cards.
The CPU required 12-bit opcodes, which obviously implies 12 photodiodes and 12 LEDs to read each word. The PixelBlaze board does not have this many analog inputs. A simple trick was instead of having discrete inputs, all 12 photodiodes were wired in parallel and fed into a single input amplifier. To differentiate the different bits, the illumination LEDs instead were charlieplexed, thus delivering the individual bits as a sequence of values into the ADC, for subsequent de-serialising. The demonstration video shows that it works, with a program loaded from a card and kicked into operation manually. Such fun!
Punch cards usually have a hole through them and can be read mechanically, and are a great way to configure testers like this interesting vacuum valve tester we covered a short while back.
Continue reading “Supercon Badge Reads A “Punch” Card”
The last two Novembers, Hackaday’s annual gathering was held in remote mode: Remoticon instead of Supercon. While still recovering from jetlag, I’m reflecting on the pros and cons of live versus virtual events. And wondering how we can combine the virtues of both for next year. Come brainstorm with me!
The blatantly obvious pros of having a live Supercon is the ease of talking to everyone who is there, trading code tips, life experience, and must-see projects. In person, you can physically trade badge add-ons in real time, without waiting for customs to clear the packages. Simply hanging out has a real charm to it, and doing so over shared tacos is even better. Spontaneous collaborations were easy and natural. And finally, while you can watch someone electrocute a twinkie with a neon sign transformer on YouTube, you can’t smell the ozone.
Against this, all of the expensive travel, the aforementioned jetlag for some, and the real-world limitations that only so many people can fit in a given physical space at once.
The best part of Remoticon was hearing from people who wouldn’t have been able to make it to an in-person con, whether it’s because it’s of geography or money. Since everything is online, there’s no missing out, and anyone can freely dip in to one talk or another. The online chat channels were better attended during Remoticon as well – perhaps because they were the only game in town – but that was a more global community.
There’s probably nothing that can be done about the tacos, but what could we do about incorporating the benefits of Remoticon? We did stream one stage live, and we had two chat channels open for commentary the whole time. If you took part remotely in Supercon, let us know how it went, and if you have any suggestions to improve our remote experience for next time. Because in the end, we want Hackaday to be as inclusive and as global as the hacker community itself.
Banner Photo by Poyu Chen.
Supercon is entering the final phase: it’s Sunday! But it’s not over yet: there is a phenomenal lineup of talks today, starting at 9:30 AM PST, and we’re streaming the main stage live from the very beginning until the badge-hacking awards ceremony at 5:30 pm. And if you’d like to join in the conversation, head over to the Hack Chat or the Discord.
We kicked off Friday with a full day of badge hacking, workshops, food, drink, and music. What used to be a late-afternoon pre-registration has grown into the early morning hours, and gave people a great opportunity to catch up after two years of remote mode.
Saturday was full-on Supercon, and the talks were phenomenal. We recorded interviews, took tons of photos, and of course recorded the talks given on the DesignLab stage, and we’ll be getting those out to you over the next weeks. (It’s a lot.)
In addition to all the talks, we announced the winners of the 2022 Hackaday Prize! It was a big year for small-scale energy generation and recycling, and all of the winning projects were clever, well tested, and easily replicable. Check them out.
So now that you’re all caught up, settle in for a jam-packed Sunday. See you in the livestream if not in real life!