Archive for the ‘Nokia’ Category

More on Blue Hydra.

Sunday, August 7th, 2016

Earlier, I wrote “It runs! It works! Mostly. Kind of.”

I’ve been banging on Blue Hydra in my spare time since Thursday, and I stand by that statement. Here’s what I’ve run into so far.

The README is pretty clear, and I didn’t have any problems installing the required packages. (I don’t have an Ubertooth, so I skipped that one. We’ll come back to the Ubertooth later.)

First problem, which was actually very tiny: I know next to nothing about Ruby, other than that cartoon foxes are somehow involved, so the phrase “With ruby installed add the bundler gem” was more like “I don’t speak your crazy moon language”. Google cleared that up pretty quickly: the magic words are gem install bundler.

Next problem: running bundle install resulted in an error stating that it couldn’t find the Ruby header files. It turns out that, while my Ubuntu installation had Ruby 2.1 installed, it didn’t have the ruby-dev package installed. sudo apt-get install ruby-dev fixed that issue.

Next problem: the SQLIte Ruby gem failed to install when I ran bundle install. It turns out that I also needed the sqlite3-dev package as well. And with that installed, the bundle built, and I could do ./bin/blue_hydra.

Which gave an error stating that it didn’t have permissions to open a handle for write. Okay, let’s try sudo ./bin/blue_hydra (because I always run code from strangers as root on my machine; everyone knows strangers have the best candy). And that actually worked: Blue Hydra launched and ran just fine. In fairness, this may be a configuration issue on my machine, and not an issue with the software itself.

In playing with it, I’ve found that it does what it claims to do. Sort of. It’s been able to detect devices in my small lab environment with Bluetooth discovery turned off, which is impressive. I also like the fact that it stores data into an SQLite database; other Bluetooth scanning tools I’ve played with didn’t do that.

However, it seems to take a while to detect my iPhone; in some instances, it doesn’t detect it at all until I go into Settings->Bluetooth. Once I’m in the Bluetooth settings, even if I don’t make a change, Blue Hydra seems to pick up the iPhone. Blue Hydra also has totally failed to detect another smart phone in my small lab environment (and I have verified that Bluetooth was both on and set to discoverable.)

Now, to be fair, there may be some other things going on:

  • I’ve also observed previously that Bluetooth under Ubuntu 15.10 didn’t work very well. At all. So at one point on Saturday, just for giggles, I upgraded Project e to Ubuntu 16.01.1 LTS. And shockingly (at least for me) Bluetooth works much much better. As in, I can actually pair my phone with Ubuntu and do other Bluetooth related stuff that didn’t work with 15.10. That seems to have mitigated the discovery issues I was seeing with Blue Hydra a little, but not as much as I would have liked. (Edited to add 8/8: Forgot to mention: after I upgraded, I did have to rerun bundle install to get Blue Hydra working again. But the second time, it ran without incident or error, and Blue Hydra worked immediately aftewards (though it still required root).)
  • I was using the Asus built-in Bluetooth adapter in my testing. Also just for giggles, I switched Blue Hydra to use an external USB adapter as well. That didn’t seem to make a difference.
  • In fairness, Blue Hydra may be designed to work best with an Ubertooth One. The temptation is great to pick one of those up. It is also tempting to pick up a BCM20702A0 based external adapter (like this one) partly to see if that works better, partly because I don’t have a Bluetooth LE compatible adapter (and this one is cheap) and partly because the Bluetooth lock stuff is based on that adapter. (Edited to add 8/8: I’m also tempted by this Sena UD100 adapter. It is a little more expensive, but also high power and has a SMA antenna connector. That could be useful.)
  • It may also be that I have an unreasonable expectation. Project e is seven years old at this point, and, while it still runs Ubuntu reasonably well, I do feel some slowness. Also, I think the battery life is slipping, and I’m not sure if replacements are available. I’ve been thinking off and on about replacing it with something gently used from Discount Electronics: something like a Core i5 or Core i7 machine with USB3 and a GPU that will work with hashcat. Maybe. We’ll see. Point is, some of my issues may just be “limits of old hardware” rather than bugs.
  • And who knows? There may very well be some bugs that get fixed after DEFCON.

tl, dr: Blue Hydra is nice, but I’m not yet convinced it is the second coming of Christ that I’ve been waiting for.

