The Netbook Newbie's Guide to Linux

Back to the Bluez

Beginner's guide to SSL certificates

Acer's Bluetooth Patch: is it Evil?

The official Acer 'Bluetooth Patch' presents itself as a script file. The abiding Unix advantage of doing a lot of stuff using plain text shell scripts is that they're transparent - you can read 'em to find out what they think they're doing. All the scripts in /etc/init.d that start up the various Linux services, for example, work along these lines. But not this 'Bluetooth Patch' script.

Bluetooth Patch

Some of it is readable. The opening comment line says that it's been constructed with a utility called Makeself. Makeself is a utility devised by Stéphane Peter that makes .tgz files self-extractable. The .tgz files are embedded in the Makeself scripts, so although they run like scripts, they're mostly full of binary code that completely conceals their actions.

At least that's how it seemed. I dropped an email to Stéphane suggesting that short of setting up a VMware Linpus sandbox, running the script and then walking through the whole system with find, I couldn't think of any way of determining the workings of this kind of script that can create executables or other scripts at will, and then run them. So, is Makeself evil? I asked him.

No, he says. No less so than any other installer. He explained that you can quiz a Makeself file from the command line about its contents:

[user@localhost bluetooth.sh]$ ./bluetooth.sh --info
Identification: install bluetooth patch
Target directory: bluetooth
Uncompressed size: 9768 KB
Compression: gzip
Date of packaging: Sat Oct 11 14:37:37 CST 2008
Built with Makeself version 2.1.4 on linux-gnu
Build command was: /usr/bin/makeself.sh \
    "bluetooth" \
    "bluetooth.sh" \
    "install bluetooth patch" \
Script run after extraction:
bluetooth will be removed after extraction

Stephane goes on to say: "To examine the contents of the archive itself, and thus get a better idea of what happens, you can use the --noexec and --target options to simply extract the files, ie.

sh makeself.run --noexec --target /tmp/archive

You can then just peruse the contents of /tmp/archive in this example."

Choosing a cloud hosting partner with confidence


Go beyond APM with real-time IT operations analytics
How IT operations teams can harness the wealth of wire data already flowing through their environment for real-time operational intelligence.
10 threats to successful enterprise endpoint backup
10 threats to a successful backup including issues with BYOD, slow backups and ineffective security.
Forging a new future with identity relationship management
Learn about ForgeRock's next generation IRM platform and how it is designed to empower CEOS's and enterprises to engage with consumers.
High Performance for All
While HPC is not new, it has traditionally been seen as a specialist area – is it now geared up to meet more mainstream requirements?
Website security in corporate America
Find out how you rank among other IT managers testing your website's vulnerabilities.