Universal Radio Hacker (URH) and Ubuntu 18.04 with a pybombs GNURadio backend.

While attending Defcon 27 and hanging around the wireless village, I caught Dale Wooden giving an interesting talk on his exploits around playing with Fords key fobs. A lot of his initial research was performing leveraging Universal Radio Hacker. URH looked pretty slick and as with most tools the wireless village folks show off, their default response is “Use Pentoo” if you want to use tool. My conference device is a fairly vanilla Ubuntu 18.04 box at the moment and getting things up at running was a bit challenging so I figured I’d document my steps and hopefully help someone out along the way.

Last Defcon I happened to be in the market for an SDR folks and the BladeRF folks happened to drop their new 2.0 version while I was there so that’s been my primary SDR for the past year. It’s small enough and packs a big enough FPGA to be fun. The team behind it has been pretty responsive in launching new libbladerfs as they’re developing new features and bug fixes so I’ve tended to rely on pybombs for building my gnuradio environment. If you haven’t built with pybombs before it’s generally a breeze and tends to stay decently ahead of PPA in my experience. Check here for details generally or more specifically for the bladerf.

Because I like to “live on the bleeding edge” I opted to run URH from source. Most of the process goes exactly as expected but after installing my gnuradio via pybombs into the prefix directory ~/gnuradio/default (yours may be different depending on your selected prefix location) it took me a minute to track down where exactly the gnuradio back end was sourcing python. Since we’re looking for what our python path is when we’re executing gnuradio, lets go ahead and activate our typical gnuradio python environment. In my case that’s:

cd ~/gnuradio/default
source setup_env.sh

Now to double check where this python environment is sourcing from:

which python

which for me yields:


With all that setup, lets launch urh. If you followed the steps to install/run from source above, this should just be executing from your current directory:


Once URH is up and running navigate to Edit->Options and verify that under Gnuradio options the “Python 2 interpreter” path is set to what you found above. If you ran URH from your “activated” pybombs environment at this point you should see a list of radios that match your GNURadio environment. If not give the rebuild button a try or leave a comment below (with console output if you can).

Screenshot from 2019-08-27 21-40-40.png

Using Hyper-V to Emulate EFI

QEMU and OFMV are nice on linux but how about using Hyper-V to test EFI development in windows? While developing some EFI modules in Rust I wanted to test them on my primary windows enviornment without a lot of jumping through hoops. I have a hyper-v vm with windows 10 installed my EFI application will end up being a bootloader for so why not use that VM as my development platform? After installing windows on a Gen2 Hyper-V VM if you look at settings->firmware you’ll notice that the first boot item is specifically targeting a Microsoft provided boot manager. I my case I’d rather boot a shell and go from there.

Boot up Windows in your hyper-v vm (efi-dev), open admin powershell, and mount the system partiton:

mountvol s: /s
cd S:\EFI\

Now lets copy in some efi files to run. I had copied my built files over to the VM in the C:\dev\efi-shell\ folder. To copy them to the system partition:

mkdir test

cd .\test

copy C:\dev\efi-shell\shell.efi .\

bcdedit /set "{bootmgr}" path "\EFI\test\shell.efi"
bcdedit /set "{bootmgr}" description "shell"

You should now be able to reboot the system in the efi shell! You can verify in the host Hyper-V manager by looking at the Firmware-> Boot Order. You should see shell.efi as the value for the file boot entry and if it’s not for some reason move it to the top of the boot order.

To get back to windows from the shell:




Climbing Monserrate

Monserrate is one of the staples of a trip to Bogota.  It's a church resting another 2000 feet above Bogota around 10,341 ft and offers the best view of the city sprawl.  There are three ways you can take to the top of Monserrate, a funicular, a cable car or hike it.  The trail is more a conatntly ascending flight of stairs that wraps around the mountain in 2.5km.  It is renowned as a difficult march, especially for those not acclimated to the altitude.  After reading stories of footballers running up the mountain in 20 minutes and the Easter Sunday pilgrimage made by many on their knees we decided we were up to the challenge.

To get us to the entrance, the hostel booked us some transportation which arrived in the form something like a moped with a cart attached to the tail end of it.  Winding up the short climb to the mountain, much to the disdain of the taxis trying to make their fares, the struggled and slowed to the pace of a brisk run.  The driver asked us along the way if we were taking the cable car or the funicular and gave us advice to take either when we responded "camminar."

