Tuesday, December 20, 2011

How to Change Window 7 Password without Knowing Current Password:

Method 1:

  • Go to Control Panel and click on the Administrative Tools.
  • Under this section double click on Computer Management.
  •  Select  System Tools from right window pane.
113 How to Change Windows 7 Password without Knowing Current Password
  • Under this, just double click on Local Users and Groups and then on Users
  • Now you will see all the login accounts of your computer. Right click on any the account whose password you want to change and then click on Set Password.
123 How to Change Windows 7 Password without Knowing Current Password
  • A warning message will popup on your screen just click on Proceed button.
131 How to Change Windows 7 Password without Knowing Current Password
  • Now enter your New Password  and click on OK button.
141 How to Change Windows 7 Password without Knowing Current Password
That’s it! your windows 7 password is changed without knowing current password. The only limitation of this method is that your current  account should  have Administrative privileges.

Method 2:

If you love to be work on Command Line then this method is for you.
  • Open command prompt by typing with administrative privileges .( Type CMD in start, right click on it and select Run as Administrative )
151 How to Change Windows 7 Password without Knowing Current Password
  • In the CMD window  type the following command and  hit Enter
net user Account Name Your New Password
In this command replace Account Name by the account name (Account Name is case sensitive) whose password you want to change and replace Your New Password by the password that you want to set.
161 How to Change Windows 7 Password without Knowing Current Password
  • Now if everything goes alright  you will see “The command completed successfully” on your screen, now type exit command and hit Enter
This will reset your current windows password.

Monday, December 19, 2011

Droid Explorer 0.8.8.2 Beta



Manage your rooted android device with the simplicity of Windows Explorer

The Droid Explorer application was designed to be a small tool to manage your rooted android device with the simplicity of Windows Explorer.


Features

