python urllib2 设置代理 自定义header

from urllib2 import urlopen 

import urllib2

enable_proxy = True

proxy_handler = urllib2.ProxyHandler({"http" : 'http://192.168.0.101:3128'})

null_proxy_handler = urllib2.ProxyHandler({})

if enable_proxy:

    opener = urllib2.build_opener(proxy_handler)

else:

    opener = urllib2.build_opener(null_proxy_handler)

urllib2.install_opener(opener)

#设置代理end	

header = {'Accept-Charset':'GBK,utf-8;q=0.7,*;q=0.3','User-Agent' : 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.151 Safari/534.16'}

#Debug Log star

#httpHandler = urllib2.HTTPHandler(debuglevel=1)

#httpsHandler = urllib2.HTTPSHandler(debuglevel=1)

#opener = urllib2.build_opener(httpHandler, httpsHandler)

#urllib2.install_opener(opener)

#Debug Log end

request = urllib2.Request(url,headers = header)

res = urlopen(request) 

html = res.read()

res.close()

ubuntu 13.04 安装 JDK

  具体步骤参详了如下链接:

http://blog.csdn.net/yang_hui1986527/article/details/6677450

  1、到 Sun 的官网下载

http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
  选择 accept license ,然后选择适合自己机型的JDK下载。

  2、解压文件,修改文件名

$ sudo mkdir /usr/lib/jvm
$ sudo tar zxvf jdk-7u21-linux-i586.tar.gz -C /usr/lib/jvm
$ cd /usr/lib/jvm
$ sudo mv jdk1.7.0_21 java
  3、添加环境变量

$ sudo vim ~/.bashrc
  加入如下内容

export JAVA_HOME=/usr/lib/jvm/java
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
  4、配置默认JDK版本

sudo update-alternatives –install /usr/bin/java java /usr/lib/jvm/java/bin/java 300
sudo update-alternatives –install /usr/bin/javac javac /usr/lib/jvm/java/bin/javac 300
sudo update-alternatives –install /usr/bin/jar jar /usr/lib/jvm/java/bin/jar 300
sudo update-alternatives –install /usr/bin/javah javah /usr/lib/jvm/java/bin/javah 300
sudo update-alternatives –install /usr/bin/javap javap /usr/lib/jvm/java/bin/javap 300
  然后执行

sudo update-alternatives –config java
  若是初次安装 JDK, 将提示

There is only one alternative in link group java (providing /usr/bin/java): /usr/lib/jvm/java/bin/java
无需配置。
  若是非初次安装,将有不同版本的 JDK 选项。

  5、测试

$ java -version
java version “1.7.0_21”
Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
Java HotSpot(TM) Server VM (build 23.21-b01, mixed mode)

backtrack5 安装postgresql

root登录
密码toor

sudo apt-get install postgresql

一路安装

安装完成使用linux帐号postgres登录postgresql

sudo -u postgres postgresql

在postgresql的命令行中执行如下命令:

—-
ALTER USER postgres WITH PASSWORD ‘postgres’;
\q
—-
以将postgres的密码修改成postgres

安装一个pgadmin3,图形化管理postgresql

sudo apt-get install pgadmin3

网络类型:GSM、CDMA、GSM/CDMA、WCDMA、UMTS、是什么意思?

GSM的涵义:
GSM[1]全名为:Global System for Mobile Communications,中文为全球移动通讯系统,俗称”全球通”,是一种起源于欧洲的移动通信技术标准,是第二代移动通信技术,其开发目的是让全球各地可以共同使用一个移动电话网络标准,让用户使用一部手机就能行遍全球。我国于20世纪90年代初引进采用此项技术标准,此前一直是采用蜂窝模拟移动技术,即第一代GSM技术(2001年12月31日我国关闭了模拟移动网络)。目前,中国移动、中国联通各拥有一个GSM网,为世界最大的移动通信网络。GSM系统包括 GSM 900:900MHz、GSM1800:1800MHz 及 GSM1900:1900MHz等几个频段 。GSM(全球移动通信系统)是一种广泛应用于欧洲及世界其他地方的数字移动电话系统。GSM使用的是时分多址的变体,并且它是目前三种数字无线电话技术(TDMA、GSM和CDMA)中使用最为广泛的一种。GSM将资料数字化,并将数据进行压缩,然后与其它的两个用户数据流一起从信道发送出去,另外的两个用户数据流都有各自的时隙。GSM实际上是欧洲的无线电话标准,据GSM MoU联合委员会报道,GSM在全球有12亿的用户,并且用户遍布120多个国家。因为许多GSM网络操作员与其他国外操作员有漫游协议,因此当用户到其他国家之后,仍然可以继续使用他们的移动电话。
  美国著名通信公司Sprint的一个辅助部门,美国个人通信正在使用GSM作为一种宽带个人通信服务的技术。这种个人通信服务将最终为爱立信、摩托罗拉以及诺基亚现在正在生产的手持机建立400多个基站。手持机包括电话、短信寻呼机和对讲机。
  GSM及其他技术是无线移动通信的演进,无线移动通信包括高速电路交换数据、通用无线分组系统、基于GSM网络的数据增强型移动通信技术以及通用移动通信服务

CDMA专业定义:
 CDMA是码分多址的英文缩写(Code Division Multiple Access),它是在数字技术的分支–扩频通信技术上发展起来的一种崭新而成熟的无线通信技术。CDMA技术的原理是基于扩频技术,即将需传送的具有一定信号带宽信息数据,用一个带宽远大于信号带宽的高速伪随机码进行调制,使原数据信号的带宽被扩展,再经载波调制并发送出去。接收端使用完全相同的伪随机码,与接收的带宽信号作相关处理,把宽带信号换成原信息数据的窄带信号即解扩,以实现信息通信。

W-CDMA的概念::
W-CDMA[1]是一种由3GPP具体制定的,基于GSM MAP核心网,UTRAN(UMTS陆地无线接入网)为无线接口的第三代移动通信系统。目前WCDMA有Release 99、Release 4、Release 5、Release 6等版本。W-CDMA[2](宽带码分多址)是一个ITU(国际电信联盟)标准,它是从码分多址(CDMA)演变来的,在官方上被认为是IMT-2000的直接扩展,与现在市场上通常提供的技术相比,它能够为移动和手提无线设备提供更高的数据速率。WCDMA采用直接序列扩频码分多址(DS-CDMA)、频分双工(FDD)方式,码片速率为3.84Mcps,载波带宽为5MHz.基于Release 99/ Release 4版本,可在5MHz的带宽内,提供最高384kbps的用户数据传输速率。W-CDMA能够支持移动/手提设备之间的语音、图象、数据以及视频通信,速率可达2Mb/s(对于局域网而言)或者384Kb/s(对于宽带网而言)。输入信号先被数字化,然后在一个较宽的频谱范围内以编码的扩频模式进行传输。窄带CDMA使用的是200KHz宽度的载频,而W-CDMA使用的则是一个5MHz宽度的载频。

UMTS:UMTS(Universal Mobile Telecommunications System),意即通用移动通信系统。UMTS是国际标准化组织3GPP制定的全球3G标准之一。作为一个完整的3G移动通信技术标准,UMTS并不仅限于定义空中接口。它的主体包括CDMA接入网络和分组化的核心网络等一系列技术规范和接口协议。除WCDMA作为首选空中接口技术获得不断完善外,UMTS还相继引入了TD-SCDMA和HSDPA技术。
  一种第三代(3G)移动电话技术[1]。它使用WCDMA作为底层标准,由 3GPP定型,代表欧洲对ITU IMT-2000 关于3G蜂窝无线系统需求的回应。
  UMTS有时也叫3GSM,强调结合了3G技术而且是GSM标准的后续标准。UMTS 分组交换系统是由 GPRS 系统所演进而来,故系统的架构颇为相像。
  绪言
  本条目主要讨论围绕源于GSM网络基础结构和W-CDMA空中接口的UMTS标准的有关技术商业用途和其他方面的内容。任何仅仅和W-CDMA接口本身紧密相关的议题都在W-CDMA中更好地被阐述。
  由于UMTS变化很快,本页面的信息可能会比实际状况滞后二到三个月的时间。强烈建议读者发表自己的观点和附加的独立研究;所有的发信都被鼓励追加到本页面以完善本条目。积极更新的读者请您附加上适当的修改时间以帮助其他读者建立他们的时间线,更好理解本条目内容。

目前我国的移动运营商主要就是:中国移动和中国联通.

1那么中国移动绝大部分都是GSM的,号码段为:134-139,最近还出了新的号码段159。

2中国联通的就有GSM和CDMA两个制式,GSM的号码段为130-132 CDMA 133、153等

3WCDMA就是3G的手机网络了

于是,楼主提的问题可以简单地回答成:

1你的手机如果能插134-139和159手机号码开头的移动卡的,或是可以插130-132开头的号码卡的,就是GMS的手机。

2能插133开头的联通卡的,就是CDMA的手机。

3如果以上两种都能插上用的,就是双模式的手机。

4WCDMA手机的手机国内有了,但国内这个网络还没有大规模应用,所以不是很流行,但手机大部分都会有一个很大的特点:就是在屏幕的上面加一个摄像头,是双摄像头的。

原文链接:http://wenda.tianya.cn/question/17c3d46f6d839208

Hacking the exported Service and Activity

Service 和 Activity 若没有要求权限.

如果无须传入数据,则可以直接启动.

如果需要传入数据,则是通过intent来传入的. 传入数据的格式可以通过分析Activity/Service的运行过程中从Intent里面取出来了什么样的数据并且怎么使用的,也可以找到StartActivity/StartService的地方看一下在启动对应的Acitivity/Service的时候传入的什么样的数据格式.

这样的道理虽然很简单很简单,也是理所当然的. 但是要注意的是临事不可混乱,且纸上得来终觉浅,绝知此事要躬行

[Android]实现静默安装APK的两种方法

Android上的静默安装似乎是个很诱人的功能,好多人都问这个问题。今天分享下实现静默安装的两种方法,但当看完这篇文章后,仍会让一些人失望滴。
Android把所有的Permission依据其潜在风险(属性名为protectionLevel )划分为四个等级,即”normal “、 “dangerous “、 “signature “、 “signatureOrSystem “。 INSTALL_PACKAGES属于后两者。让我们看一下官方文档对后两类的描述吧。

“signature “: A permission that the system grants only if the requesting application is signed with the same certificate as the application that declared the permission. If the certificates match, the system automatically grants the permission without notifying the user or asking for the user’s explicit approval.

“signatureOrSystem “: A permission that the system grants only to applications that are in the Android system image or that are signed with the same certificates as those in the system image. Please avoid using this option, as thesignature protection level should be sufficient for most needs and works regardless of exactly where applications are installed. The “signatureOrSystem ” permission is used for certain special situations where multiple vendors have applications built into a system image and need to share specific features explicitly because they are being built together.

所以,这儿介绍的两种方法各自需要的苛刻条件如下:
1.内置到ROM。即APK包的安装位置是/system/app下。
2.使用APK的目标安装系统同样的签名。

好了,先不管这些苛刻的条件,下面讲下如何编写直接安装APK的代码,这儿使用pm install 命令,而不是繁杂的未公开的PackageManager.install()方法。
[java] view plaincopy
String[] args = { “pm”, “install”, “-r”, apkAbsolutePath };
String result = “”;
ProcessBuilder processBuilder = new ProcessBuilder(args);
Process process = null;
InputStream errIs = null;
InputStream inIs = null;
try {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
int read = -1;
process = processBuilder.start();
errIs = process.getErrorStream();
while ((read = errIs.read()) != -1) {
baos.write(read);
}
baos.write(‘/n’);
inIs = process.getInputStream();
while ((read = inIs.read()) != -1) {
baos.write(read);
}
byte[] data = baos.toByteArray();
result = new String(data);
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (errIs != null) {
errIs.close();
}
if (inIs != null) {
inIs.close();
}
} catch (IOException e) {
e.printStackTrace();
}
if (process != null) {
process.destroy();
}
}
return result;

