Using app encryption in Jelly Bean

Paid apps in Google Play are now encrypted with a device-specific key before they are delivered and stored on the device. This article discusses Android app encryption details, a new feature introduced in Jelly Bean (Android 4.1). The article shows how this encryption works and how you can encrypt and install apps "manually".

How to deodex an odex file

In the latest version (v1.4.0) of baksmali the process has been greatly simplified:
baksmali -a <api_level> -x <odex_file> -d <framework_dir> -o <output_dir>

smali - assembler/disassembler for the dex format used by Dalvik

"smali/baksmali is an assembler/disassembler for the dex format used by dalvik, Android's Java VM implementation. The syntax is loosely based on Jasmin's/dedexer's syntax, and supports the full functionality of the dex format (annotations, debug info, line info, etc.)"

How to get around the dreaded "This app is incompatible with your ..." message in Google Play Store

Let me warn you in advance: this is not going to be easy. If you're afraid you might brick your phone/tablet, don't even start. That said, it's really not too hard either. Smile You just have to be the tinkering type and it doesn't hurt if you already know your way around flashing a custom recovery ROM, using ADB, etc.

How to view the HTML source of a page in Chrome for Android

Save the following JavaScript as a bookmark (ie. bookmarklet):'view-source:' + location.href)

To use it, load the website of your choice, then start typing the name of the bookmarklet in the address bar and click it once the full name appears (via autocomplete).

The problem with Android and MTP

It's no news that USB mass storage support got stripped from Android (I'm not quite sure ... either in 3.* or in 4.* versions). This change introduced a number of advantages over the old way, but at the same time a quite serious and longstanding bug surfaced with it: sometimes (or whenever ...) you change something in the filesystem on your phone, the change will not be reflected on your computer when you connect the phone via USB. The problem is obvious, the solution is apparently not. This bug has been annoying users for years and is still not fixed. Since Google focuses on developing the "next big thing" Smile, many serious bugs take a very long time to get fixed. Obviously these bugs affect only a minority of the Android userbase ... but it's usually the more advanced (or geeky) smartphone owners who "pay the price".

Filenames and Pathnames in Shell: How to do it correctly

A pretty interesting writeup. A must-read if you don't know how to handle filenames with control characters (eg. newline) in them correctly. David wrote another (even longer Smile ) article on how to fix the problem of handling filenames by changing standards, operating systems and/or tools.

My choice from the proposed solutions is this one:
find . -print0 | while IFS="" read -r -d "" file; do
  COMMAND "$file"

How to print/verify the signatures (and/or certificates) of an Android package (APK file)

First extract the contents of the APK. This is easy since an APK is essentially a ZIP archive. If you don't know any better way, you can always rename the APK to a ZIP extension and extract it's contents the same way you'd extract a ZIP. On a Unix/Linux box you can use unzip:
mkdir Example
cd Example
unzip ../Example.apk

How to emulate Unix’ getent with MacOSX’s dscl

I've used dscl before, but since I use it at most once a year, I already forgot about it. It's time to write it down ... maybe it'll stick in my mind for longer this way. Smile
To look up a user by UID:
dscl . -search /Users UniqueID [uid number]
To read a users properties/attributes (like HOME dir, shell, etc.):
dscl . -read /Users/[username]

Some Best Practices for Web App Authentication

I probably couldn't have written it any better, so it's worth to be shared. Smile

Syndicate content Syndicate content