It wasn't long into the ascent when the frequent breaks started becoming a necessity.  Our breath seemed to return as quickly as it was dispersing but I guess that's the effect of altitude.  About halt way up the mountain you run into an interesting little string of shops and huts.  They appear to be mostly lived in, and sell a variety of drinks and snacks for that extra boost to get you top of the mountain.  We passed on our ascent, but the ripe red watermelon caught Kims eye.  In the village there was a lone donkey I would have to guess plays a large roll in keeping the little village stocked.  From the huts on the trail kicks the ascent into high gear and we were making progress in what seemed like 100ft chunks... on path that resembled a beautiful stone walk way leading to a house.  It was a little embarrassing, but at least you could play off most of the pauses as opportunities to gaze out at the ever expanding view of Bogota that was unfolding as you climbed.

The trail carries a bit of a past history of violence and muggings.  Most travel guides recommend a Sunday ascent as it's likely to be more busy and should carry an increased police presence.  I think that there must've been huge efforts to clean this up in recent years.  Even on a Monday we were regularly passed by armed police patrolling and a fair number of locals out making the hike as well.  There seems to be a common thread of warnings of security and muggings online up until around 2011 and has mostly died out since then.  I won't say I was always totally at ease around some of the metro's in Bogota, but short of one incident with a beggar being a bit too persistent I never felt threatened in anyway.

Once we had finally ascended the the last step of the mountain you are greeted by a white stone church in front of you and the city expanse to your back.  It was a common scene of groups exchanging the usual courtesies of taking photos for each other with the view behind.  After snapping a couple ourselves we hunted around for food a bit amongst the gift-shop like set of stalls found behind the church and settled once again on a couple of empenanadas and a pastry.  I'm definitely going to miss the readily available hot and delicious empendadas you seem to be able to get just about anywhere in Colombia.

We hoped to catch the cable car down the mountain but the ticket shop was closed... If you had purchased your ticket at the bottom you were fine, but we were stuck with the hike down. 

A little recovery at the hostel and we decided to take it easy and check out a bit of art at a local  museum, the Musesem De Bortero.  Botero stands as probably the most recognized artist from Colombia and has a history of being extremely generous to museums in the country.  His art is most easily recognized for it's "volume."  Once again google was about 4 blocks off on the location of the museum but a couple of questions and got us there in plenty of time for a leisurely stroll through the collection.

Full up on art for the time being and lacking in the food department we walked around the city a bit stumbling past some kind of police/military demonstration taking place at the capital. After strolling through the town for a while we stumbled back by the hostel and caught a recommendation for some pizza near the intersection of calle 14 and carerra 2.  I'm sure sure if was the miles that day, but the pizza was incredible.  Enjoyed on the street in front of the shop, it was just the right thing.

Bogota, from La Candelaria to Usaquen

Trying to further immerse ourselves in Bogota culture we set out to find the Usaquen Flea Market.  It's a local event, and supposedly a great place for street food and handmade gifts to stock up on.  Mildly fretful of the random taxi experience and wanting to be as authentic as possible, we decided to take the Bogota TransMileneo bus system.  A little googling showed we'd be doing some walking between our end points and the metro stations but nothing looked too terribly far.  After spending a while investigating the TransMileneo website, we thought we had a grip on the main routes and how they worked.... until we made it to the actual station.  Awash in letters, numbers and Spanish we struggled to grasp, we eventually put the pieces of the map together and headed north carefully watching for our stop.  Colombians certainly have no qualms about packing out public transit and between several of the stops there was barely room to move.  In the state, the stops would entail a crushing coming and going of the tide of passengers trying to enter and exit all at the same time.

When we finally arrived at our destination, we hopped across a pedestrian bridge.  As we started counting down street numbers we realized we had signed on for quite a hike and in sun we weren't expecting. Weather Underground consistently called for rain, and I faithfully hauled my jacket and Kims Umbrella everywhere we went, but really, I should have been focusing more on the sunscreen.  As the hike continued and the sun beat down, we started getting nearer our google guided target but, nothing seemed to really be fitting the description of excellent cafes and restaurants, a beautiful park, and a flea market.  We rounded the last corner and knew immediately we weren't where we wanted to be.  It Kim's linguistic skills to the rescue with a local pair returning from the grocery store who pointed us the right direction but warned that we were visiting on election day, and there likely wouldn't be the usual festivities.  Miles from the metro and hungry we decided to try out luck and see what the park had to offer. 