代码执行后,如果安装成功的话获取到的result值是“ pkg: /data/local/tmp/Calculator.apk /nSuccess”,如果是失败的话,则没有结尾的“Success”。
安装代码有了,现在开始介绍第一种方法,将你自己的APK内置到ROM中。前提是,你这手机已经刷机过并且保留了recovery-windows.bat/recover-linux.sh 文件。
针对HTC-Legend的具体操作步骤为:
1.USB连接你的设备然后在命令行输入 “adb reboot recovery” ,机子重启,启动后将显示一个红色的三角形和箭头图标
2 .(在PC下)进入到你的刷机文件夹然后运行 ‘./recover-linux.sh’ ,屏幕将显示绿色的菜单
3 .如果得到的结果是 “error:device not found” ,运行 “./adb-linux kill-server” 后再一次运行 ‘./recovery-linux.sh’ 直到显示绿色菜单.
4 .执行 “adb shell mount /dev/block/mtdblock3 /system” ,至此,可对/system进行写操作。
5.在PC上运行命令:adb push /system/。至此,内置成功。

第二种方法,需要先打一个未签名的APK包,然后用系统签名对其进行签名。这个方面的东西在我之前的一篇博文已说明,这儿就不重复了。[Android]使用platform密钥来给apk文件签名的命令
由于HTC-Legend是“原装”的,所以静默安装倒是顺利。但对于一些MOTO或乐Phone的手机,一般上是不支持的。

