Unexpected Betrayal From Your Right Hand Mouse

Some people really enjoy the kind of computer mouse that would not be entirely out of place in a F-16 cockpit. The kind of mouse that can launch a browser with the gentle shifting of one of its thirty-eight buttons ever so slightly to the left and open their garage door with a shifting to the right of that same button. However, can this power be used for evil, and not just frustrating guest users of their computer?

We’ve heard of the trusted peripheral being repurposed for nefarious uses before. Sometimes they’ve even been modified for more benign purposes. All of these have a common trend. The mouse itself must be physically modified to add the vulnerability or feature. However, the advanced mice with macro support can be used as is for a vulnerability.

The example in this case is a Logitech G-series gaming mouse. The mouse has the ability to store multiple personal settings in its memory. That way someone could take the mouse to multiple computers and still have all their settings available. [Stefan Keisse] discovered that the 100 command limit on the macros for each button are more than enough to get a full reverse shell on the target computer.

Considering how frustratingly easy it can be to accidentally press an auxiliary button on these mice, all an attacker would need to do is wait after delivering the sabotaged mouse. Video of the exploit after the break.

Continue reading “Unexpected Betrayal From Your Right Hand Mouse”

One Hacker’s Small Tabletop Photo Studio

We love good pictures. You know, being worth a thousand words and all. So, after our article on taking good reference photos, we were pleased to see a reader, [Steve], sharing his photography set-up.

Taking good technical photos is a whole separate art from other fields of photography like portraiture.  For example, [Steve] mentions that he uses “bullseye” composition, or, putting the thing right in the middle. The standard philosophy on this method is that it’s bad and you are bad. For technical photos, it’s perfect.

[Steve] also has some unique toys in his arsenal. Like a toy macro lens from a subscription chemistry kit. He also showed off his foldscope. Sadly, they appear to no longer be for sale, but we sometimes get by with a loupe held in front of the lens. He also uses things standard in our shop. Such as a gridded cutting mat as a backdrop and a cheap three dollar tripod with spring actuated jaws to hold his phone steady.

In the end, [Steve] mostly shows that a little thought goes a long way to producing a photo that doesn’t just show, but communicates an idea in a better way than just words can manage.


Hackaday Links: November 9, 2014

After many years of searching, [Dan Wood] finally got his hands on something he’s wanted for the past twenty-two years: an Amiga 4000. No, it’s not the queen bee of Amiga land – that honor would fall to the 68060-equipped 4000T, but [Dan]’s 4000 is decked out. It has a 256MB RAM expansion, Ethernet, USB, and a Picasso IV graphics card that gives it better resolution and color depth than most modern laptops.

[Pistonpedal] has a fully automatic pneumatic can crusher that is far too cool to be wasted on a case of Keystone. A funnel at the top guides the cans in to be crushed one at a time and ejected into a garbage can underneath. Great for recycling.

Coming over from ‘normal’ programming into the world of embedded development? [AndreJ] has the AVR C Macro for you. It’s a great way to get away from all those ~=, |=, and &=s that don’t make any sense at all.

[CNLohr] has a reputation for running Minecraft servers on things that don’t make any sense at all. The latest build is a light up redstone ore block equipped with an ESP8266 WiFi chip.

Oh, the Hackaday overlords and underlings are in Munich for this little shindig we’re doing. If you in town for Electronica come on down. If you have a copy of Neil Young’s Trans, bring it to the party.

The Relay-Based Mouse Emulator


[Nixie]’s job involves using some test software that requires moving a mouse around, clicking a few buttons, checking if everything is okay, and repeating the process over and over again. This is obviously a solution for some keyboard macros, but in a fit of sadistic spite, the test software requires someone to move a mouse around the screen. What is [Nixie] to do? Make a mouse emulator and automate the whole thing, of course.

The Memulator, as [Nixie] calls the device, is the latest in a series of devices to increase productivity when testing. The first version was the mouse tumor, an odd-looking device that simply switched off the LED for an optical mouse, keeping the cursor in one spot while [Nixie] hammered a button repeatedly. The second version is more advanced, capable of moving the cursor around the screen, all without doing an iota of USB programming: [Nixie] is simply using a resistive touch pad, some relays and a few pots to turn buttons into cursor movements. It’s such a simple solution it almost feels wrong.

There’s some interesting tech here, nonetheless. For some reason, [Nixie] has a few cases of old, can-shaped soviet-era relays in this build. While using such cool, awesome old components in such a useful and productive build seems odd, if you’re trying to fix ancient software that’s so obviously broken, you might as well go whole hog and build something that will make someone in twenty years scratch their head.

Vertical video of the Memulator below.

Continue reading “The Relay-Based Mouse Emulator”

Macro assembly for AVR chips


Here’s an interesting tip that can help improve your ability to write assembly code. In an effort to remove the complexity of assembly code for an AVR project [Quinn Dunki] figured out how to use macros when writing AVR code with the GNU toolchain. Anyone using AVR-GCC should keep this in mind if they ever want or need to pound out a project in assembly language.

If you look at the code snippet above you’ll see two commands that are obviously not assembly; PulseVRAMWrite and DisableVRAMWrite. These are macros that direct the assembler to roll in a hunk of code. But avr-as, the assembler used with this toolchain, lacks the ability to handle macros. That’s too bad because we agree with [Quinn] that these macros make the code easier to read and greatly reduce the probability of error from a typo since the code in the macro will be used repeatedly.

The answer is to alter the makefile to use GNU M4. We hadn’t heard of it, but sure enough it’s already installed on our Linux Mint system (“man m4” for more info). It’s a robust macro processor that swaps out all of her macros based on a separate file which defines them. The result is an assembly file that will play nicely with avr-as.

Her implementation is to help in development of the GPU for her Veronica computer project.

Computer control for your Xbox controller

This wiring nightmare lets [H. Smeitink] map all the buttons from an Xbox 360 controller to his PC. It gives him the ability to push control input from his PC to the console. But it goes a step further than that because it actually acts as a pass-through device. He connected a wired controller to the computer and uses a program he wrote to translate those inputs and send them to the hacked controller.

The software is written in C#. It’s got a recording function that lets him save the keypress data from the wired controller while it’s sent to the Xbox in real time. When he finds a combination that he uses frequently he plucks out those commands, sets them up as a macro, and assigns one of the buttons to execute it. The controller hack uses one transistor for each button, and a PIC 18F4550 which controls them and provides USB connectivity with the PC.

This isn’t one nice package like some integrated rapid-fire and macro solutions we’ve seen. But it certainly opens up a lot more possibilities. See for yourself in the clip after the break.

Continue reading “Computer control for your Xbox controller”

Hack a webcam and a film camera into a USB microscope

Most of you probably have a webcam sitting around somewhere, and after all the high voltage projects you’ve done using disposable cameras, we bet you have some camera lenses too. You could always do what [Butch] did and combine the lens from the camera with the webcam to do some up close inspection.

This seems like something we’ve seen several times, but we can’t find it in our archive. Such a simple and quick hack looks surprisingly effective in his shots. If you want to see the details, like where he tied into the webcam’s board to power an external LED, you’ll have to download the PDF.