DEFCON 22 updates: August 8, 2014.

Friday, August 8th, 2014

Wired has an article based on the “Weaponizing Your Pets: The War Kitteh and the Denial of Service Dog” presentation which will take place on Sunday. I didn’t write about this yesterday because (and with all due respect to the presenter) it just didn’t strike me as being very interesting. You attached a WiFi scanner to a cat and let it roam around the neighborhood? Not sure I see anything novel there, except maybe if you made the WiFi rig very small. (You could have done the same thing with Kismet on a Nokia N810 years ago. You still can, if you can find a Nokia N810, which isn’t that hard, and if you can figure out a way to secure it to your pet.)

In other news, here are the presentation links I’ve been able to find so far. I’ll try to update this post during the day. If you are a presenter who would like your talk listed (even if it wasn’t on my list) or if there’s a talk you’d like for me to find, please feel free to leave comments or send email to stainles [at]

That’s everything I’ve been able to find from yesterday. We’re only about 30 minutes into today’s sessions. And while looking for links, I ran across this tidbit: DEFCON ordered 14,000 badges this year. They were gone by 6 PM yesterday.

Talkin’ GPS Blues (part 1).

Sunday, January 9th, 2011

A long time ago, my great and good friend Glen pointed me in the direction of a Steven Jay Gould essay about his encounter with Richard Feynman. Gould’s point in that essay was that he thought Feynman wasted a lot of time trying to understand evolution from the ground up, time that Feynman could have spent making valuable contributions to the theory instead. My response is that I think I understand where Feynman was coming from; the only way he felt like he could contribute something was to start from first principles and work his way forward until he understood each step. I’m not anywhere near as smart as Feynman or Gould, but I feel much the same way as Feynman did. Hence, the long and rambling nature of this entry.

I have six GPS systems. That’s probably more than any one sane person needs, but we can leave that discussion for another time.


Do Androids dream of electric apps?

Thursday, September 9th, 2010

As noted previously, I finally resolved the phone issue. (And AT&T can still die in a fire.)

The number one question I’ve been getting (replacing “Where did you get that shirt?” at the top of the charts) is: “How do you like your new phone?”