Multiple Device Support
Copy and auto-apply update.zip
Copy local files to device
Auto detection of connected/disconnected device
APK file icon and extended information
Device command shell window
Reboot device
Reboot device in to recovery mode
Open files for viewing / execution locally with the default file type executable
Drag & Drop file copy from Explorer
Flash Recovery Image
Package Manager (Install & Uninstall)
No need to mount SD card to access files from computer
Access files in other directories besides SD card
Copy files from device to local clipboard
Paste files from local clipboard to device
Open files on local machine
Display open with dialog to specify what to open a file with
Right click APK and Uninstall
Right click APK and Install
Delete files from device
Take a Screen Shot (landscape or portrait)
Plugins can register as a component to open files
Open from within Computer
Should now work with more ROMs as long as they are Rooted and have busybox
Device "Friendly Name" instead of device serial number.
Android Screencast Plugin - Control your android device with your mouse and keyboard
Install/Uninstall APK files right from explorer
Standalone plugin runner (will mainly be used for windows 7 jump lists and the apk installer but can be used to run any plugin.
Better Hero Support
Backup the "Google Experience" applications and creates an update.zip containing the applications
Use an existing Android SDK with Droid Explorer, or let Droid Explorer set up the SDK for you.



Device Requirements

Rooted Android Device with busybox

PC Requirements

Windows (looking for a developer to help create UI for mono)
.NET Framework 3.5 SP1
Some plugins require Java Runtime Environment and Java Web Start


I'd like any thoughts you may have for other features to add to Droid Explorer. Report bugs or request features here or on the project issue tracker.

Web Installer (x86)
Requires internet connection to download android sdk tools
x86 Serivce will not work on x64 OS


Web Installer (x64)
Requires internet connection to download android sdk tools
Use this install if running a 64 bit OS

Thursday, December 8, 2011

Modifying Samsung Splash Screens (Galaxy S Series + SGS2)

Samsung Galaxy S
How to Modify/Change the Samsung Splash Screens (FULL MANUAL METHOD!) - PART ONE
The following is a two-part guide (this is part one), which will teach you exactly how to modify the splash screen on ANY of the Galaxy S series devices (Captivate, Vibrant, SGS4G/Vibrant 4G, Fascinate, Exhibit 4G, Epic 4G, & SGS2)
Firstly, before I explain HOW to do this, you're going to need a bit of a background as to what exactly it is that you're going to be doing. The changes we're going to be making are two-fold, as the one splash-screen that you think you see, is actually two identical images, back-to-back. 
Image 1
The first image is a simple jpg, located in a hidden directory in the root of your device. 
Image 2 
The second image is a specially formatted and modified image, that will require the use of certain tools, and the ability to build a kernel. If you're not comfortable with building a kernel from source, then I suggest you stick with Image 1. A guide on building kernels for Samsung devices can be located by searching our site.



Image 1 Guide - param.lfs

Pre-requisities

- The device must be ROOTED
- You must have a HEX editor installed on your computer (I recommend HxD - free)
- You must be capable of following simple instructions
- Familiarity with, and an installation of, ADB.
Method

- The first thing we're going to do, is pull an entire directory from your device. This step can be skipped if you already know the name of the jpg image which needs replacing on the device. Simply run the following in cmd/terminal (ensure that you change the directory format for Linux/Mac):
adb pull /mnt/.lfs c:\whatever
- Now, open up that folder on your computer, and look through the images until you find the one which you see on each boot. Make a note of it's name. Let's say, for argument's sake, that it's Logo.jpg.
- Open Logo.jpg in the photo-editor of your choice (Photoshop/Gimp) and create your new image. Do not alter the size (in pixels) of the image. It should remain 480x800.
- Once you've designed a splash screen you're happy with, save it to the same directory you have adb installed (platform-tools, most likely).
- Now, we're ready for the fun bit! In cmd prompt/terminal, type the following (ignore $ and # from the text below, this is just to indicate level of access):
adb shell
$ su
# dd if=/dev/block/stl6 of=/sdcard/param.lfs bs=4096
IF THAT DOESN'T WORK, use the following path:
# dd if=/dev/block/stl6 of=/mnt/sdcard/param.lfs bs=4096
- You have just dumped the param.lfs partition, which contains the images we want to edit. As it stands right now, this folder is read-only, and root access does not change that. So... we're going to modify it ourselves.
- Copy the newly acquired param.lfs file from the SDCard to your computer, leaving a backup on your SDCard.
- Open the file in HxD (or the HEX editor of your choice), and do a FIND (CTRL+F) on the full name of the image (Logo.jpg, for example). 
You will find a result like this:


 
- Simply change the highlighted hex values (highlighted in blue) to 00's. See the below image of how it should look:

- FIND again, until you have done the same for EVERY reference to Logo.jpg. TAKE CARE NOT TO GO TOO FAR WITH 00's. Only change what is highlighted!
- Now save param.lfs, and prepare to flash it in DOWNLOAD MODE.
- Using Heimdall (much easier), type:
heimdall flash --param /location/of/param.lfs
ALTERNATIVELY:
Build into an ODIN flashable tar (see our guide on this website) and flash using ODIN.
- You will notice after flashing, that your splash screen image is a download-mode image. Don't worry about that. We will be sorting it next.
- When the phone boots back up, connect it to the computer, and flash the new logo like so:
adb push Logo.jpg /mnt/.lfs
adb reboot
Congratulations - you did it! See our Part Two guide for how to change the kernel image.
 

How to Sign APKs/ROM ZIPs

Android Sign
Typically, Android APKs/ZIPs need to be signed, so Android can verify that nobody has modified the code before the apk/zip is installed. When you modify the contents of an apk/zip, you break the signature so you have to resign it. You can either do this with ‘test keys’ or ‘private keys’.
While developing and testing, you should use test keys. This creates a random key based on a known password. Most ROM devs use testkeys as it is much easier, however there are dangers of doing this.
When the apk is ready for release, you should use private keys. This means that nobody else can impersonate your key (unless they know the password), so people can be sure that it’s coming from you and that nobody has modified it. Private keys are much more secure, however it is a bit harder to sign this way.

Sign with Test Keys

This is the easier method by far, and the best way to do it is to grab ZipSigner from the market, then put your apk on your sd card and tap ‘Choose In/Out’ in the app. Then leave ‘Key/Mode’ on auto, and tap ‘Sign the File’. Once this is complete, you should have a signed apk/zip in your SD card.

Sign with Private Keys

If you are using Eclipse with the ADT plugin setup correctly, you can use the Export wizard in Eclipse to create a private key and sign your app.
If you are on Windows download OpenSSL and extract it somewhere on your hard drive like C:\signapk. Linux/unix/Mac users do not need to do this.
- Now download SignAPK and extract it to C:\signapk (or /home/user/signapk for linux)
- Put the apk/zip you want to sign in that folder too
- Now we need to generate some keys:
Windows: Open a command prompt and type:
cd \
cd signapk
Linux/Mac/Unix: Open the Terminal and type

cd ~/signapk
Now type the following:

openssl genrsa -out key.pem 1024
openssl req -new -key key.pem -out request.pem
openssl x509 -req -days 9999 -in request.pem -signkey key.pem -out certificate.pem
openssl pkcs8 -topk8 -outform DER -in key.pem -inform PEM -out key.pk8 -nocrypt
java -jar SignApk.jar certificate.pem key.pk8 Application.apk Application_signed.apk
(Replace italic items with your apk/zip filename)
You can also just run the last command to sign a new apk with your previous key.
Your apk/zip is now signed with your private key and ready to publish! :D

How to Manually Enable CRT Animation

CRT
The CRT animation is disabled by default in most Android builds that aren't strictly Vanilla. Luckily, turning it on is a relatively simple process, but does require a little hacking. Still, if you have the tools set up, it's a two minute job!

Requirements

- Working ADB setup - SDK (GUIDE HERE)
- Working apktool setup (GUIDE HERE)
- Text editor (Notepad ++ or similar)
- About 5 minutes of your time



Method

1. Start by pulling framework-res.apk off your phone by opening up a command prompt and typing:
adb pull /system/framework/framework-res.apk
2. Next we need to decompile the framework. To do this we need apktool. From the same command prompt or a new one, type:
apktool d framework-res.apk
d means decompile. You can add a path to it if you want it to end up in a specific folder, by adding it to the end of the command “apktool d framework-res.apk folder_name” else it will end up in a folder named “framework-res”.
3. Open up the folder framework-res and navigate to res/values/ and open up the file bools.xml.
4. Search for “animateScreenLights” and change its default value of true to false.
5. Save and close the file.
6. Back to the command prompt, type :
apktool b framework-res framework-res-new.apk
7. VERY IMPORTANT : Add “-new.apk” so you know what you're looking for. Generally it is not a good idea just to push this build framework file back to the phone. Instead, open both the framework-res.apk and framework-res-new.apk and copy the Resources.arsc from the NEW one to the old one. You can pull framework-res.apk to another location on your hard drive, or copy it before pulling the file to ensure you have a backup. 

8. Now to send it back to your phone using the command :
adb push framework-res-new.apk /system/framework/framework-res.apk
You may need to mount system as read write to push the file. In order to to do this, do:
adb shell
su
cat /proc/mounts


Locate /system in the list, and make a note of the mount point. It will be something like: mmcblk0p1, mtdblock1, stl9, etc. After, type:
mount -o rw,remount /dev/block/MOUNTPOINT /system
(There are loads of variations of this command knocking about, which over complicate it. This is all you need to type for pretty much any device. 
If everything worked okay your phone should now boot and should display the CRT OFF animation when you turn off your screen. If it does get stuck in a boot loop or if you get warnings/errors when you compile something went wrong. Try a data wipe, or restore the backup. If you did get warnings/errors you might have to add your phones framework to apktool (see the apktool guide on this site for an explanation).

How to install and set up the Android SDK

Android SDK and AVD Manager
The Android SDK (Software Developer's Kit) is a software suite intended for developing software for Android devices. The SDK, however, is not only useful for developers; it provides an easy way to access your device from a computer, and makes simple tasks such as installing applications that much simpler. In addition, it can also be used for more complex Android firmware development tasks. 
To use the Android SDK, you need to install it to your computer. Below, we outline the necessary steps to install the SDK to your Linux, Mac OS-X or Windows PC.

Before you begin:

- Ensure you have the Java Development Kit (JDK)
- and that your computer meets the minimum system requirements

Download the SDK Starter Package

The Starter Package downloads the basic SDK tools necessary to download the rest of the SDK. Download it HERE.

Download Other Components

Windows: Double-click the SDK Manager.exe file at the root of the SDKdirectory
Mac/Linux: Open a terminal and navigate to the /tools directory in the SDK then execute:
./android 
By default, there are two repositories of components for your SDK Repository and Third party Add-ons.
The Android Repository offers these components:
SDK Tools (pre-installed in the Android SDK starter package) - Contains tools for debugging and testing your application and other utility tools. You can access these in the /tools/ directory of your SDK and read more about them in the Tools section of the developer guide.
SDK Platform-tools — Contains tools that are required to develop and debug your application, but which are developed alongside the Android platform in order to support the latest features. These tools are typically updated only when a new platform becomes available. You can access these in the /platform-tools/ directory. Read more about them in the Tools section of the developer guide.
Android platforms — An SDK platform is available for every production Android platform deployable to Android-powered devices. Each platform component includes a fully compliant Android library and system image, sample code, emulator skins, and any version specific tools. For detailed information about each platform, see the overview documents available under the section "Downloadable SDK Components," at left.
USB Driver for Windows (Windows only) — Contains driver files that you can install on your Windows computer, so that you can run and debug your applications on an actual device. You do not need the USB driver unless you plan to debug your application on an actual Android-powered device. If you develop on Mac OS X or Linux, you do not need a special driver to debug your application on an Android-powered device. (See Developing on a Device for more information about developing on a real device.)
Samples — Contains the sample code and apps available for each Android development platform. If you are just getting started with Android development, make sure to download the samples to your SDK.
Documentation — Contains a local copy of the latest multiversion documentation for the Android framework API.
OS Specific Instructions

Windows

1. Download the latest Android SDK.
2. Unzip the package to the root of C:\ or run the executable.
NOTE: This will output a folder called "android-sdk-windows".
3. Open up the android-sdk-windows folder and launch the SDK Manager.
4. When you launch the SDK Manager for the first time it will ask for which packages to install. The only package we are concerned with at this time is "Android SDK Platform-tools, revision 4". You can reject all the others if you are not interested in them.
5. Once that is finished, you will need to install the USB drivers included with the Android SDK.
a. Click on"Available Packages" on the left.
     b. Expand "Third party Add-ons".
     c. Expand "Google Inc. add-ons".
     d. Check "Google USB Driver package, revision 4".
     e. Installed Selected.
6. Once that's finished installing, you can close the SDK Manager.
7. Go to the Control Panel, and select the System Properties (Windows XP) or System (Windows Vista/7).
8. Select the Advanced settings;
- Windows XP: Click on the Advanced tab.
- Windows Vista/7: Click on Advanced system settings on the left.
9. Click on Environment Variables.
10. Under the "System variable" section, you will look for "Path". Double-click on it.
11. In the "Variable values" section, add at the very end the location of the tools & package-tools folder, with a semicolon separating these two paths from the rest, e.g. %SystemRoot%;C:\android-sdk-windows\platform-tools;C:\android-sdk-windows\tools.
12. On the device, ensure that USB Debugging in enabled (Settings » Applications » Development).
13. Plug the device into the computer via USB cable. The computer will attempt to install the drivers automatically.
14. On success, open the command prompt on the computer, and type in the following command to sure everything is setup properly:
adb devices
15. If it lists any devices, everything is fine and you are finished. If not, the drivers may not be installed correctly, please continue.
16. Open the Device Manager.
     a. Right-click on My Computer (Windows XP) or Computer (Windows Vista/7).
     b. Click on Manage.
     c. Click on Device Manager on the left.
17. You will probably see Unknown Device with ADB listed under it with a yellow exclamation mark.
18. Right-click on ADB.
19. Click on "Update Driver Software".
20. Click on "Browse my computer for driver software".
21. Click on "Let me pick from a list of device drivers on my computer".
22. Click on "Have Disk".
23. Click on "Browse".
24. Navigate to "C:\android-sdk-windows\google-usb_driver" and select "android_winusb.inf".
25. Click on "Android ADB Interface".
NOTE: You will get an Update Driver Warning, click on "Yes".
26. Once finished installing the driver, open the command prompt on the computer, and type in the following command to sure everything is setup properly:
adb devices
27. If it lists any devices, everything is fine and you are finished. If not, you may have further issues and will have to do further research on your own.

Mac OS X

Installing the Android SDK
1. Download the latest version of the Android SDK
2. Unzip it and move it where needed
unzip Downloads/android-sdk_r09-mac_86.zip -d~/bin
3. Open Terminal.app (in /Applications/Utilities)
4. Edit ~/.profile and append
export PATH=~/bin/android-sdk_r09-mac_86/platform-tools:~/bin/android-sdk_r09-mac_86/tools:$PATH
5. Load new .profile
source .profile
6. Run Android SDK Manager
android
That's it - you're all done!

Basic Linux/Unix Shell Commands - Android

This guide aims to give you a background on some of the linux commands available to you once you obtain an adb shell. In order to obtain an ADB shell, you must have adb set up on your computer (all ADB really consists of in windows is adb + 2 dlls + adb drivers. However, it makes sense to fully set up the Android SDK if you plan on developing for Android. To do that, visit this guide: http://www.freeyourandroid.com/guide/install_android_sdk
 NOTE = All commands in linux/unix are CASE SENSITIVE.

cd - Change Directory

To change to any directory, simply type:
cd dirname 
dir name is the path. For instance, to switch to system/etc, type:
cd /system/etc
'..' will allow you to go back one directory. In our example, typing:
cd ..
would take you back to /system

ls - List Files

To list all the files in whatever directory you're in, simply type:
ls
pressing enter after, of course. This will list all NON-HIDDEN files/directories.
ls /system/etc
will list the contents of system/etc
ls -l 
will list all NON-HIDDEN files in your current directory with additional details
ls -a 
will list all files/directories(including hidden) within your current directory

su - SuperUser

The standard adb shell (unless you're on an insecure kernel/ramdisk), will be a non-root shell ($)
To obtain root priviliges (if your phone is rooted), simply type:
su
on obtaining superuser priviliges, you will be presented with a # symbol, which represent a root shell.

chmod - Change Mode

The two most commonly used 'modes' you'll come across in Android are '777' and '755' 
These numerical pemissions have different meanings, of course. This can be a little confusing, so I hope this explains it in a simple to understand way.
As you can see, there are three numbers in the following example; 'chmod 755'
So, to break that down: The first number in the sequence, '7', represents the USER (aka, you). The second number in the sequence, '5', represents the GROUP (users who are members of the file's group) and the third number, '5' represents OTHERS (aka, everyone else). 
Now to explain why they are 755, and the significance of those numbers, see the following list:
7     Full
6     Read/Write
5     Read/Execute
4     Read Only
3     Write/Execute
2     Write Only
1     Execute
0     None
So in the instance of 777, you can see that USER, GROUP and OTHERS have FULL access to the file in question.
To change the permissions of one file (apns-conf.xml for example, type:
chmod 777 /system/etc/apns-conf.xml

To change the permissions of all files in a directory, use the -R (recursive)option:
chmod 777 -R /system/etc

pwd - Print Working Directory

Couldn't be more simple. if you want to find out which dirctory you're currently in, type:
pwd
and press enter. 

cat - Concatenate (evolved from)

The cat command if used to list a file's contents on your screen; or pass via pipeline to use with other Linux commands. 
cat /proc/mounts
will output the various mount points in your android OS. 
Note that there are many other uses for the cat command. It can be used to copy files, for example. 

dd - Data Dump

This one's useful if you're ever looking to dump your ROM/kernel, etc. After you have run cat /proc/mounts (above) and have a su (#) shell, you can dump system in the format of its current file system to your SD card. Let' say system is on mmcblk0p1 (/dev/block/mmcblk0p1). Type the following:
dd if=/dev/block/mmcblk0p1 of=/sdcard/system.img bs=4096 

There you go - system.img is now on your SD card!

mount - As it says on the tin.

In order to mount system as read write, (using the output from cat /proc/mounts), simply type in the following:

su
mount -o rw,remount /dev/block/mmcblk0p1 /system
Note - you will see many variations of this. Just keep it simple like the command above. You don't need to specify the file system type, for example.

The Android Dictionary

If you're new to Android, you are likely seeing a lot of unfamiliar words being thrown about... from CID to RUU to ROM. This dictionary will help you understand what these words actually mean, and when you would expect to see them.
ADB
ADB (Android Debug Bridge) is a PC command-line tool included with the Google Android SDK.  ADB provides an interface for managing and debugging a USB connected Android device. Common ADB tasks include: *Collecting a log via logcat* Installing APK packages* Pushing or pulling files* Accessing the device shell.
For additional details about ADB please see the ADB guide.
APK
An APK is an Android application package (Android Package). It is commonly used to store an app, or program run on the device. These files are essentially zip files, in that they contain other files which make up the program. They can be obtained through various methods, such as installing an app through the market, downloading from a website, or creating yourself in Java. If you have an apk file on your computer, and wish to install it on your phone, you can run the command 'adb install apkname.apk' to copy the file over USB to your phone. 
The APK files reside on the phone in the directory /data/app/filename.apk. This directory is not normally accessible unless a #root|rooted ROM is used on the phone, in order to protect paid-for applications. On a rooted ROM, it is possible to copy applications manually into this folder using the command 'adb push' or similar. Once a file is in the /data/app directory, it is installed on the phone. There is not normally an installation process for apps on Android.
It is also possible to install an app to the system partition of a rooted phone. This has the added benefit that the application cannot be uninstalled from the device, making it useful for security/anti-theft applications such as WaveSecure and MobileDefense. These [[#system]] applications are stored in /system/app. The applications in this folder are normally part of the Android operating system, and should not be modified or deleted unless you either put the file there yourself, or know what you are doing.
APK files can be uninstalled using the market application (if the application was installed from the market), the 'adb uninstall apkname.apk' command, the Settings | Applications | Manage Applications menu, or by manually removing the files from the /data/app directory as a last resort. Normally, the preferred method is through the market or applications menu.
Bart
Bart is used from Recovery to backup your phone or to restore a backup.This basically creates an exact copy of your phone (Sdcard + Sd-Ext excluded, unless it says it will backup SD-Ext), which later can be restored with no losses in data.
Boot
In contrast to other linux-based operating systems, Android has a boot partition (containing the contents of a boot.img file), as opposed to a direct booting system. This partition contains a read-only 'ramdisk', and a couple of other files. The ramdisk contains files critical to booting, such as init.rc and default.prop. This 'partition' actually sets up the directory structure of the device, having empty folders for /data, /dev, /proc, /sbin, /sys and /system.
Bootloader
The bootloader, or HBOOT, is firmware on the phone which runs on every startup. 
Since the bootloader controls access to Fastboot, it can be desirable to change the version of the bootloader on a phone. The current version of the bootloader can be viewed by entering bootloader mode. To do so, turn on the phone with the back button held down. Release the back button after about 1 second. The version information will be displayed at the top of the screen next to the word HBOOT, and will appear in the form 'V1.76.0004' or similar.
From within the bootloader, Fastboot can be used to execute an img file stored on your PC or flash an img file to the device.
If your device has HBOOT version 1.73.007, it is no longer possible to use Fastboot, so it is often desirable to downgrade the HBOOT using the Goldcard method in order to get the 1.73.004 version, which is Security-Off, allowing Fastboot.
CID
The Carrier ID is a number embedded in your Phone's SPL that identifies what if your phone is a network branded Hero. For example, T-Mobile UK phones have a different CID to generic HTC phones. The CID prevents you from [[#Flash|flashing]] an 'incorrect' [[#RUU]] to your phone. Note that the RUUs will all function on any of the phones, but the CID locking prevents you from 'debranding' your phone by installing a generic [[#RUU]]. Additionally, the CID-related software also prevents you from installing an older RUU than what you are currently running.
It is possible to bypass the CID check on an [[#RUU]] using a [[#Goldcard]]. This pretends your phone has the 'Super-CID', which allows any branding of ROM to be installed, and allows you to downgrade the software on your phone.
Data
The data partition on the device contains the user-related data, such as installed applications and settings for those apps, as well as your SQLite database containing Android settings and messages. Normally, the directory /data/app is off-limits through the 'adb shell' command, as well as other terminal applications that can run on the device, since this directory contains the apk files for apps. On a rooted phone, using the [[#su]] command will allow full access to this partition. This partition can be flashed using Fastboot or Nandroid.
Ext
Ext is an abbreviation of the extended filesystem, one of the filesystems supported by Android and other Linux based systems.  An ext filesystem partition is required for using Apps2SD or Dalvik2sd.
Fastboot
Fastboot is a means to execute or Flash an img file on your device. First, set up your PC for ADB, and ensure that it works correctly. After putting your phone into Bootloader mode, and selecting Fastboot by pressing back (if you let go of the back key early), the device awaits a command via USB. 
On your computer, execute the command 'fastboot devices', which should display your device serial number. This confirms you are ready to use Fastboot. To execute (ie. run without changing your system) and img file, type the command 'fastboot boot imagename.img'. This command allows you to run a custom recovery image without flashing it to the device. 
If you wish to flash an img file to the device, the command 'fastboot flash IMGTYPE imgtype.img' should be used. Note that IMGTYPE should be replaced by the type of img file you are flashing. For example, to flash a recovery image, the command 'fastboot flash recovery patched_recovery.img' should be used. The following are valid types of image to flash; boot, recovery, system, 
Flash
Flashing is the process of writing data to the internal memory on your phone. Normally, you would flash a [[#ROM]] image to the phone, which would give you a different version of system software on your phone. Flashing can also refer to updating/writing to any of the other parts of the phone, such as the SPL, Radio etc.
Flash Memory
Flash memory, also known as NAND memory, is nonvolatile - keeping information even when the device is off. Flash memory in the device is equivalent to the hard drive in a computer. This is where the device's operating system (sometimes called firmware) and applications are stored. Flash memory is slower than RAM, but is (almost always) faster than SD cards.
Flashrec
Flashrec is an application/tool you use to flash the recovery image to your phone. (Found on http://zenthought.org/content/project/flashrec)All current firmwares are patched so you can not use flashrec on these, you will receive the error message "Could not run command"Most 1.5 (cupcake) firmwares can still use this, but some has been patched already.The current version is 1.1.3 and was updated 2009-08-16.Note: Do not flash cyanogen's theme templates after you have started the installed recovery image, this will brick your phone!
Goldcard
A goldcard is the name given to a specially modified microSD memory card for your phone that allows you to install software to your phone that is in an RUU file, but not from the same network provider as your phone is from. It does this by bypassing the CID check of the RUU update. Additionally, the goldcard allows you to install an earlier version of system software onto your phone than what is already on it (called downgrading). This can make it easier to root a phone and install a custom ROM on it, if the software installed on it at present cannot easily be rooted.
HBOOT
See Bootloader.
logcat
Using adb (see ADB), type in "adb logcat >logcat.txt". This will help us when resolving issues and bugs.There is also a tool in the market you can use for this, called aLogcat. It can show different categories (severity of errors ect.) too, adb logcat can not do this.
Market
The market on Android is a place where you can purchase or download applications for your phone in the [[#APK]] format. When you download through the market, the installation process is transparent (as in you don't have to deal with the APK files yourself), and there is the facility to rate apps and post comments which are visible to other users. Frequently, the developers of apps actually take onboard the feedback in the comments (mainly the smaller apps with slightly less feedback to sift through).
When an app is installed from the market, it is copied to '/data/app/apkname.apk', as the act of 'installing'. An app can store its data in the folder '/data/data/apkname'. It is possible to clear the data stored by an application by using the Manage Applications feature in Settings | Applications | Manage Applications.
Nand
See Flash Memory.
Nandroid
Nandroid is used to backup or restore backups from Recovery.You can chose to either do a regular backup (Phone only) or a backup + sd-ext (Phone + Apps2sd ext.)Both will backup your whole system, the second will include apps saved on your sdcard's sd-ext.
Radio
The Radio on a Hero is the part of the phone that deals with mobile connections. It handles talking to the GSM/3G network, Bluetooth, WiFi and GPS. The radio contains software that controls how it operates, and newer versions of radio firmware are made available from time to time in [[#RUU]] updates. These updates are transparent to the user, although users who elect to install custom software can update their radio using an update.zip file made available by members of the modding community. 
Flashing the radio is potentially risky, and you should NEVER pull the battery out of a phone that is [[#Flash|flashing]] the radio. If you do so, it is possible your phone will be bricked. Nevertheless, it can give improved battery life, signal strength and data performance, so is often done by users moving to later versions of ROMs.
Care should be taken to only flash the correct type of radio to a phone. NEVER attempt to flash a CDMA phone with a GSM radio or vice-versa. It is likely you will brick the phone if you attempt to do so.
ROM
ROM is literally "read-only memory" but it's usage has changed over time.  Today ROM can refer to the non-volatile area of a device's flash memory on which read-only data resides or the packed image to be written to that flash area.
Root
Root is the name of the highest level superuser (su) on Unix-like systems such as Android.  The root user, and applications run by the root user, have administrative access to protected files and services which makes it dangerous for normal daily use.
A 'rooted' device one which has been hacked to provide privilege escalation from a standard user to superuser.  Rooting a device is usually the first step in installing cooked ROMs.
RUU
An RUU is a ROM Upgrade Utility, which is a Windows executable (exe) file that upgrades the software on your phone. Using the USB connection with the phone, the RUU communicates with the phone's SPL, checking the CID of the device to ensure the user is not installing the ROM on a network branded device (since the networks release their own RRUs with customisations and branding). The RUU is capable of flashing almost everything on the phone, including System, Data, Recovery, HBOOT and Boot. As such, an RUU is a good way to return your phone to the way it came out the box if a warranty repair is needed (be aware that using a new RUU could make it difficult, or even prevent you from rooting the phone in future. It is normally better to upgrade using update.zip files to prevent this, as they do not update the HBOOT to prevent Fastboot in future. 
S-OFF/S-ON
This refers to an unlocked/locked NAND drive. HTC lock the NAND on some phones to prevent writing to the /system. S-OFF can generally be obtained by an exploit, by flashing an engineering SPL, or by using an XTC Clip. 
SPL
The Secondary Program Loader is a piece of bootcode that initiates the startup of the phone, displaying the initial splashscreen for the device, and loading the initial files from ROM.
It checks to see if a button combination is pressed on bootup (such as that to enter Recovery Mode or the bootloader ), and loads the relevant system software. If no special instruction is given by holding keys, the bootloader loads the normal system software by initialising the boot process from the boot partition.
Flashing your SPL is risky, as the process failing will probably result in a broken, or bricked phone, since the SPL is executed very early on in the boot process, and any error here will prevent access to the recovery or bootloader features.
If you do flash the SPL though, it unlocks the Carrier-ID CID from the device, essentially allowing any RUU to be installed to the device, and allows flashing alternative or custom bootscreens.
Stock
The term stock is often used to refer to a file or part of the software which is unmodified or untouched by developers. For example, a stock ROM would be one which was produced by HTC and which had not been modified or rooted by someone. The term is often used when comparing performance of different ROMs, as a way to refer to the phone as it came out the box.
su
su (substitute user) is a Linux command which, when run without a username parameter, gives the user full 'root' permissions. By default, this command binary (ie. Linux equivalent of an executable file) is not included on Android systems, but the process of "rooting" a phone copies this file to the '/system/bin/' directory thereby enabling the command. Since root privileges can be abused by malicious applications it's highly recommended to install an app to grant and manage access to su, similar to UAC on Windows. VillainROM includes the app called "Superuser" for this.
System
The /system directory on your device is where the main operational software for the Android OS is stored.  It has a number of sub-direcories of which /system/apps (where application apk's are stored) is probably the only one users would have need to access.  The /system folder is read-only by default and needs remounted via 'adb' to allow write access.
Recovery
The recovery partition is a boot-mode for your phone that allows you to wipe your settings from the Data partition of the phone (a hard wipe), or perform an update using an update.zip file on the root of the microSD card. It is common (although not necessary) to flash a patched Recovery image, such as Amon RA's one. This allows you to run Nandroid backup from the device, and flash modifications, such as [[#update.zip]] files to the device, essentially becoming a means to install sotware to the device. Recovery mode is separate from 'normal' mode, and can be entered by holding down home whilst turning the phone on. 
update.zip
An update.zip (does not have to actually be called update.zip if you have a patched Recovery image) is a file containing some files which will be copied to the phone's internal memory. Normally, a new system update or ROM is stored in the file, but update.zip files are commonly used to install modifications such as themes or applications that are installed on the System partition to prevent uninstallation. 
To flash one of these files, which commonly would contain a custom ROM for your phone, you would boot your phone to a patched recovery image (whether using Fastboot, or the home+power method if you have a patched Recovery image flashed on your phone)
Update.zip files are cryptographically signed, and more information on how to sign your own files can be found online.
WWE
Stands for World Wide English version of the ROM. There can be local versions of ROMs too. For example VR10 is based on the Taiwan version, VR12 on the WWE one.  Interestingly, WWE excludes the English (US) locale.