月度归档:2010年09月

好恶心啊,Dot TK把域名恶意解析到我的IP了

用搜索引擎看了下做的一个垃圾站,一看不打紧,居然有人将域名解析到我的IP了,实在是太可恶了,是可忍孰不可忍!

点击查看原图

看了下百度收录的日期是9月17号,貌似半个月前已经做下了,有道是水来土掩兵来将挡,且看看它的来路。

点击查看原图

看来的确遇到流氓了,whois信息显示这个BV Dot TK的域名商注册了9W多个域名;(在这里我忍不住想说,哥,你能再猥琐点吗?)

人肉一下,果然是个山寨公司,严重怀疑是国人开的,还三方合作呐,拉大旗作虎皮,简直是坏透了。点击查看原图

再看下这一张,我嗅到了强烈的国人味道。点击查看原图

嗯,解决办法简单,直接将这个垃圾域名指向其他地方就好了,正好手里有个域名要出售,我做了个出售玉米的页面,正好把这个流量引到这里来,不过貌似没有太大意义,浏览论坛的人没几个是做站的,严重不符合精准轰炸的原则,懒得再做301转向了,就这么着吧,问题解决就是了,现在服务器IP默认指向卖玉米的页面,估计没有哪个蛋疼帝会再把自己的域名解析过来了吧。点击查看原图

总结一下,主要还是自己大意,一开始去掉默认IP访问站点就OK了,也就不会有这么多的事。好吧,篱笆扎的紧,野狗钻不进,亡羊补牢犹未迟也。

辨别是否是云计算的十五种方法

国外一位网友James Governor 在他的博客中列出了15个用来辨别是否是云计算的问题,如果回答否的话,就证明厂商向你吹捧的东西不是云计算。我觉得蛮有意思,现编译如下,供大家参考,水平有限,请多指正:

  1)如果标称是“网格”或“OGSA(开放网格服务架构)”…那么,它不是云。

  2)如果需要你向厂商提供一份几十页的需求说明书…那么,它不是云。

  3)如果你不能用自己的信用卡来购买…那么,它不是云。

  4)如果他们想卖给你硬件设备…那么,它不是云。

  5)如果没有提供API…那么,它不是云。

  6)如果需要你重新构架你的系统…那么,它不是云。

  7)如果你不能在10分钟之间部署(provision)服务器…那么,它不是云。

  8)如果你不能在10分钟之间撤销(deprovision)服务器…那么,它不是云。

  9)如果你知道你所使用的机器的具体位置…那么,它不是云。

  10)如果需要有一个咨询顾问来帮助你…那么,它不是云。

  11)如果需要你事先准备好所需机器数目清单…那么,它不是云。

  12)如果它只运行一种操作系统…那么,它不是云。

  13)如果你不用把它连到你自己的机器上去…那么,它不是云。

  14)如果需要你安装软件才能使用它…那么,它不是云。

  15)如果你拥有所有这些硬件…那么,它不是云。

iptables,Android下强大的网络防火墙

装了不少软件,随之而来的问题是,有些软件的权限实在是太过分了,动不动就喜欢联网更新数据。比如天天动听等一些播放器软件,隔一段时间就在通知栏提示有新版本需要更新;更有甚者一些软件居然自带广告栏,每当打开软件时候就联网更新广告,活脱脱将手机当成了免费的广告发布平台,实在令人是不堪忍受。 特别是有些密码箱程序,安装的时候居然明目张胆的提示有完全的网络权限,难道是想把使用者的账号密码神不知鬼不觉的全部偷回去?太邪恶了,偶不敢想下去了!

点击查看原图
点击查看原图
点击查看原图
点击查看原图

解决方法不是没有,直接禁掉网络连接显然不可取,反向工程将源码中广告代码去掉难度比较大,想来想去,android下面有iptables这个强大的东东,用它来写规则应该可以实现这个目的。

看了一下android的iptables规则说明

iptables v1.3.7

Usage: iptables -[AD] chain rule-specification [options]
       iptables -[RI] chain rulenum rule-specification [options]
       iptables -D chain rulenum [options]
       iptables -[LFZ] [chain] [options]
       iptables -[NX] chain
       iptables -E old-chain-name new-chain-name
       iptables -P chain target [options]
       iptables -h (print this help information)