Answer: I like it just fine, but…below are some preliminary thoughts on Android (at least, as implemented on the EVO 4G; I do realize that some of these may be issues with the built-in apps, rather than the Android OS itself):

  • It is disappointing to me that the alarm built into the EVO’s clock app can’t be set to play arbitrary sound files as alarms. (I fall into Ihnatko’s 2% who haven’t seen the movie yet, but I love the story behind “Non, Je Ne Regrette Rien“.)
  • Ditto that I can’t set an arbitrary sound file for text message notifications.
  • It is also disappointing to me that there’s no basic Notepad type app provided with the EVO. I’m sure there’s probably 300+ on the Android marketplace, but I needed to make a shopping list this morning and didn’t have time to sort through all of them. Any tips?
  • Integration between the built-in music player and the built-in navigation app is also a disappointment; the navigation app will pause the player to make route announcements, but you have to manually start the player up again, rather than it automatically resuming play.
  • On the plus side, the sound is great; I can listen to podcasts in the car without having to hook into my (currently non-functional) stereo system.
  • The on-screen keyboard is vastly better than using the keypad (even with T9) was on the T616, and somewhat better than the on-screen keyboard on the N800. However, I still have a lot of trouble hitting the correct key with my large-ish fingers.
  • One of the drawbacks of purchasing an Android phone is synchronization with the MacBook. If I had purchased an iPhone, everything would be simple (or at least, simpler). But, no, I had to be different and resist peer pressure… At some point, I suspect I will end up ordering this. (Right now – and I do realize this is a phone controlled setting – the MacBook sees the phone as a USB disk drive with photos on it, and automatically opens iPhoto. I can browse the Android file system and copy files to or from it without problems.)
  • Speaking of iPhoto, I’ve done almost nothing with the built-in camera yet.  I need to work on that.
  • The EVO’s calendar app has a noticeable lag; it takes a couple of seconds to switch to the current date when I bring it up.
  • If there’s a way to sync the EVO’s calendar app with Google Calender, I haven’t found it, and there doesn’t seem to be a separate Google Calender app (like there is for Maps, Voice, Earth, etc.). Do I need to grab some other calender app off the Android Market? (Edited to add 9/10: Okay, I think I’ve figured this one out. You can sync the EVO app with Google Calender, it just isn’t quite as straightforward as I was looking for.)
  • The EVO also seems to lag behind in changing screen orientation when I rotate the phone.
  • I managed to get the Android SDK and the ADT plugin installed without problems on the MacBook, but the ADT plugin won’t install into Eclipse on Project e. It looks like there are some dependencies that Eclipse can’t resolve, but I can’t figure out what those are. I may have to blow away and reinstall Eclipse (which isn’t a major issue; I don’t have a bunch invested in Eclipse on Project e).
  • I either need to dig out my old Java textbook, or see if I can find an updated edition cheap online.
  • Speaking of textbooks, and having nothing to do with Android in particular, I just paid $180+ for a damn textbook. This makes me mildly cranky.
  • My old T616 in the case fit neatly into the magazine phone pocket of my 5.11 tactical pants. The EVO? Doesn’t fit. Dear 5.11 folks: maybe we could think about redesigning that pocket to fit smartphones? (I wear 5.11 tactical pants (or, as some people call them, “Kaiser blade Internet pants“), not because I’m a mall ninja, but because they are the most comfortable and toughest pants I’ve found. Plus they make it really easy to carry all my stuff.)
  • Battery life is…well, middling. I haven’t really tried optimizing power consumption, though, except for turning off WiFi and Bluetooth. (Hurrah for the EVO’s control panel that allows easy access to those settings.)
  • There’s a few applications I’m looking for and would welcome advice on finding in the Android market. The first one is a good WiFi scanning utility; ideally, it would have the ability to log access points with GPS coordinates, note if the points are A, B, G, or N, note if they’re open or closed (and if they’re WEP, WPA, WPA2, etc.), and write all this data to a XML or KML file. It looks like there are several apps in the market that meet these criteria, but I’m not sure which ones are good.
    The second app I’m looking for is a good vehicle management application. At a minimum, I’d like to be able to enter an odometer reading and number of gallons, and get a miles-per-gallon figure for that tank, as well as an average MPG for all tanks to date. It’d be spiffy if I could also enter a price per gallon, as well as other expenses (insurance, repairs, maintenance) and get a cost-per-mile figure as well.
  • I love the GPS Status app.
  • I’ve played a little with the Amazon Kindle app; so far, I’m more impressed with it than I am with the refurbished Kindle I purchased earlier this year.
  • The EVO’s screen is impressive. Much better than the N800’s. I haven’t done a side-by-side with an iPhone 4 yet, but I’m willing to bet it gives the iPhone a run for its money.
  • The EVO’s video player can decode H.264 video! (I haven’t done anything with the camcorder app, so I don’t know what format it encodes video in.)
  • Waiting for a sale on those 32GB microSD cards…
  • Edited to add: There’s also no general file browser app on the EVO.

Again, I generally like the phone; most of these are just minor quibbles that I can probably solve one way or another.

MIT OpenCourseWare: 6.00, the home game (Part 1).

Wednesday, October 21st, 2009

School has wrapped up for the semester, at least for me. (Yes, I’m aware it is mid-October. Yes, I’m aware normal people are dealing with mid-terms. What can I say; that’s the way the St. Ed’s New College schedule worked out this time around.)

Now that I’ve got some free time, I can engage in some useful projects, like more Project e work (I’ve got a long multi-part post in the works that I hope to finish soon), updating the SDC pages, and perhaps some outside study.

I’ve written here before about the MIT OpenCourseWare initiative, and I decided this would be as good a time as any to start working through 6.00, “Introduction to Computer Science and Programming“. As I was reviewing the various readings, a thought came to me.

“Hey,” I said to myself, “wouldn’t it be nifty to blog this as you’re taking it?”

“That’s a definition of ‘nifty’ I was previously unaware of,” I responded.

“It’d give you some motivation,” I said.

“Why am I talking to myself?” I responded.

“I don’t know,” I said. “Have you considered medication?”

Anyway, my need for psychotropic medications aside, this seems like a good idea, if only to give my loyal readers something to laugh at. So…

Lecture 1.

Course readings.

Getting Started: Python and IDLE.

Problem set 1.

My code for problem set 1. (This has been tested on Project e with Python 2.6.2, on the MacBook with Python 2.5, and on the Nokia with Python 2.5.2. I haven’t tested it on my work machine yet.)