As we neared the election became evident.  There were lots of military police and police patrolling and queues of people lining up to place their vote.  A strong military presence is always a little jarring when your away from home, but I think more than anything it's all about showing presence and maintaining order. I have yet to see even the hint of the police being more engaged in anyway that presence.

Sure enough when we reached the square it was void of the usual flea market but there was still a feeling of a Sunday communal gathering.  A street performers showing off his perfectly trained dogs and restaurants lining the square occupied the attention of those gathered.  We ducked into "Tienda La Cafe" at the recollection of some decent trip advisor reviews.  Before I had even a chance to digest the menu, Kim ordered a Colombian classic "Ajicoa" a traditional soup of chicken and potatoes in a cream broth with a side of avocado, rice and capers to be added at will, with a coconut topped lemonade to drink. I was forced into a snap decision that started on the wrong foot; no Cube Libre. As a matter of fact, no alcohol, it's election day...  Totally thrown off at that point, my Spanish speaking abilities don't expand anywhere past the conversation going exactly as planned, I can't recall what the name of the plate I ordered was but it came out as a heart attach in cast iron.  Flank steak, chicken, chorizo, fried baby potatoes, a massive french fry and two corn tortillas smothered in a bath of cheeses came out sizzling and ready for it's assault on my arteries.

Stuffed to the max, we started the long trek back to the TransMilenio.  About half way there was a mall we decided would be a reasonable stopping point.  Kim looked around for some clothes and expertly navigated talking to the extremely tolerant attendant at the MoviStar booth netting us a sim card that at least allows for calls locally (hostel, taxi's etc.) and occasionally allows for data.

An uneventful walk back and a successful metro ride back to La Candelaria we turned into the hostel.  Maybe I'll elaborate more on dinner at El Gato Gris later.. but for the most part, it was an uneventful and mildly disappointing salad in a romantic little nook with some decent live music in the background.





Traveling to Colombia, Starting in Bogota

It's always appreciated when the travel gods grant a smooth flight, and ours down to Bogota was about as smooth as it gets.  At a fault of our own we about missed the flight out of Miami by not watching my watch close enough but a call from American got us moving in short order.  The scene as you fly into the Andes surrounded Bogota is an impressive one.  Bogota sits in a plateau bowl at little more than 8600ft high and with peaks reaching up another 3000 around it.  The city of 6.6 million sprawls out before you as you come in, colliding urban sprawl with the lush vegetation of the steep sides of the surrounding mountains.  Typically large cities, at least in the states seem to sprawl forever tapering into suburbia before making it to the country or waters edge or desert.  The contrast of void, lush green surroundings to urban mecca is a unique one. 

We touched down around noon and caught a cab across the city.  In San Jose, Costa Rica we were greeted by an anything but professional looking secondary taxi market, so I was surprised at the suit and tied cohorts trying to steal us away from the ready and waiting queue of official cabs.  Despite the warnings and online stories the cabby was as honest as they come.  The meter was on the second we got in the car and despite some election weekend road closures we were at the hostel within a few quarters of the hostels estimate. 

Once we were parked and unpacked we headed out to see what the surroundings were like.  Being the person I am the first thing I asked for was the nearest place to buy a SIM card.  We set off down toward Carerra 7 and discovered a street alive with street performers, street food and vendors for every knick-knack you would ever desire.  The street performers ranged from painted up clowns telling soap opera like stories using the crowd to a Michael Jackson impersonation in white face, a black hat, and a slick moonwalk. Sadly, as quickly became a reoccurring theme,  our directions led us about a block off to the west and north of the Claro store and we gave up.

While on my search for connectivity we stumbled by the bus station for the Museum Del Oro and decided to get out of the sun for a few and see what the Museum had to offer.  Stuffed with relics of the days past and an bit of context for where they came from and why, it was well worth the 6.000 pesos (3 dollars) and hour of our time.

With breakfast  hours behind us and miles on our legs we made a pit stop on our way back to the hostile for the most notable of Colombian street foods, some empanadas. There seems to be a stall for these stuffed and fried pastries about every hundred feet and I have yet to stumble across any that were anything but delicious.

After a little down time on satiated stomachs and an early start to the day we headed out to find some dinner.  After wandering around the still raging street extravaganza on Carerra 7 we broke off into some unexplored and all but vacant streets not to far from the hostile and settled on a small restaurant called Restaurante Civitas with a quaint feel. Our waitress was smiling ear to ear the whole time and  was incredibly accommodating of or utter lack of Spanish.  After street food for lunch a meal that would have been at home in the streets of Asheville was a welcome way to close out the day.