以上这两种方法都在AndroidManifest中声明android.permission.INSTALL_PACKAGES,有一点比较奇怪的是执行“ int result = checkCallingOrSelfPermission(Intent.ACTION_PACKAGE_INSTALL) ”,result的值为android.content.pm.PackageManager.PERMISSION_DENIED而不是PERMISSION_GRANTED。

OK,讲完了,睡觉。

本文内容归CSDN博客博主Sodino 所有
转载请注明出处:http://blog.csdn.net/sodino/archive/2011/03/10/6238818.aspx

[Android]使用platform密钥来给apk文件签名的命令

1.使用platform密钥对apk进行签名

1.1.进入/build/target/product/security,找到【platform.pk8】和【platform.x509.pem】系统密钥。
1.2.进入/build/tools/signapk找到SignApk.java,运行javac编译成SignApk.class
1.3.执行命令java com.android.signapk.SignApk platform.x509.pem platform.pk8 input.apk output.apk
至此,完成。

2. 对1的补充:
/build/target/product/security下有多对密钥,详细如下:

The following commands were used to generate the test key pairs:

development/tools/make_key testkey ‘/C=US/ST=California/L=Mountain View/O=Android/OU=Android/CN=Android/emailAddress=android@android.com’
development/tools/make_key platform ‘/C=US/ST=California/L=Mountain View/O=Android/OU=Android/CN=Android/emailAddress=android@android.com’
development/tools/make_key shared ‘/C=US/ST=California/L=Mountain View/O=Android/OU=Android/CN=Android/emailAddress=android@android.com’
development/tools/make_key media ‘/C=US/ST=California/L=Mountain View/O=Android/OU=Android/CN=Android/emailAddress=android@android.com’

