Congratulations to Cicadaman & co. for getting Froyo running on the Nook Color! Visit the nook Color portal!
See Rooting new hardware FIRST if you have a nook original with a 1003* serial# or above.

The Daily Minus Dave

From nookDevs

Jump to: navigation, search

I think it's absolutely ridiculous you can't get rid of this, whether you bought a nook last december or yesterday, the Dave Barry article is always first on the list. I got so tired of seeing it I decided to get rid of it, and I did.

Contents

Download URL

http://www.multiupload.com/YI5Y37XPHU


Instructions

Wherever you ADB from, type:

 adb shell

Then in the ADB shell:

 su
 rm /system/app/TheDaily.apk
 pm uninstall com.bravo.thedaily # This should return success
 exit

Then back in your original console:

 adb install TheDailyMinusDave.apk


Enjoy a Dave Barry-free nook.


Reversing Tutorial

Items Needed

  • A rooted nook
  • apktool ()
  • Android SDK


Using the SDK, we'll want to grab the APK file first using ADB.

 adb pull /system/app/TheDaily.apk


Then We'll want to use apktool to disassemble the java bytecode

 apktool d -r TheDaily.apk


Then we'll want to go into the newly created directory

 cd TheDaily

Then into the smali folder

 cd smali

Now we need to find this annoying Dave Barry reference:

ben@server:~/TheDaily/smali$ grep -R "Dave" *
com/bravo/thedaily/Daily.smali:    const-string v5, "Dave Barry explains nook.  Sort of."
com/bravo/thedaily/Daily.smali:    const-string v8, "Dave Barry"


There it is!

We then open up the com/bravo/thedaily/Daily.smali in a text editor and find "Dave Barry"

Going to the top of the function where we find "Dave Barry", we see it's in a method called "createCannedList"

That seems like exactly the sort of thing we want to remove, so we search the smali for references to "createCannedList"


Here it is!

    .line 313
    :goto_0
    :try_start_1
    invoke-direct {p0}, Lcom/bravo/thedaily/Daily;->createCannedList()V
    :try_end_1
    .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_1} :catch_1

Now all we have to do is remove that invoke-direct line, and Daily.createCannedList() won't be called, and therefore NO DAVE BARRY!


Now we need to re-package up the APK.

 apktool b TheDaily TheDailyMinusDave.apk


We'll create a key for signing the APK using the JDK:

 keytool -genkeypair -v -keystore blah.keystore  -alias blah -keyalg RSA -keysize 2048 -validity 10000


Enter information, doesn't really matter if it's real or not. This will create your keystore you'll use to sign the APK. Now let's sign the APK.

 jarsigner -keystore blah.keystore TheDailyMinusDave.apk blah

After entering your password, you should now have a valid APK file. You could use zipalign on it, but we're going to skip that step. Now we want it on the device.

B&N apps are installed to /system/app and for some reason I can't uninstall it unless I delete the apk first, so here's what I do

 adb shell

In the shell I do

 su
 rm /system/app/TheDaily.apk
 pm uninstall com.bravo.thedaily
 exit


Back at my console prompt I can then ADB install the new APK and it's Dave Barry free!

 adb install TheDailyMinusDave.apk
Views
Personal tools
  • Log in / create account
Navigation
nookDevs Team
miscellaneous