Commands:
Either long or short options are allowed.
  –append  -A chain  Append to chain
  –delete  -D chain  Delete matching rule from chain
  –delete  -D chain rulenum
    Delete rule rulenum (1 = first) from chain
  –insert  -I chain [rulenum]
    Insert in chain as rulenum (default 1=first)
  –replace -R chain rulenum
    Replace rule rulenum (1 = first) in chain
  –list    -L [chain]  List the rules in a chain or all chains
  –flush   -F [chain]  Delete all rules in  chain or all chains
  –zero    -Z [chain]  Zero counters in chain or all chains
  –new     -N chain  Create a new user-defined chain
  –delete-chain
            -X [chain]  Delete a user-defined chain
  –policy  -P chain target
    Change policy on chain to target
  –rename-chain
            -E old-chain new-chain
    Change chain name, (moving any references)
Options:
  –proto -p [!] proto protocol: by number or name, eg. `tcp'
  –source -s [!] address[/mask]
    source specification
  –destination -d [!] address[/mask]
    destination specification
  –in-interface -i [!] input name[+]
    network interface name ([+] for wildcard)
  –jump -j target
    target for rule (may load target extension)
  –goto      -g chain
                              jump to chain with no return
  –match -m match
    extended match (may load extension)
  –numeric -n  numeric output of addresses and ports
  –out-interface -o [!] output name[+]
    network interface name ([+] for wildcard)
  –table -t table table to manipulate (default: `filter')
  –verbose -v  verbose mode
  –line-numbers  print line numbers when listing
  –exact -x  expand numbers (display exact values)
[!] –fragment -f  match second or further fragments only
  –modprobe=<command>  try to insert modules using this command
  –set-counters PKTS BYTES set the counter during insert/append
[!] –version -V  print package version.
 

好吧,那么就不客气了,由于这是手机而非路由器,自然不能用按老办法以客户端的源IP来进行过滤;不过可以基于包的生产者来用owner match匹配,先ban了所有的OUTPUT链,然后白名单加入允许通行的程序,搞定。

Chain INPUT (policy ACCEPT)
target     prot opt source               destination        

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination        

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination        
ACCEPT     0    —  anywhere             anywhere            OWNER UID match dhcp
ACCEPT     0    —  anywhere             anywhere            OWNER UID match wifi
ACCEPT     0    —  anywhere             anywhere            OWNER UID match app_64
ACCEPT     0    —  anywhere             anywhere            OWNER UID match app_4
ACCEPT     0    —  anywhere             anywhere            OWNER UID match system
ACCEPT     0    —  anywhere             anywhere            OWNER UID match app_16
ACCEPT     0    —  anywhere             anywhere            OWNER UID match app_73
ACCEPT     0    —  anywhere             anywhere            OWNER UID match app_33
ACCEPT     0    —  anywhere             anywhere            OWNER UID match app_72
ACCEPT     0    —  anywhere             anywhere            OWNER UID match app_12
ACCEPT     0    —  anywhere             anywhere            OWNER UID match app_23
ACCEPT     0    —  anywhere             anywhere            OWNER UID match app_8
ACCEPT     0    —  anywhere             anywhere            OWNER UID match app_61
ACCEPT     0    —  anywhere             anywhere            OWNER UID match app_54
ACCEPT     0    —  anywhere             anywhere            OWNER UID match app_29
ACCEPT     0    —  anywhere             anywhere            OWNER UID match app_15
ACCEPT     0    —  anywhere             anywhere            OWNER UID match app_3
ACCEPT     0    —  anywhere             anywhere            OWNER UID match app_31
ACCEPT     0    —  anywhere             anywhere            OWNER UID match app_0
REJECT     0    —  anywhere             anywhere            reject-with icmp-port-unreachable
 

U8110折腾两天,疑问一堆

1. CPU的bogomips貌似没有那么高,我在终端里面看下才200多,不知道是不是启动时候自动
调节频率非最大值的缘故

# busybox uname -a
Linux localhost 2.6.29-perf #7 PREEMPT Sun Jul 4 03:13:51 HKT 2010 armv6l unknow  

# cat /proc/cpuinfo
Processor       : ARMv6-compatible processor rev 2 (v6l)
BogoMIPS        : 243.60
Features        : swp half thumb fastmult edsp java
CPU implementer : 0x41
CPU architecture: 6TEJ
CPU variant     : 0x1
CPU part        : 0xb36
CPU revision    : 2
Hardware        : HUAWEI U8110 BOARD
Revision        : 0000
Serial          : 0000000000000000