The following standard test keys are currently included:

testkey — a generic key for packages that do not otherwise specify a key.
platform — a test key for packages that are part of the core platform.
shared — a test key for things that are shared in the home/contacts process.
media — a test key for packages that are part of the media/download system.

These test keys are used strictly in development, and should never be assumed
to convey any sort of validity. When $BUILD_SECURE=true, the code should not
honor these keys in any context.

signing using the openssl commandline (for boot/system images)
————————————————————–

1. convert pk8 format key to pem format
% openssl pkcs8 -inform DER -nocrypt -in testkey.pk8 -out testkey.pem

2. create a signature using the pem format key
% openssl dgst -binary -sha1 -sign testkey.pem FILE > FILE.sig

extracting public keys for embedding
————————————
it’s a Java tool
but it generates C code
take a look at commands/recovery/Android.mk
you’ll see it running $(HOST_OUT_JAVA_LIBRARIES)/dumpkey.jar

3.对3的补充:
在运行第三步的命令前,请在你当前的工作目录下新建如下结构的文件夹:com.android.signapk,然后将第二步编译生成的SignApk放入该目录下。或者也可以将SignApk.java的package声明删除后再运行javac编译。

命令java com.android.signapk.SignApk platform.x509.pem platform.pk8 input.apk output.apk
不单可以对apk文件进行重签名,也可以对所有的zip文件进行重签名,包括ROM文件。

