Prey 0.4: Lock and secure your PC

Hello everyone!

The latest and greatest of Prey is packed and ready to go. Codenamed “Solid Snake”, version 0.4 features two new modules, a lot of fixes and enhancements and some important code optimizations. If you wish to know how to update you can scroll to the bottom. Otherwise lets cut to the chase and see what’s new!

Windows System Service

Because you asked for it. Now Prey can run in Windows not only as the current logged in user but also as a System Service, which makes it much harder to remove. This is the setting by default for new installations, but can easily be changed with one click. Users who auto updated and want to switch must open up Prey Config and select “Run as System Service” under the Options for Execution panel.

New Mac installer

We’d seen the current Mac installer was having some trouble with odd passwords so we decided to take matters into hands. We rewrote the whole thing in native Cocoa + ObjectiveC so not only there won’t be any more issues with passwords (hopefully) but also it’ll look and work much nicer. Good one Carlos!

New configurator for Linux

No more keys to mingle with in Linux as well! This was something we still owed the Linux community. Written in PyGTK so it integrates nicely with the GNOME desktop. Additionally, when installing the Debian/Ubuntu package Prey will check if there was a previous installation, and if so it will copy your configuration so you don’t have to set it up twice.

SSL support

At last! All account setup though the installers is now done via SSL, so there will be no more passwords flying openly in the wild. We still need to “SSLize” the password log in for the Control Panel itself, but it’s on our top 10 priority list so be sure that it’ll be done in the forthcoming weeks.

New Lock and Secure modules

As we promised, Prey now has a way to remotely remove any stored passwords either in your keychains or your browser cookies, and can additionally hide your profile data from Outlook and Thunderbird if you wish to prevent unauthorized access to your emails and contacts. This module is called Secure and you can find it under the Action Modules list.

The second module we’re releasing today is a rad new one called Lock. As the name implies, it lets you lock down your computer from being used unless a specific password is entered. How does it work? Simple: if you activate the module, your computer will show an unremovable/oncloseable/unhideable/always-on-top/fullscreen black window which won’t let the user do a thing until the password is entered (or the module deactivated).

It looks like this:

Both modules work in Mac, Windows and Linux — Android users will have to wait a bit! — and from our tests they work real good. Check them out, although we advice you to be extreme careful with the first one as it can do real damage!

By the way, a huge applause to Mark (a.k.a MKHCB on the mailing list) which wrote most of the stuff for the Windows version of the Lock module, and inspired us to write the Linux and Mac versions to provide multiplatform support.

Asynchronous actions (important!)

We realized there was no good reason why actions should be bound to reports, so we decided to separate them. If you’re using Prey with the Control Panel, actions now are run regardless if the device is marked as missing or not — if it is, they will be triggered right after the report is delivered. In other words, be careful not to enable an action module by mistake as it will be activated even if the device is not missing!

Oh, and just to make sure you don’t get any unexpected behavior from Prey, we batch-deactivated all currently enabled action modules so your PC won’t start screaming if you had left the alarm module on.

The reason why this doesn’t apply to non Control Panel users is that the current way of activating modules in Standalone mode doesn’t allow us to differ between report and action modules. In other words, in Standalone mode, modules are still run only when Prey gets the “404 Not Found” response.

Additional changes and fixes

  • Geo module should now work in all XP systems, thanks to Premik’s excellent contribution.
  • Much better parsing method in Linux’s geo module. The bug that made it fail on some Linux systems is now also gone.
  • Webcam module in Linux now takes two pictures (and uses the last one) so the camera can adjust better to the lighting conditions on the room. Pictures look a lot better!
  • Debian package install in Linux now detects if there was a previous config and copies all data so you don’t have to resetup your PC.
  • SFTP transfer method for Standalone mode (Thanks Birdtori!)
  • Alarm module in Mac sets the volume to the highest level before sounding the siren.
  • A whole lot of optimizations, some of them that specially made Mac go a bit crazy sometimes (good one Carlos!).
  • New Curl bundled in Windows systems (version 7.20) which includes SSL support for setting up new accounts.
  • Additional custom options for Curl requests (such as using HTTP 1.0 instead of HTTP 1.1 for passing through proxies) through a new $curl_options parameter.
  • Lots of fixes here and there for modules (e.g. uptime in Windows if service wasn’t started, netstat for Macs, etc).
  • Better auto connect routine for Macs, this should fix Snow Leopard issues.
  • Better: OS detection logic, logging management, auto update checks, handling of processes.

How to update

There’s two ways to update to the new version. You can simply download the new package and run it, or you can also log into your Control Panel account and select the Auto Update feature for your PC’s. In this case, however, we suggest you run Prey in Check Mode afterwards to see if everything worked out smoothly (it should show “Version 0.4”). From our tests the Auto update works real solid, but you never know!

And that’s about it! If you’re interested you can look at the full commit list or simply browse the code itself. As always, we’d love to know what you think of the new features so drop us a line any time though the mailing list.

Thanks, everyone for the feedback, and happy hunting!