2.用swap的软件
设置
交换内存
失败
,busybox下面手工试验的话也不成功,不知何故,难道是建立文件
时候的count=32768数值不对?mount看了下默认的count是4096,设置为4096依然报错,抓狂。

# cd /
# dd if=/dev/zero of=/sdcard/swap bs=1024 count=32768
32768+0 records in
32768+0 records out
33554432 bytes transferred in 7.451 secs (4503346 bytes/sec)
# busybox mkswap /sdcard/swap
Setting up swapspace version 1, size = 33550337 bytes
# busybox swapon /sdcard/swap
swapon: /sdcard/swap: Function not implemented
# swapon -s
swapon: not found
# busybox swapon -s
swapon: invalid option — s
BusyBox v1.8.1 (2007-11-14 10:11:37 EST) multi-call binary

Usage: swapon [-a] [DEVICE]

Start swapping virtual memory pages on DEVICE

Options:
        -a      Start swapping on all swap devices

#  busybox swapon -a
swapon: /etc/fstab: No such file or directory
# cd /etc/fstab
cd: can't cd to /etc/fstab

3.系统
自带有ln的指令,不知道可不可以做个符号链接把/system/app链接到SD卡
上去,这样程序
是不是就可以装到卡上,不用app2sd那么复杂?

# ln -h
ln [-s] <target> <name>

4.关于实在类似GHOST备份系统的问题

linux中备份系统是可以用tar指令直接打包的,比如 tar czvPf 来把系统目录/下面的所有文件打包,然后在新磁盘里面tar zxvf解包,再安装grub或者LILO之类的bootloader即可引导系统。
嵌入式系统比如NAS之类,bootloader一般都是在flash片上的,系统在硬盘上面,这样的话如果在redboot或者uboot模式
下,加载外置存储设备如U盘之类,直接可以 tar czvPf 将/目录下的所有文件打包,系统挂了的话就tar zxvf恢复之前的包即可,由于bootloader是在flash里面的,恢复后直接重启即可,连引导程序都不用再安装了。

同理,安卓
的系统既然大同小异,那么如果bootloader有busybox的基本指令和SD卡驱动可以mount SD卡的话,直接tar czvPf 将根分区
打包备份,岂不快哉,方便易行,进不了系统也不怕了,直接bootloader下面tar zxvf恢复SD卡里的压缩包即可。
5. 系统默认开了20000的端口,难道是传说中的后门????


开了wifi连上路由器,蛋疼在linux里面用nmap扫下,发现有20000的端口开放,nmap不识别这个端口的服务,不知道是啥 东东

root@ubuntu-gnome:~# nmap -v -A 192.168.2.101