本文内容归CSDN博客博主Sodino 所有
转载请注明出处: http://blog.csdn.net/sodino/archive/2010/11/17/6016706.aspx

android whitepapers

https://github.com/droidsec/droidsec.github.io/wiki/Android-Whitepapers

 

 
Android-Whitepapers

                                                                                
                                                                                
                                                        :7777777>:              
                                                    !COO7>>!!!>7?C$$?           
                                                 :C$?:             !CQ!         
                                                !QC!                :?Q!        
                                                O?:                  :$O        
                                               ?Q!                    CQ7       
                                              !Q$                    :7Q?       
                                              !QC                    :7Q?       
                                              CH?   !      :         :?H?       
                                              $Q7CO$$:   :C$:        :OQ>       
                                             :HC:>>!:     >$HQ7    !?$QQC>      
                                             :H?            !!:    !!: :?$      
                                             :HO:    C?:               >O?      
                                              ?HO    C$>         !CCCOQ$7       
                    >77!                       7Q$7: ::      ::>7C?!!!          
                  7O7::>O>                       >OHH$Q$CO$$QQ$?!               
                  $C    >C                        !$O!ONC?7>C$>                 
                  ?$7  :?$>                       ?C: 7$!!?OC7?OC!              
                   !OQQQQO$$>                    CQ7 :7$OC>     :CO             
                        >O$$Q$C?CO7           :7COQ> :7$!         ?C:           
       :7C$OCCCCO$O?>      !OHQ?::>C!   !:>??CC7 >$7 :?C           C?           
      >Q$C77777777?OQH$>     >C>   >C$HO7>>!:    !O?::CQC??COC>    >$>          
    :OHC?777777777???COQ$:    !CO?7>!:!$7         !OC:!O!          :O?          
    CQO????????????????COQ7      !?OQQ$HQ7     :7   ?C:>O:          7O          
   :QHHHQ$OC????????????CO$7       7$> !O?     !C   :HQ?$7          7$          
   7QOO$QQHHQ$OCC???????CC$Q:      :C7  >>     >$C>:7QO$H?          >$          
   ?HQQQ$$OOO$QQHH$OC????CO$O:      7C:      >C?>?OC7CO>O!          7$:         
   ?QC?CCO$QQQ$OOO$HHC??CCOO$$>      CO   ?$HH>!?QHC::CC             >C         
   :QOC??????CO$$QQHQC?CCOOOO$$>    :$$7OHHQQQHQQ$QQQ?OQ7             O>        
    CQO??????????CCC?CCCOOOOOO$>    !QHNNNH$$QQHQQ$$QQQQH$>          !HC        
     CH$CCC??C????CCCCOOOOOO$$?     !QQ7:!HNH$>:>HNQQQHHNHHHO7>>>>?OQH7         
      !HNHQ$OOOOOOOOO$QQHNMMHC:    >O>    !>:    :CHQ>  7$NNHMMMMMNNH?          
     ?QHQQQHHHHNHHHHHHQQQ$QQQHHH7  O?  7!                 !OQO7!!CHNH$?         
    QQ$OOOO$$$$$$$$$$$$$$$$$$$$$NQ>$7  7      :                    :!:OO!       
   ?QOCOOOO$$$$O$$$$$$$$$$$$$OO$QN$OC  7      ?:                      !7O7      
  !Q$OCOOCCO$$CCO$OCCO$OCCO$OCCO$QN>7O?O>     ?C!                   :: :C$      
  :OH$OOOO$$$$OO$$$$O$$$OO$$$$$$$HH:  !O$OOOOCCQNQOCO$$$$QQQ$$$$$QQQQ$OCOO      
    CQHQHHHHHQ$$$$QQHHHHHNNNNNNNH$7       :::::::::::::::::                     
        :::7O$$$$$$$$$$$O>:::::                                                 
                                                                                
                                                                                
                                                                                

