Guys, I've speculated for some time now (in various posts) that freezing an app involves removing the execute bit from the .apk.
This is clearly not correct

.
I tested freezing and thawing one of my apps and watched its permission bits and they remained unchanged--in fact, the execute permission bit are not even normally enabled. This does make sense to me now, since its really the Dalvik virtual machine that is reading your .apk (or really, the .dex or .odex file) in as input, so the execution permissions are not even relevant with regard to an .apk file.
So, how does freezing and thawing actually work? I re-did my tests above while running
logcat and saw calls/invocations of the Android package manager APIs. Then, I looked in the Package Manager API documentation (
PackageManager | Android Developers) and see a method,
setApplicationEnabledSetting(), which appears to be the function that does or can do this (although there is also
setComponentEnabledSetting() which might work too).
I was going to post a simple set of commands for chmod'ing the permission bits using a shell via a terminal emulator or the SDK, but it looks like renaming or deleting is the closest you can come to doing this from the command line.
There is, apparently, a
free app that will allow you to freeze apps,
Gemini App Manager:
https://market.android.com/details?id=com.seasmind.android.gmappmgr
which I read about in this article:
[Android, Root Required] Tip: Punch bloatware in the face by