Starting Nmap 5.00 ( http://nmap.org
) at 2010-09-21 19:51 CST
NSE: Loaded 30 scripts for scanning.
Initiating ARP Ping Scan at 19:51
Scanning 192.168.2.101 [1 port]
Completed ARP Ping Scan at 19:51, 0.61s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 19:51
Completed Parallel DNS resolution of 1 host. at 19:51, 0.02s elapsed
Initiating SYN Stealth Scan at 19:51
Scanning 192.168.2.101 [1000 ports]
Discovered open port 20000/tcp on 192.168.2.101
Completed SYN Stealth Scan at 19:51, 2.00s elapsed (1000 total ports)
Initiating Service scan at 19:51
Scanning 1 service on 192.168.2.101
Completed Service scan at 19:53, 116.88s elapsed (1 service on 1 host)
Initiating OS detection (try #1) against 192.168.2.101
NSE: Script scanning 192.168.2.101.
NSE: Starting runlevel 1 scan
Initiating NSE at 19:53
Completed NSE at 19:54, 30.14s elapsed
NSE: Script Scanning completed.
Host 192.168.2.101 is up (0.0059s latency).
Interesting ports on 192.168.2.101:
Not shown: 999 closed ports
PORT      STATE SERVICE VERSION
20000/tcp open  unknown
MAC Address: 4C:54:99:4D:98:73 (Unknown)
Device type: general purpose
Running: Linux 2.6.X
OS details: Linux 2.6.9 – 2.6.28
Uptime guess: 0.020 days (since Tue Sep 21 19:25:56 2010)
Network Distance: 1 hop
TCP Sequence Prediction: Difficulty=203 (Good luck!)
IP ID Sequence Generation: All zeros

Read data files from: /usr/share/nmap
OS and Service detection performed. Please report any incorrect results at http://nmap.org/submit/
.
Nmap done: 1 IP address (1 host up) scanned in 162.96 seconds
           Raw packets sent: 1027 (45.948KB) | Rcvd: 1016 (41.356KB)
root@ubuntu-gnome:~#

嗯 在adb 模式下开了shell,看下的确是开着TCP20000端口在监听,不知是做什么用的

$ netstat -an
netstat -an
Proto Recv-Q Send-Q Local Address          Foreign Address        State
tcp        0      0 0.0.0.0:20000          0.0.0.0:*              LISTEN
tcp        0      0 127.0.0.1:58650        0.0.0.0:*              LISTEN
udp        0      0 127.0.0.1:58626        0.0.0.0:*
udp        0      0 127.0.0.1:58666        0.0.0.0:*
udp        0      0 0.0.0.0:54770          0.0.0.0:*
udp        0      0 127.0.0.1:58610        0.0.0.0:*
udp        0      0 127.0.0.1:58611        0.0.0.0:*
udp        0      0 127.0.0.1:58612        0.0.0.0:*
udp        0      0 127.0.0.1:58613        0.0.0.0:*
udp        0      0 127.0.0.1:58615        0.0.0.0:*
udp        0      0 127.0.0.1:58620        0.0.0.0:*
udp        0      0 127.0.0.1:58621        0.0.0.0:*

初试华为U8110

发现华为U8110的功能不少,WIFI,蓝牙,GPS,FM收音机外加GSM四频与WCDMA900/2100,一激动弄了个玩玩。由于是android系统,到手就破解了root权限,运行sshd服务,用wifi连接到局域网里面之后可以用电脑ssh登录到手机。

点击查看原图

CPU据说是msm7202,528mhz,看了下bogomips,貌似性能不怎么好啊,NND真悲剧。

# cat /proc/cpuinfo
Processor       : ARMv6-compatible processor rev 2 (v6l)
BogoMIPS        : 245.55
Features        : swp half thumb fastmult edsp java
CPU implementer : 0x41
CPU architecture: 6TEJ
CPU variant     : 0x1
CPU part        : 0xb36
CPU revision    : 2

Hardware        : HUAWEI U8110 BOARD
Revision        : 0000
Serial          : 0000000000000000
 

系统自带的命令不多,free居然也没有,无法看内存状态只好作罢,幸好还是可以使用管道命令输出dmesg信息的,有空的话研究下移植busybox到上面去。

拿nmap扫下这个蛋疼的机机,不知道开了20000端口做什么用的,难道是后门?有时间偶得研究下是怎么回事。

 
root@ubuntu-gnome
:~# nmap -v -A 192.168.2.101

Starting Nmap 5.00 ( http://nmap.org
) at 2010-09-18 22:58 CST
NSE: Loaded 30 scripts for scanning.
Initiating ARP Ping Scan at 22:58
Scanning 192.168.2.101 [1 port]
Completed ARP Ping Scan at 22:58, 0.13s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 22:58
Completed Parallel DNS resolution of 1 host. at 22:58, 0.00s elapsed
Initiating SYN Stealth Scan at 22:58
Scanning 192.168.2.101 [1000 ports]
Discovered open port 22/tcp on 192.168.2.101
Discovered open port 20000/tcp on 192.168.2.101
Completed SYN Stealth Scan at 22:58, 0.83s elapsed (1000 total ports)
Initiating Service scan at 22:58
Scanning 2 services on 192.168.2.101
Completed Service scan at 22:59, 69.13s elapsed (2 services on 1 host)
Initiating OS detection (try #1) against 192.168.2.101
Retrying OS detection (try #2) against 192.168.2.101
NSE: Script scanning 192.168.2.101.
NSE: Starting runlevel 1 scan
Initiating NSE at 23:00
Completed NSE at 23:00, 30.24s elapsed
NSE: Script Scanning completed.
Host 192.168.2.101 is up (0.010s latency).
Interesting ports on 192.168.2.101:
Not shown: 998 closed ports
PORT      STATE SERVICE VERSION
22/tcp    open  ssh     Dropbear sshd 0.52 (protocol 2.0)
|  ssh-hostkey: 1024 66:28:97:b5:77:3a:53:c6:9b:8f:e4:84:ca:a8:24:09 (DSA)
|_ 1040 43:b8:f8:0d:3e:ee:29:76:88:ba:12:50:40:af:87:dc (RSA)
20000/tcp open  unknown
MAC Address: 4C:54:99:4D:98:73 (Unknown)
Aggressive OS guesses: Alvarion BreezeACCESS II broadband wireless access system                                                                              4.5.17 (89%), Linux 2.6.18 (Debian, x86) (88%), Linux 2.6.23 (Gentoo) (87%), AX                                                                             IS 207 Network Camera (Linux 2.6.16) or 241Q Video Server (87%), DD-WRT v24 (Lin                                                                             ux 2.6.22) (87%), Linux 2.6.13 – 2.6.27 (87%), Linux 2.6.20 (87%), Linux 2.6.22                                                                              (87%), Linux 2.6.22 – 2.6.23 (87%), Linux 2.6.9 – 2.6.18 (87%)
No exact OS matches for host (test conditions non-ideal).
Network Distance: 1 hop

Read data files from: /usr/share/nmap
OS and Service detection performed. Please report any incorrect results at http:                                                                             //nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 113.73 seconds
           Raw packets sent: 1149 (56.570KB) | Rcvd: 1006 (40.270KB)
root@ubuntu-gnome
:~# nmap 192.168.2.101 -p22

Starting Nmap 5.00 ( http://nmap.org
) at 2010-09-18 23:11 CST
Interesting ports on 192.168.2.101:
PORT   STATE SERVICE
22/tcp open  ssh
MAC Address: 4C:54:99:4D:98:73 (Unknown)

Nmap done: 1 IP address (1 host up) scanned in 1.53 seconds
 

贴下dmesg信息吧。

 ] data[3]=0
<3>[23, msg_recv] [ 4118.422355] data[4]=0
<3>[23, msg_recv] [ 4118.422385] data[5]=0
<3>[23, msg_recv] [ 4118.422413] data[6]=0
<3>[23, msg_recv] [ 4118.422441] data[7]=0
<3>[23, msg_recv] [ 4118.422471] data[8]=18
<3>[23, msg_recv] [ 4118.422500] data[9]=42
<3>[23, msg_recv] [ 4118.422531] data[10]=132
<4>[23, msg_recv] [ 4118.422568] shmem_serial_recv: (1, c96a4300, 11)
<3>[23, msg_recv] [ 4118.422616] shmem_serial_recv: success! len=11
<4>[23, msg_recv] [ 4118.422658] virtmsm_updatemsgRD is called with 28;
<4>[23, msg_recv] [ 4118.422700] pVirtMsmMsgRx->ulRD=1788; pVirtMsmMsgRx->ulWR=1788
<4>[406, android.FMRadio] [ 4118.447340] shmem_serial_write: (1,c93e0800) writing 4 bytes
<4>[406, android.FMRadio] [ 4118.447411] Content start —————–
<4>[406, android.FMRadio] [ 4118.447451] Content: 
<4>[406, android.FMRadio] [ 4118.447481] Content over —————–
<4>[406, android.FMRadio] [ 4118.447570] shmem_serial_write: (1,c93e0800) writing 6 bytes
<4>[406, android.FMRadio] [ 4118.447618] Content start —————–
<4>[406, android.FMRadio] [ 4118.447656] Content: 
<4>[406, android.FMRadio] [ 4118.447686] Content over —————–
<3>[23, msg_recv] [ 4118.641763] virtmsm_sio_read_cb is called, port:1, length=4
<3>[23, msg_recv] [ 4118.641835] data[0]=11
<3>[23, msg_recv] [ 4118.641868] data[1]=0
<3>[23, msg_recv] [ 4118.641896] data[2]=0
<3>[23, msg_recv] [ 4118.641926] data[3]=0
<4>[23, msg_recv] [ 4118.641963] shmem_serial_recv: (1, c96a4300, 4)
<3>[23, msg_recv] [ 4118.642043] shmem_serial_recv: success! len=4
<4>[23, msg_recv] [ 4118.642091] virtmsm_updatemsgRD is called with 20;
<4>[23, msg_recv] [ 4118.642136] pVirtMsmMsgRx->ulRD=1808; pVirtMsmMsgRx->ulWR=1836
<3>[23, msg_recv] [ 4118.642185] virtmsm_sio_read_cb is called, port:1, length=11
<3>[23, msg_recv] [ 4118.642226] data[0]=5
<3>[23, msg_recv] [ 4118.642256] data[1]=0
<3>[23, msg_recv] [ 4118.642285] data[2]=0
<3>[23, msg_recv] [ 4118.642313] data[3]=0
<3>[23, msg_recv] [ 4118.642343] data[4]=1
<3>[23, msg_recv] [ 4118.642371] data[5]=0
<3>[23, msg_recv] [ 4118.642401] data[6]=0
<3>[23, msg_recv] [ 4118.642430] data[7]=0
<3>[23, msg_recv] [ 4118.642460] data[8]=48
<3>[23, msg_recv] [ 4118.642488] data[9]=42
<3>[23, msg_recv] [ 4118.642518] data[10]=132
<4>[23, msg_recv] [ 4118.642595] shmem_serial_recv: (1, c96a4300, 11)
<3>[23, msg_recv] [ 4118.642648] shmem_serial_recv: success! len=11
<4>[23, msg_recv] [ 4118.642691] virtmsm_updatemsgRD is called with 28;
<4>[23, msg_recv] [ 4118.642733] pVirtMsmMsgRx->ulRD=1836; pVirtMsmMsgRx->ulWR=1836
<4>[406, android.FMRadio] [ 4119.088161] shmem_serial_write: (1,c93e0800) writing 4 bytes
<4>[406, android.FMRadio] [ 4119.088206] Content start —————–
<4>[406, android.FMRadio] [ 4119.088228] Content: 
<4>[406, android.FMRadio] [ 4119.088243] Content over —————–
<4>[406, android.FMRadio] [ 4119.088301] shmem_serial_write: (1,c93e0800) writing 6 bytes
<4>[406, android.FMRadio] [ 4119.088328] Content start —————–
<4>[406, android.FMRadio] [ 4119.088348] Content: 
<4>[406, android.FMRadio] [ 4119.088363] Content over —————–
<3>[23, msg_recv] [ 4119.191891] virtmsm_sio_read_cb is called, port:1, length=4
<3>[23, msg_recv] [ 4119.191960] data[0]=5
<3>[23, msg_recv] [ 4119.191978] data[1]=0
<3>[23, msg_recv] [ 4119.191991] data[2]=0
<3>[23, msg_recv] [ 4119.192006] data[3]=0
<4>[23, msg_recv] [ 4119.192086] shmem_serial_recv: (1, c96a4280, 4)
<3>[23, msg_recv] [ 4119.192165] shmem_serial_recv: success! len=4
<4>[23, msg_recv] [ 4119.192210] virtmsm_updatemsgRD is called with 20;
<4>[23, msg_recv] [ 4119.192236] pVirtMsmMsgRx->ulRD=1856; pVirtMsmMsgRx->ulWR=1880
<3>[23, msg_recv] [ 4119.192261] virtmsm_sio_read_cb is called, port:1, length=5
<3>[23, msg_recv] [ 4119.192280] data[0]=7
<3>[23, msg_recv] [ 4119.192293] data[1]=0
<3>[23, msg_recv] [ 4119.192308] data[2]=0
<3>[23, msg_recv] [ 4119.192321] data[3]=0
<3>[23, msg_recv] [ 4119.192335] data[4]=0
<4>[23, msg_recv] [ 4119.192351] shmem_serial_recv: (1, c96a4280, 5)
<3>[23, msg_recv] [ 4119.192378] shmem_serial_recv: success! len=5
<4>[23, msg_recv] [ 4119.192400] virtmsm_updatemsgRD is called with 24;
<4>[23, msg_recv] [ 4119.192420] pVirtMsmMsgRx->ulRD=1880; pVirtMsmMsgRx->ulWR=1880
<4>[406, android.FMRadio] [ 4119.356731] shmem_serial_write: (1,c93e0800) writing 4 bytes
<4>[406, android.FMRadio] [ 4119.356778] Content start —————–
<4>[406, android.FMRadio] [ 4119.356798] Content: 
<4>[406, android.FMRadio] [ 4119.356813] Content over —————–
<4>[406, android.FMRadio] [ 4119.356870] shmem_serial_write: (1,c93e0800) writing 6 bytes
<4>[406, android.FMRadio] [ 4119.356896] Content start —————–
<4>[406, android.FMRadio] [ 4119.356916] Content: 
<4>[406, android.FMRadio] [ 4119.356931] Content over —————–
<3>[23, msg_recv] [ 4119.411728] virtmsm_sio_read_cb is called, port:1, length=4
<3>[23, msg_recv] [ 4119.411773] data[0]=5
<3>[23, msg_recv] [ 4119.411790] data[1]=0
<3>[23, msg_recv] [ 4119.411803] data[2]=0
<3>[23, msg_recv] [ 4119.411818] data[3]=0
<4>[23, msg_recv] [ 4119.411836] shmem_serial_recv: (1, c96a42a0, 4)
<3>[23, msg_recv] [ 4119.411891] shmem_serial_recv: success! len=4
<4>[23, msg_recv] [ 4119.411918] virtmsm_updatemsgRD is called with 20;
<4>[23, msg_recv] [ 4119.411941] pVirtMsmMsgRx->ulRD=1900; pVirtMsmMsgRx->ulWR=1924
<3>[23, msg_recv] [ 4119.411965] virtmsm_sio_read_cb is called, port:1, length=5
<3>[23, msg_recv] [ 4119.411985] data[0]=17
<3>[23, msg_recv] [ 4119.411998] data[1]=0
<3>[23, msg_recv] [ 4119.412011] data[2]=0
<3>[23, msg_recv] [ 4119.412025] data[3]=0
<3>[23, msg_recv] [ 4119.412038] data[4]=0
<4>[23, msg_recv] [ 4119.412056] shmem_serial_recv: (1, c96a42a0, 5)
<3>[23, msg_recv] [ 4119.412085] shmem_serial_recv: success! len=5
<4>[23, msg_recv] [ 4119.412103] virtmsm_updatemsgRD is called with 24;
<4>[23, msg_recv] [ 4119.412123] pVirtMsmMsgRx->ulRD=1924; pVirtMsmMsgRx->ulWR=1924
<4>[3633, hwvefs] [ 4121.330306] do_exit: exit code=256
<4>[3634, hwvefs] [ 4126.387033] do_exit: exit code=256
<4>[3635, hwvefs] [ 4131.441013] do_exit: exit code=256
<4>[3636, hwvefs] [ 4136.497178] do_exit: exit code=256
<4>[3637, hwvefs] [ 4141.554118] do_exit: exit code=256
<4>[3638, hwvefs] [ 4146.604781] do_exit: exit code=256
<4>[3639, hwvefs] [ 4151.660343] do_exit: exit code=256
<4>[3640, hwvefs] [ 4156.716300] do_exit: exit code=256
<4>[3641, hwvefs] [ 4161.769853] do_exit: exit code=256
<6>[154, PowerManagerSer] [ 4166.588946] request_suspend_state: sleep (0)(0->3) at 4166607345200 (2010-09-18 14:38:59.279758337 UTC)
<6>[6, suspend] [ 4166.626488] early_suspend: call handlers
<4>[6, suspend] [ 4166.626570] s: c01c0f60
<4>[6, suspend] [ 4166.626611] s: c0257574
<4>[6, suspend] [ 4166.627366] s: c025be98
<4>[6, suspend] [ 4166.641883] s: c02699dc
<4>[6, suspend] [ 4166.690100] s: c00a508c
<4>[3642, hwvefs] [ 4166.886260] do_exit: exit code=256
<6>[6, suspend] [ 4167.051761] lcdc un-config
<4>[6, suspend] [ 4167.154830] s: c01b32dc
<4>[6, suspend] [ 4167.154873] s: c01b4cf0
<6>[6, suspend] [ 4167.154890] early_suspend: sync
<4>[6, suspend] [ 4167.230563] save exit: isCheckpointed 1
<4>[6, suspend] [ 4167.286636] save exit: isCheckpointed 1
<4>[3643, hwvefs] [ 4171.952268] do_exit: exit code=256
<6>[0, swapper] [ 4172.581258] gpiomatrix: key 6c, 0-1 (35-40) changed to 1
<6>[3644, ndroid.settings] [ 4172.702768] gpiomatrix: key 6c, 0-1 (35-40) changed to 0
<6>[0, swapper] [ 4174.127763] gpiomatrix: key 6a, 1-2 (34-39) changed to 1
<6>[0, swapper] [ 4174.310438] gpiomatrix: key 6a, 1-2 (34-39) changed to 0
<6>[0, swapper] [ 4175.054353] gpiomatrix: key 3e, 0-2 (35-39) changed to 1
<6>[158, WindowManagerPo] [ 4175.059366] request_suspend_state: wakeup (3)(3->0) at 4175077783535 (2010-09-18 14:39:07.750198339 UTC)
<6>[6, suspend] [ 4175.061510] late_resume: call handlers
<3>[6, suspend] [ 4175.161901] lcd_panel:*********hw_lcd_panel == 2;***************
<6>[6, suspend] [ 4175.162426] lcdc config
<6>[133, er.ServerThread] [ 4175.195973] gpiomatrix: key 3e, 0-2 (35-39) changed to 0
<3>[6, suspend] [ 4175.591080] lcd_ili9325_disp_exit_sleep:  LCD should be on, LCD_Panel = 2!
<3>[6, suspend] [ 4175.591140] lcd_panel:*********hw_lcd_panel == 2;***************
<4>[6, suspend] [ 4175.591878] r: c01b3520
<4>[6, suspend] [ 4175.604865] r: c00a5034
<4>[6, suspend] [ 4175.621705] r: c0269968
<4>[6, suspend] [ 4175.622481] r: c025b5f4
<4>[6, suspend] [ 4175.622525] r: c0257544
<4>[6, suspend] [ 4175.623643] r: c01c0f8c
<6>[6, suspend] [ 4175.623670] late_resume: done
<4>[3649, hwvefs] [ 4176.994930] do_exit: exit code=256
<4>[406, android.FMRadio] [ 4179.746496] shmem_serial_write: (1,c93e0800) writing 4 bytes
<4>[406, android.FMRadio] [ 4179.746543] Content start —————–
<4>[406, android.FMRadio] [ 4179.746563] Content: 
<4>[406, android.FMRadio] [ 4179.746578] Content over —————–
<4>[406, android.FMRadio] [ 4179.746635] shmem_serial_write: (1,c93e0800) writing 6 bytes
<4>[406, android.FMRadio] [ 4179.746660] Content start —————–
<4>[406, android.FMRadio] [ 4179.746678] Content: 
<4>[406, android.FMRadio] [ 4179.746693] Content over —————–
<3>[23, msg_recv] [ 4179.911730] virtmsm_sio_read_cb is called, port:1, length=4
<3>[23, msg_recv] [ 4179.911773] data[0]=5
<3>[23, msg_recv] [ 4179.911786] data[1]=0
<3>[23, msg_recv] [ 4179.911801] data[2]=0
<3>[23, msg_recv] [ 4179.911815] data[3]=0
<4>[23, msg_recv] [ 4179.911833] shmem_serial_recv: (1, c96a4720, 4)
<3>[23, msg_recv] [ 4179.911883] shmem_serial_recv: success! len=4
<4>[23, msg_recv] [ 4179.911910] virtmsm_updatemsgRD is called with 20;
<4>[23, msg_recv] [ 4179.911931] pVirtMsmMsgRx->ulRD=1944; pVirtMsmMsgRx->ulWR=1968
<3>[23, msg_recv] [ 4179.911956] virtmsm_sio_read_cb is called, port:1, length=5
<3>[23, msg_recv] [ 4179.911976] data[0]=7
<3>[23, msg_recv] [ 4179.911990] data[1]=0
<3>[23, msg_recv] [ 4179.912003] data[2]=0
<3>[23, msg_recv] [ 4179.912016] data[3]=0
<3>[23, msg_recv] [ 4179.912030] data[4]=0
<4>[23, msg_recv] [ 4179.912046] shmem_serial_recv: (1, c96a4720, 5)
<3>[23, msg_recv] [ 4179.912071] shmem_serial_recv: success! len=5
<4>[23, msg_recv] [ 4179.912093] virtmsm_updatemsgRD is called with 24;
<4>[23, msg_recv] [ 4179.912113] pVirtMsmMsgRx->ulRD=1968; pVirtMsmMsgRx->ulWR=1968
 

dmesg.rar
   需要的自己下载慢慢看吧,128KB的文本文件,太大了

去除鼠标右键菜单中的“Adobe Drive CS4”

今天安装了Adobe Photoshop CS4,默认安装完后发现鼠标右键中多了一项:“Adobe Drive CS4”,看着碍眼不胜其烦,于是研究了一下去除鼠标右键菜单中的“Adobe Drive CS4”的方法。

去除鼠标右键菜单中的“Adobe Drive CS4”的方法如下:

   开始→运行→输入regsvr32 -u "C:\Program Files\Common Files\Adobe\Adobe Drive CS4\ADFSMenu.dll"
,回车即可。

 当然,如果你想再把“Adobe Drive CS4”添加到右键菜单也是可以的,在开始运行里面执行如下命令即可:

    regsvr32 -u "C:\Program Files\Common Files\Adobe\Adobe Drive CS4\ADFSMenu.dll"