大和尚

                                                                                

                                                         >>>>>>>:               
                                                    :HNQ!!:::::!?$QM>           
                                                  $MC              :?M          
                                                 MC                 :7M         
                                                H7                   :HH        
                                               >M                     CM>       
                                               MM                     >M>       
                                               MC                    :!M>       
                                              NM>   :                :?M>       
                                              NH:OC$N     ON        ::QN!       
                                              M$ :!       :NMM?     CNNNO>      
                                              M?                   :!   7M      
                                              MQ     HC                :HO      
                                              OMO    $N!         :O77OMM!       
                    !!!                        !MQ!            :>$C             
                  >M!   N:                        HMMNMQCOHMMMNH                
                  M?     Q                         MO ?M?7>!>N                  
                  >M:   ?H                        CO  !N  ?QQ!?HH               
                    QMMM$C$N!                    7M   !H$Q!      $H             
                         $HCQM7>HM>            >N!M   !M          7Q            
        >>MNHHHHNMH>!       HM$?:  Q      >>>QH>  M   7$           $>           
      :M$7777777777CHMM:      H::  :$NM7>!::      H7  ON$$QQM$!    !M:          
     MM??777777777??C??NM     >$Q7:::  M7          NO :Q            NC          
    ON??????7???????????CM>       QQMNM$M!      H   C?  M           !M          
    MNMM$OC??????????????$N:       >M:  OC     :N    MN>N7          !M          
   7QOCO$HNMQ$C?CC??????CCOM        Q>  7?     :NO7!!M>NMC          :M          
   >NQMQ$OCOOOQHNMQC?????OC$Q       ?H       >HO!7QOCOH M           >M          
   7$????C$HHQOOOOONN????OOO$M!      $$   ?$MM  ?NMO  $C             !O         
    N????????CC$HNQMQ???COOOOCN      MO QMH$$$HH$$$QM!?N:             H         
    OMC???????????????COOOOOOOQ:     MQMMMQQ$$QHH$$$$$$$MQ:           MH        
     $MCCC????????CCOOOOOOOOO$O      MN:  MNNN  :MN$$QHMMQNMC>::::>OMM!         
       MMH$OOOOOOOOOOO$QHMMM$!     >N      7      OMN!  !HMN$MMMMMMHM:          
     >MH$O$NNNNMNNNNNH$O$$$$$NMM!  M7  Q:                  HN$>  $MMMC?         
    MQOOOOO$$$$$$$$$$$$$$$$$$$$$MM M!  C      :                       QN        
   7HO?OOOO$$$$$$$$$$$$$$$$$$OO$$MM$C  O      Q                        >N7      
   MOCOOOC?O$$C?O$$C?$$$CC$$O?C$OQM ?N7M:     OQ                        $N      
   QHOOOOO$$$$$$$$$$$$$$$$$$$$$OOQM    OMHQ$OC?OMHOC$QQQQNMMMMMMMMMMMMH$QM      
    OMMNNHQQQQ$$$$$$QQQQHNMMMMMMMQO                                             
           ?MMMMMMMMMMMMM

转Android开发之旅之系列文章

目录如下:

了做参考

本系列的其它文章:

 

http://www.cnblogs.com/skynet/archive/2010/07/20/1781644.html