August 23, 2010

Kick-ass Android Apps

As more and more of my friends switch to Android-based phones, I find myself keeping a list of "must have" apps for the Android.  Since I've been going to the trouble of maintaining it, I figured I might as well share it.  SO, here are my must-have apps for the Android (ones in bold are essentials):



  • launcher pro -- desktop replacement, very cool features unavailable in the stock desktop.  This was the first app I loaded after I reset my phone to default.
  • better keyboard -- replacement keyboard, much better predictive text suggestions and multiple entry modes.  This keyboard is MUCH more forgiving than the stock one.  It also has themes, if you're stupid like that.
  • task manager (by Adao Team) -- kills unnecessary apps (like amazon music store?!?  wtf!)  without this, your battery life will suck more than a Thai donkey show.  Make sure of two things: 1) that you mark your essential apps as ignored, and 2) that the thing actually is running -- out of the box it will kill itself.
  • xScope Browser -- this is hands-down the fastest web-browser I've seen for Android, and it doesn't skimp on the features.  If you've got a sub-ghz processor, you'll find this to be your best bet for surfing.
  • no lock -- prevents Exchange policies from locking your phone (if you don't have an exchange account setup that requires screen lock policies, don't bother with this one.)
  • shop savvy -- product barcode scanner with internet shopping built-in!  WOW, this one is sweet.  you can do wishlists and the like.
  • thinking place -- mind mapping/brainstorming app, I use this one quite a lot.
  • lastpass -- password manager (if you aren't already using this on your desktop, you absolutely MUST, its the coolest thing since sliced bread.)
  • meebo -- instant messaging that can be used anywhere (web, mobile, etc.)
  • sysmonitor -- runs in your notification area and gives you instant access to system resources without clicking through menus.  I really like this one.
  • where -- like the yellow pages, white pages, and google maps smashed together with citysearch.com very cool, very handy.
  • dropbox -- like dropbox on your PC, allows you to sync from your dropbox acct.
  • file manager -- browse your SD card, handy.  Totally optional though because xScope also has a file browser built-in.
  • beam reader -- the PDF viewer that isn't complete shit.  It actually works.
  • Old Android Agenda  -- widgets for viewing your calendar without opening it, by far the best calendar widget available.
  • Sense Analog 24-hour Clock -- best 24-hour desktop widget I've seen!
you'll find these apps already installed, but very useful:
  • power center -- manage services like wifi, gps, screen brightness and background data sync with toggles on the power center.  Very VERY useful.
  • settings -- duh
  • market -- to find the goodness
beyond apps, there are a couple of things that you need to orient yourself to to really maximize your android device.
  1. multiple desktops are a means to organize information.  Some phones call these "scenes".  The crux of it is, if you're like me, you'll find organizing your desktops by purpose to be the most efficient way of finding what you're looking for.  I have desktops for: "weather and travel", "main page" (clock & agenda), "contacts", and "settings".
  2. in launcher pro, use the bottom launcher buttons to dock your mail, sms, and other common apps -- bonus: if you use the launcher pro icons for mail, phone, sms, gtalk or gmail, you'll see notifications about how many new messages you have. YAY!
  3. if you find you're accidentally dialing random peeps because of lag in the device, get "call confirm" from the market.  The Eris is a bit gutless (not unmanageably so, just a little), and this was a constant frustration for me before I got call confirm.

August 11, 2010

pyScout - threaded port scanner with heuristic protocol identification

In 2007, while attending a training event in Chicago, NYC, or Washington D.C., (my memory is fuzzy as to which), I began to learn Python.  I needed a project, and since I'd always wanted to tinker with the inner-workings of a port-scanner, I decided to write one in Python.  While this may not be the most novel utility to code, it afforded me the chance to learn Python and scratch a curious itch I'd always had.  As I began work on this simple port scanner, the thought occurred to me to incorporate something most other port scanners don't do: application/protocol/service identification.  Seemed like a good idea at the time.  There were a couple of others out there, but none that really incorporated both a high-speed port scanner and protocol identification.  SO, I decided to write such a beast.  Thus, pyScout was born.

As I began working on a pen-test for a client today, I was dusting off the old pyScout 0.0.3 code, and I realized that the C&C components were largely broken, but not badly.  I made a couple of minor changes and decided to put it up on Google Code so that others might benefit from the project.  If you'd like to browse the repository, you can, or you could check it out from SVN and use it.

If anyone would like to contribute to pyScout, feel free to drop me an e-mail or reply to this post.