Comments on my code or coding style are welcome; as a matter of fact, they are downright encouraged.

Lake Travis, September 7, 2009.

Monday, September 7th, 2009


Taken with the spectacular Nokia N800 CrapCam ™ and the gpscamera application.

Project e: Part 2: The Ubuntuing

Sunday, August 23rd, 2009

Before I begin, a couple of notes:

First, I’d like to publicly acknowledge D. D. Tannenbaum as the first person to actually leave a real substantive comment on Whipped Cream Difficulties. (There was one spam comment before his, which I guess makes some sort of pathetic statement about the state of the Internet.) Thank you, sir.

Second, another size comparison:

IMG_0334 (Modified)

That’s my (somewhat beat up, as I’ve been toting it for a while) copy of Learning Python, 3rd Edition. As you can see, the eee is only slightly larger than the book; you can’t see this in the photo, but it is substantially thinner. I wanted to get a weight comparison between the two as well, but I don’t have a scale that will work well for that purpose; manufacturer’s quoted weight for the eee is 2.9 pounds.

On to The Ubuntuing.


Project e: Part 1, the unboxing

Friday, August 14th, 2009

I’ve been wanting a netbook for a while now.


It isn’t because I’m unhappy with my MacBook; I love the MacBook (especially now that I’ve taken it up to 4 GB). I love it so much that the MacBook has almost become my primary desktop machine (pushing the beige G3 down on the stack; I’m now mostly using that for word processing and updating the SDC pages). Because the MacBook has become more of a primary machine, disconnecting everything to take it on the road has become an increasingly unattractive proposition.

What about the Nokia N800? Nice machine, very handy, very useful for checking email and some web browsing. Also great for running Maemo Mapper. But the N800 has been discontinued; while there’s a pretty active open source community right now, I don’t know how well that’s going to hold up in the future. Doing LINUX development on it is possible, but painful. And I’m getting to the point where I have trouble seeing the screen unless I zoom to 120% or 150%; doing that often messes up rendering in the browser.

What I wanted was a mid-size machine that I could use as a dedicated LINUX box, with a reasonably sized display, to do various things on:

  • sharpen my LINUX skills
  • penetration testing
  • Wi-fi hacking
  • learning Python
  • brushing up on my Perl, which has become rusty.

What I really wanted was one of the ASUS Eee PC 901 machines; the solid-state drive, form factor, and pre-installed LINUX were pretty attractive. But by the time I got ready to act, these machines had more or less vanished.

“Life is compromise”, said the Buddha. Or, if he didn’t, he should have. After the jump…


Efficient closest point calculation; how to?

Tuesday, July 28th, 2009

Randall Lawrence Waterhouse

Current meatspace coordinates, hot from the GPS receiver card in my laptp:

27 degrees, 14.95 minutes N lattitude 143 degrees, 17.44 minutes E longitude

Nearest geographical feature: the Bonin Islands

—Neal Stephenson, Cryptonomicon

One of the projects that I’ve had cooking in the back of my mind is to implement something like Waterhouse’s signature block in Cryptonomicon. After all, I’ve reached a point in my life where I actually have GPS equipment and a computer that are small enough to use on an airplane. (Unlike Waterhouse, I tend to fly coach.)

There’s a couple of different parts to this project as I see it.

  • You need an interface to the GPS reciever to get the current position data. That should be easy; both Perl and Python have GPSD interfaces.
  • You need a database of geographic points. It looks like that shouldn’t be a hard problem to solve; there’s some online databases that I think can be made to work, or converted, for this purpose.
  • You need an interface between your programming language and the database to look up points. Again, that should be easy; I’m assuming the database of geographic points is stored in some sort of standard SQL databse, and both Perl and Python have SQL database interfaces. (One possible problem is that I want to be able to run this on a Nokia N800, and the SQL database choices for that machine are kind of limited.)
  • You need to be able to calculate distance between two points. That’s easy: see  for an example.
  • But here’s the problem. Let’s say you have a database of two million geographic points. How do you efficiently find the closest point to your current geographic location?

I’m stumped by the last part. Doing two million Haversine calculations seems like a time consuming operation; I suspect on a N800, the closest point would have changed substantially by the time the calculations finish.

Anyone have any good ideas? If I ever do write the script, I promise public acknowledgment (and public posting of the code).