寻找瑞星,第1张

给你N个序列号及注册码,你试试看,肯定有行的,我就用的这个(这里是最全的):

使用下列序列号和ID安装瑞星2005,装好后用可升级的8位ID设置升级,你会发现一路畅通。不需要使用按钮突破工具的哟!

安装序列号:RIUEKR-EKNBL6-JLE9D0-9QD200

安装ID:4AJRY64DNA4G

没升的发个给大家:

UAKSD85J

52LDJG-Q9LBCT-6ACQS2-R30320 RCEXAGU5

发几组瑞星2005序列号

RIUEKR-EKNBL6-I5E9XO-9QDZ00

UAKSD85J

RIUEKR-EKNBL6-JLE950-9QD200

RIUEKR-EKNBL6-I5E9TX-9QD200

RIUEKR-EKNBL6-ILE9E0-9QD200

RIUEKR-EKNBL6-ILE9UG-9QD204

RIUEKR-EKNBL6-ILE9LG-9QDI04

RIUEKR-EKNBL6-JLE9WX-9QD204

RIUEKR-EKNBL6-ILE9HO-9QDZ04

RIUEKR-EKNBL6-J5E900-9QD200

RIUEKR-EKNBL6-JLE9TX-9QD200

RIUEKR-EKNBL6-JLE9TO-9QDZ04

RIUEKR-EKNBL6-J5E9XX-9QDI04

RIUEKR-EKNBL6-JLE9FX-9QD204

RIUEKR-EKNBL6-JLE97G-9QD200

RIUEKR-EKNBL6-JLE9UG-9QDI04

RIUEKR-EKNBL6-ILE9E0-9QD204

RIUEKR-EKNBL6-I5E9ZX-9QDZ04

RIUEKR-EKNBL6-ILE96G-9QDI04

RIUEKR-EKNBL6-J5E9FX-9QD200

RIUEKR-EKNBL6-I5E9MG-9QDZ04

RIUEKR-EKNBL6-J5E9DX-9QD204

RIUEKR-EKNBL6-JLE9PX-9QD200

RIUEKR-EKNBL6-I5E9XX-9QD204

RIUEKR-EKNBL6-JLE9XG-9QDZ04

瑞星个人防火墙

36RDFV-PQMJ3W-M65EGV-RN4200

4AJRY64DNA4G

M1XERFIS

UAMVB9XQ

UAGZBGMG

RCQVDI4U

UARVCHXG

RCQVDA49

UA27G8SD

RBHVAZHP

M1E3AQ1I

RCQXB7C5

M1B3FP4T

UAJSCGGN

UAGVCA3H

RCESBD7Q

RCCWD7QV

RCVXE19F

UAGZC86B

RCHVF64Q

UAGVAS1G

EBEH3YT5

EBEH44XP

UAGUAHJV

RCQVD7II

UA27HICS

RCHVEEGH

UAGVD1UE

UAERC3IG

RCHVCZAD

UAGVBKR7

UAJSANET

EBEH3KFR

RCQXAHJX

M1B3CWCU

RCQSADRR

UAJSCY85

RCCWCG7H

UARVB3AL

RCQSADRR

RCVXE8F1

UAWUQESQ

UA27FEAN

RCQXAZ31

RCHVAGB5

RCHVFWIR

UAGZAL1V

RCHVE27Z

UAKSAZXB

RCCWBVUK

UARVB258

UA27E35H

RCVXEFVY

UAGUADT4

M1E3AJ8U

RCESASNN

UA27G5DG

RCHVEEGH

RC2YWGUD

RCQVCXLV

RCQVDGZ1

RCRSIMJ7

RCCWAQTD

UAKSC4G4

网络版序列号

20服务器,60客户端3PVQNT-5JP184-9R8IJB-1F9108

10服务器,14338客户端WS1H3W-WUWUU9-JL1D3Q-SF9108

10服务器,100客户端86CEWS-WR44SP-6DGDR4-DAF008

10服务器,50客户端WS1H3W-PLWUU9-JL1D3Q-SF9108

10服务器,14338客户端WS1H3W-wuWUU9-JL1D3Q-SF9108

24服务器,16736客户端2RE9VM-WUC1QA-51MA0T-DR9108

115服务器,106客户端P28FLA-L0VCQL-BB8NM7-HJA108

下面是瑞星升级ID号,大家可以试一下,成功后瑞星软件就和正版一样,可设定自动检测升级文件全自动升级,或点击在线升级按钮就可升级。

RCIWSKST RCJ8I6D3 RCKJXK8P RCJZU1V4 RCXX58FE RCNCQ7YK

RC9T4DMH RC63VEXU RCDHLIZ4 RCPKMG43 RCP69DV1 RCDTF2AV

RCUVQV5K RC4ID72D RC2TSG5P RCWJJUL2 RCMTU8XU RCDEJSMB

RC27GY6V RC6LG8RT RC1NZJJX RCHV3T81 RCDHLIZ4 RCPKMG43

RCP69DV1 RCDTF2AV RCUVQV5K RC4ID72D RC2TSG5P RCWJJUL2

RCMTU8XU RCDEJSMB RC27GY6V RC6LG8RT RC1NZJJX RCHV3T81

如果不行,可能是安装瑞星的序列号不正确:

不要以R35200结尾的序列号!

下面这几个序列号都可以试试:

RIUEKR-EKNBL6-JLE9D0-9QD200

U0I26A-W84GHI-NR8KSB-SU9500

77PUHE-QPV6KB-ME6JS3-KM5200

W13KIE-NP8U4J-LV82S3-VH9900

如果还是不行,就是朋友你运气不好了,因为ID号使用人太多会失效,赶紧试吧。

可能有些人升不了级 请用以下序列号

2004正式版:

序列号:PREWQ0-V6JNV8-7HVKSG-CU5200

ID:4ALNMIDVWA41

2004下载版:DNNN4C-BCUT13-2S4DS7-N8D200

用户ID:W2Q2KKGRL5VK

2005测试版

序列号:7KB816_QT2SP9_MF3JRL_2UD200

用户ID:W2V2ZM3BFZIA

2005版防火墙

序列号:36RDFV-PQMJ3W-M65EGV-RN4200

用户ID:4AJRY64DNA4G

序列号:JUQVN2 CWEFLP J7JAC3 Q23200

ID:RCQSABD2

序列号:U0I26A-W84GHI-NR8KSB-SU3700

ID:RCHVI763

序列号:WS1H3W-PWUMU9-JL1D3Q-SF9108

ID:UBEVAK9G

序列号:U0I26A-W84GHI-NR8KSB-SU9600

ID:RCVUL38G

序列号:52LDJG-Q9LBCT-6ACQS2-R30500

ID:RCEXBGXF

序列号:U0I26A-W84GHI-NR8KSB-SU2700

ID:RCHVHSD5

序列号:0HM282-5BC8d3-U5MMd1-I20000

ID:RBFJDE8H

M113DG9K U133DU95 M1P3DKLT T1F3DPH2 M1P3D8A9 M1D3DTQB

M14HZPRP U193DQZV M1MHZVC9 M1I3DTS5 M1P3DX29 M123DHFT

M1S3DH4S M1T3DV8S M1D3DJVN M1A3D3BW M1BIASCA M1MIAUBF

M1F3DNDT M1L3D8Y7 M1THZEED T183DBAR M1MIA11H M113DXGY

可能有些人升不了级 请用以下序列号

2004正式版:

序列号:PREWQ0-V6JNV8-7HVKSG-CU5200

ID:4ALNMIDVWA41

2004下载版:DNNN4C-BCUT13-2S4DS7-N8D200

用户ID:W2Q2KKGRL5VK

2005测试版

序列号:7KB816_QT2SP9_MF3JRL_2UD200

用户ID:W2V2ZM3BFZIA

2005版防火墙

序列号:36RDFV-PQMJ3W-M65EGV-RN4200

用户ID:4AJRY64DNA4G

产品序列号:77PUHE-QPV6KB-ME6JS3-KM5200

用户安装ID:W28CYL3L84PR

产品序列号:V6LGRK-FGLDVL-3T49RL-V15200

用户安装ID:W15CF5MCFWRQ

产品序列号:TV3MI2-N6GTCG-LQL8S5-7L5200

用户安装ID:W1QC96MXA8L4

产品序列号:V5V0WL-NGFHWU-DT2VRM-N45200

用户安装ID:W15CV5M3GF6Q

52LDJG-Q9LBCT-7ACQS2-R35200

用户安装ID:4AJRY64DNA4G

4A7I9W-92HTIF-R8UWSM-FK5200

用户安装ID:W2PC4VRZFZ4D

W13KIE-NP8U4J-LV82S3-VH5200

用户安装ID:W15CF5MCFWRQ

TV3MI2-N6GTCG-LQL8S5-7L5200(OEM版)

用户安装ID:W1QC96MXA8L4

77PUHE-QPV6KB-ME6JS3-KM5200(下载版)

用户安装ID:W28CYL3L84PR 瑞星杀毒软件2004序列号:

U0I26A-W84GHI-NR8KSB-SU5200

网站授权ID:W15CV5M3GF6Q

AQPDTU-INE2N7-CLQWS9-N15200

用户安装ID:W242YECZ28JF

FS971I-3WR80C-GWTUSN-G55200

用户安装ID:W2Q26CGX7UYP

92Q40U-R9M8P7-EIFUSA-PI5200

用户安装ID:W232L1MQXHQA

5EPEUT-1EMRNF-0AKSS2-WR5200

用户安装ID:W2X2E2GPQ9Q1 2003正式版序列号:

36RDFV-PQMJ3W-M65EGV-RN4200

HWGQTQ-KATWF6-D3NQDL-R04200

HNTQPT-4AWW67-13718L-HC4200

JUQVN2-CWEFLP-J7JAC3-Q23200

AKSDFF-76DSSF-672742-ME1300

111111-222222-333333-440200

V0S09D-Q2TUd3-IA2Td1-620000

PLJKAB-FLI8d3-EJBBd1-020000

69282O-MTVF38-285KA5-440200 安装序列号:

VV4NG7-6O31d3-LGLFd1-A20000

DW1264-YGAGd3-P81Vd1-420000

8M4J93-S38Xd3-H9K0d1-220000

OJ7LS2-Y1TTd3-RQCCd1-X20000

KHLBWV-H0VCd3-QGAYd1-K20000

0HM282-5BC8d3-U5MMd1-I20000

60FRJI-HPAXd3-2GHKd1-920000

YV6JII-0P53d3-RSXNd1-020000

3PVQNT-5JP184-9R8IJB-1F9108

DLL220-JFD98G-4S24S4-NJ5200

UAGZBHMS

0HM282-5BC8d3-U5MMd1-I20000

EBEH3WE3

W13KIE-NP8U4J-LV82S3-VH2005

UAE6AFZC

U0I26A-W84GHI-NR8KSB-SU4700

UARVAE86

JUQVN2-CWEFLP-J7JAC3-Q232O0

RCHVCWQG

U0I26A-W84GHI-NR8KSB-SU9400

RCRSH8P6

52LDJG-Q9LBCT-7ACQS2-R37300

RCESAN69

HWGQTQ-KATWF6-D3NQDL-R04200

RCHVBVL7

PLJKAB-FLI8d3-EJBBd1-020000

RCHVD8ER

52LDJG-Q9LBCT-6ACQS2-R30340

RBFVEH6T

U0I26A-W84GHI-NR8KSB-SU3700

RCQVCW3G

QTT8R8-VA73VI-7JGKS3-CN5200

RCHVDD9T

U0I26A-W84GHI-NR8KSB-SU5800

RCQXAR1K

W13KIE-NP8U4J-LV82S3-VH9300

UAKSD5RD

瑞星2004升级ID

RCRKDNBQ RCI6A944 RCLPT3GA RC4GFHMN RCY3WSBQ RCMMJHH1 RCX3MEG4 RCEWMTEI

RCGPVKXR RC316SVB RC2R3BSL RCN9ILZ7

W13KIE-NP8U4J-LV82S3-VH9800

UARVAE86

W13KIE-NP8U4J-LV82S3-VH2990

UAERB5R9

52LDJG-Q9LBCT-6ACQS2-R34600

RCCWBQ4A

W13KIE-NP8U4J-LV82S3-VH3990

UAERC3IG

52LDJG-Q9LBCT-7ACQS2-R30301

RCCWCYEE

52LDJG-Q9LBCT-7ACQS2-R30301

RCCWCYEE

U0I26A-W84GHI-NR8KSB-SU9900

RCRSHYEU

U0I26A-W84GHI-NR8KSB-SU3800

RCQVD3IE

2004正式版:

序列号:PREWQ0-V6JNV8-7HVKSG-CU5200

ID:4ALNMIDVWA41

2004下载版:DNNN4C-BCUT13-2S4DS7-N8D200

用户ID:W2Q2KKGRL5VK

2005测试版

序列号:7KB816_QT2SP9_MF3JRL_2UD200

用户ID:W2V2ZM3BFZIA

2005版防火墙

序列号:36RDFV-PQMJ3W-M65EGV-RN4200

用户ID:4AJRY64DNA4G

瑞星至少隔5天才能升一次级,注意哦

序列号:JUQVN2 CWEFLP J7JAC3 Q23200

ID:RCQSABD2

序列号:U0I26A-W84GHI-NR8KSB-SU3700

ID:RCHVI763

序列号:WS1H3W-PWUMU9-JL1D3Q-SF9108

ID:UBEVAK9G

序列号:U0I26A-W84GHI-NR8KSB-SU9600

ID:RCVUL38G

序列号:52LDJG-Q9LBCT-6ACQS2-R30500

ID:RCEXBGXF

序列号:U0I26A-W84GHI-NR8KSB-SU2700

ID:RCHVHSD5

序列号:0HM282-5BC8d3-U5MMd1-I20000

ID:RBFJDE8H

M113DG9K U133DU95 M1P3DKLT T1F3DPH2 M1P3D8A9 M1D3DTQB

M14HZPRP U193DQZV M1MHZVC9 M1I3DTS5 M1P3DX29 M123DHFT

M1S3DH4S M1T3DV8S M1D3DJVN M1A3D3BW M1BIASCA M1MIAUBF

M1F3DNDT M1L3D8Y7 M1THZEED T183DBAR M1MIA11H M113DXGY

产品序列号:77PUHE-QPV6KB-ME6JS3-KM5200

用户安装ID:W28CYL3L84PR

产品序列号:V6LGRK-FGLDVL-3T49RL-V15200

用户安装ID:W15CF5MCFWRQ

产品序列号:TV3MI2-N6GTCG-LQL8S5-7L5200

用户安装ID:W1QC96MXA8L4

产品序列号:V5V0WL-NGFHWU-DT2VRM-N45200

用户安装ID:W15CV5M3GF6Q

52LDJG-Q9LBCT-7ACQS2-R35200

用户安装ID:4AJRY64DNA4G

4A7I9W-92HTIF-R8UWSM-FK5200

用户安装ID:W2PC4VRZFZ4D

W13KIE-NP8U4J-LV82S3-VH5200

用户安装ID:W15CF5MCFWRQ

TV3MI2-N6GTCG-LQL8S5-7L5200(OEM版)

用户安装ID:W1QC96MXA8L4

77PUHE-QPV6KB-ME6JS3-KM5200(下载版)

用户安装ID:W28CYL3L84PR 瑞星杀毒软件2004序列号:

U0I26A-W84GHI-NR8KSB-SU5200

网站授权ID:W15CV5M3GF6Q

AQPDTU-INE2N7-CLQWS9-N15200

用户安装ID:W242YECZ28JF

FS971I-3WR80C-GWTUSN-G55200

用户安装ID:W2Q26CGX7UYP

92Q40U-R9M8P7-EIFUSA-PI5200

用户安装ID:W232L1MQXHQA

5EPEUT-1EMRNF-0AKSS2-WR5200

用户安装ID:W2X2E2GPQ9Q1 2003正式版序列号:

36RDFV-PQMJ3W-M65EGV-RN4200

HWGQTQ-KATWF6-D3NQDL-R04200

HNTQPT-4AWW67-13718L-HC4200

JUQVN2-CWEFLP-J7JAC3-Q23200

AKSDFF-76DSSF-672742-ME1300

111111-222222-333333-440200

V0S09D-Q2TUd3-IA2Td1-620000

PLJKAB-FLI8d3-EJBBd1-020000

69282O-MTVF38-285KA5-440200 安装序列号:

VV4NG7-6O31d3-LGLFd1-A20000

DW1264-YGAGd3-P81Vd1-420000

8M4J93-S38Xd3-H9K0d1-220000

OJ7LS2-Y1TTd3-RQCCd1-X20000

KHLBWV-H0VCd3-QGAYd1-K20000

0HM282-5BC8d3-U5MMd1-I20000

60FRJI-HPAXd3-2GHKd1-920000

YV6JII-0P53d3-RSXNd1-020000

3PVQNT-5JP184-9R8IJB-1F9108

DLL220-JFD98G-4S24S4-NJ5200

UAGZBHMS

0HM282-5BC8d3-U5MMd1-I20000

EBEH3WE3

W13KIE-NP8U4J-LV82S3-VH2005

UAE6AFZC

U0I26A-W84GHI-NR8KSB-SU4700

UARVAE86

JUQVN2-CWEFLP-J7JAC3-Q232O0

RCHVCWQG

U0I26A-W84GHI-NR8KSB-SU9400

RCRSH8P6

52LDJG-Q9LBCT-7ACQS2-R37300

RCESAN69

HWGQTQ-KATWF6-D3NQDL-R04200

RCHVBVL7

PLJKAB-FLI8d3-EJBBd1-020000

RCHVD8ER

52LDJG-Q9LBCT-6ACQS2-R30340

RBFVEH6T

U0I26A-W84GHI-NR8KSB-SU3700

RCQVCW3G

QTT8R8-VA73VI-7JGKS3-CN5200

RCHVDD9T

U0I26A-W84GHI-NR8KSB-SU5800

RCQXAR1K

W13KIE-NP8U4J-LV82S3-VH9300

UAKSD5RD

W13KIE-NP8U4J-LV82S3-VH9800

UARVAE86

W13KIE-NP8U4J-LV82S3-VH2990

UAERB5R9

52LDJG-Q9LBCT-6ACQS2-R34600

RCCWBQ4A

W13KIE-NP8U4J-LV82S3-VH3990

UAERC3IG

52LDJG-Q9LBCT-7ACQS2-R30301

RCCWCYEE

52LDJG-Q9LBCT-7ACQS2-R30301

RCCWCYEE

U0I26A-W84GHI-NR8KSB-SU9900

RCRSHYEU

U0I26A-W84GHI-NR8KSB-SU3800

RCQVD3IE

https证书有效性验证引发的安全问题

超级试驾员

阅198转02019-01-16分享收藏

前言:

在实际项目代码审计中发现,目前很多手机银行虽然使用了https通信方式,但是只是简单的调用而已,并未对SSL证书有效性做验证。在攻击者看来,这种漏洞让https形同虚设,可以轻易获取手机用户的明文通信信息。

手机银行开发人员在开发过程中为了解决ssl证书报错的问题(使用了自己生成了证书后,客户端发现证书无法与系统可信根CA形成信任链,出现了 CertificateException等异常。),会在客户端代码中信任客户端中所有证书的方式:

public static HttpClient getWapHttpClient() {

try {

KeyStore trustStore = KeyStoregetInstance(KeyStoregetDefaultType());

trustStoreload(null, null);

SSLSocketFactory sf = new MySSLSocketFactory(trustStore);

sfsetHostnameVerifier(SSLSocketFactoryALLOW_ALL_HOSTNAME_VERIFIER);

//此处信任手机中的所有证书,包括用户安装的第三方证书

HttpParams params = new BasicHttpParams();

HttpProtocolParamssetVersion(params, HttpVersionHTTP_1_1);

HttpProtocolParamssetContentCharset(params, HTTPUTF_8);

SchemeRegistry registry = new SchemeRegistry();

registryregister(new Scheme(“http”, PlainSocketFactorygetSocketFactory(), 80));

registryregister(new Scheme(“https”, sf, 443));

ClientConnectionManager ccm = new ThreadSafeClientConnManager(params, registry);

return new DefaultHttpClient(ccm, params);

} catch (Exception e) {

return new DefaultHttpClient();

}

}

而在客户端中覆盖google默认的证书检查机制(X509TrustManager),并且在代码中无任何校验SSL证书有效性相关代码:

public class MySSLSocketFactory extends SSLSocketFactory {

SSLContext sslContext = SSLContextgetInstance(“TLS”);

public MySSLSocketFactory(KeyStore truststore) throws NoSuchAlgorithmException, KeyManagementException, KeyStoreException, UnrecoverableKeyException {

super(truststore);

TrustManager tm = new X509TrustManager() {

public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {

}

//客户端并未对SSL证书的有效性进行校验,并且使用了自定义方法的方式覆盖android自带的校验方法

public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {

}

public X509Certificate[] getAcceptedIssuers() {

return null;

}

};

sslContextinit(null, new TrustManager[] { tm }, null);

}

问题出来了:

如果用户手机中安装了一个恶意证书,那么就可以通过中间人攻击的方式进行窃听用户通信以及修改request或者response中的数据。

手机银行中间人攻击过程:

1 客户端在启动时,传输数据之前需要客户端与服务端之间进行一次握手,在握手过程中将确立双方加密传输数据的密码信息。

2 中间人在此过程中将客户端请求服务器的握手信息拦截后,模拟客户端请求给服务器(将自己支持的一套加密规则发送给服务器),服务器会从中选出一组加密算法与HASH算法,并将自己的身份信息以证书的形式发回给客户端。证书里面包含了网站地址,加密公钥,以及证书的颁发机构等信息。

3 而此时中间人会拦截下服务端返回给客户端的证书信息,并替换成自己的证书信息。

4 客户端得到中间人的response后,会选择以中间人的证书进行加密数据传输。

5 中间人在得到客户端的请求数据后,以自己的证书进行解密。

6 在经过窃听或者是修改请求数据后,再模拟客户端加密请求数据传给服务端。就此完成整个中间人攻击的过程。

以fiddler工具模拟中间人攻击为例:

1 首先在手机中装入fiddler根证书:

导出fiddler的根证书:

将fiddler根证书放入手机的SD卡中,然后在手机设置-安全中选择从SD卡中安装证书:

成功安装fiddler根证书到手机上:

2 在PC端打开fiddler,将手机通信代理到PC端fiddler所监听的端口上(可以在wifi中的高级设置中设置代理),这样手机银行的所有通信均会被fiddler监听到。

3 启动手机银行客户端,会在fiddler中查看到所有请求的明文数据,并且可以进行修改后转发,成功将https加密绕过。

防护办法:

使用CA机构颁发证书的方式可行,但是如果与实际情况相结合来看的话,时间和成本太高,所以目前很少有用此办法来做。由于手机银行服务器其实是固定的,所以证书也是固定的,可以使用“证书或公钥锁定”的办法来防护证书有效性未作验证的问题。

具体实现:

1 公钥锁定

将证书公钥写入客户端apk中,https通信时检查服务端传输时证书公钥与apk中是否一致。

public final class PubKeyManager implements X509TrustManager{private static String PUB_KEY = “30820122300d06092a864886f70d0101″ +”0105000382010f003082010a0282010100b35ea8adaf4cb6db86068a836f3c85″ +”5a545b1f0cc8afb19e38213bac4d55c3f2f19df6dee82ead67f70a990131b6bc” +”ac1a9116acc883862f00593199df19ce027c8eaaae8e3121f7f329219464e657″ +”2cbf66e8e229eac2992dd795c4f23df0fe72b6ceef457eba0b9029619e0395b8″ +”609851849dd6214589a2ceba4f7a7dcceb7ab2a6b60c27c69317bd7ab2135f50″ +”c6317e5dbfb9d1e55936e4109b7b911450c746fe0d5d07165b6b23ada7700b00″ +

“33238c858ad179a82459c4718019c111b4ef7be53e5972e06ca68a112406da38″ +

“cf60d2f4fda4d1cd52f1da9fd6104d91a34455cd7b328b02525320a35253147b” +

“e0b7a5bc860966dc84f10d723ce7eed5430203010001″;

//锁定证书公钥在apk中

public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException

{

if (chain == null) {

throw new IllegalArgumentException(“checkServerTrusted: X509Certificate array is null”);

}

if (!(chainlength > 0)) {

throw new IllegalArgumentException(“checkServerTrusted: X509Certificate is empty”);

}

if (!(null != authType && authTypeequalsIgnoreCase(“RSA”))) {

throw new CertificateException(“checkServerTrusted: AuthType is not RSA”);

}

// Perform customary SSL/TLS checks

try {

TrustManagerFactory tmf = TrustManagerFactorygetInstance(“X509″);

tmfinit((KeyStore) null);

for (TrustManager trustManager : tmfgetTrustManagers()) {

((X509TrustManager) trustManager)checkServerTrusted(chain, authType);

}

} catch (Exception e) {

throw new CertificateException(e);

}

// Hack ahead: BigInteger and toString() We know a DER encoded Public Key begins

// with 0×30 (ASN1 SEQUENCE and CONSTRUCTED), so there is no leading 0×00 to drop

RSAPublicKey pubkey = (RSAPublicKey) chain[0]getPublicKey();

String encoded = new BigInteger(1 / positive /, pubkeygetEncoded())toString(16);

// Pin it!

final boolean expected = PUB_KEYequalsIgnoreCase(encoded);

if (!expected) {

throw new CertificateException(“checkServerTrusted: Expected public key: ”

+ PUB_KEY + “, got public key:” + encoded);

}

}

}

}

2 证书锁定:

即为客户端颁发公钥证书存放在手机客户端中,在https通信时,在客户端代码中固定去取证书信息,不是从服务端中获取。

下面我为大家介绍传奇脚本m2文件出现各种问题的修复方法

1启动服务端报“用程序正常初始化(0xc0150002)失败”

解决:在微软官方网站下载Microsoft Visual C++ 2005 SP1 Redistributable Package (x86)补丁。

2启动后M2报错"地图数据加载失败!!!代码: -10"

解决:下载服务端map文件解压至D:\MirServer\Mir200 目录

如果仍旧报错,请检查你运行的版本文件是否启用了服务端map文件不包含的地图。

3启动服务端后找不到运行的程序界面

解决:选择主控台-游戏服务窗口,就会看到你熟悉的几个程序界面。

如果你不想隐藏显示程序界面,请在主控台取消选择"窗口嵌入到主控台" 如图所示

4在架设外网服务器时,为什么我编译出来的登陆器无法获取列表地址?

解决:版本管理器默认生成的列表文件格式为xxxxm2sl,部分服务器或虚拟主机不支持该后缀,请将后缀更改为xxxxtxt后上传空间再次编译登陆器

5如何给服务端加载自定义名称的版本文件?

解决:新的版本文件置入D:\MirServe\Mir200 ,打开Projectini,修改文件名。如下图:

6安装程序包报错“应用程序发生异常 未知的软件异常(0x0eedfade)”

解决:

这是QQ电脑管家升级了某个微软补丁,导致错误。补丁安装即可解决。

这次发的端是最近写的

用 77M2 新引擎开发版本

我以当年胜大的176版本为蓝本

其中包括: 刷怪, 地图文件, 怪物暴率, 怪物数据库, 物品数据库, 魔法数据库,等等

功能有: 打卡, 宝石镶嵌, 后期准备加入以前[宝湾传奇]经典的各种任务

加上以前管理过几年的宝湾传奇的经验,

我细心的调整了这次发布版本的:

1) 极品暴率

2) 挖矿机率

3) 保密

(我是不会跟你们说这些我是以当年宝湾传奇的设置为蓝本的)

我先说一下要怎么架设吧

77M2和其他引擎很不一样, 版本文件都聚集在一个文件了

所以, 对大家,对我来说,架设和更新都很容易了

架设方法:

1) 下载 服务端

2) 解压服务端

3) 把服务端放在 C盘,或者D盘

4) 打开服务端内的 [GameCenter], 如果你移动到D盘,他会叫你默认, 你直接默认就好 (我自己架设是架设在C盘)

5) 然后点 [启动游戏控制器], 过几秒就可以进入游戏了

进入游戏方法:

1) 下载 [传奇10周年客户端]

2) 服务端文件夹里面的 [ 客户端补丁(放到传奇根目录) ] 里面的所有文件直接覆盖到 [传奇10周年客户端]

3) 打开: 海外传奇登陆器, 然后点: 海外传奇单机版 就可以进游戏了

我下的这个系统是不是正版的。具体如下:

首先可以明确的是,如果是从微软官网下载的系统镜像,那这个系统是正版的!。如果不是从微软官方渠道获取的系统,则不一定是正版系统(有可能是Ghost版或者植入了病毒木马破坏了原始系统)。

所以说,如果你是从微软官网上下载的系统镜像,那你安装的就是正版系统,但是正版不代表是已取得授权(即:未激活)。

不像品牌机出厂就是预装了已激活的正版系统(现代品牌笔记本内置有激活程序,后期安装Windows家用系统时会自动激活),兼容机(组装机)安装了正版系统后会要求你激活,若不激活会在桌面右下角有一个试用期提醒。

安全加固原理

安全加固是指按照系统安全配置标准,结合用户信息系统实际情况,对信息系统涉及的终端主机、服务器、网络设备、数据库及应用中间件等软件系统进行安全配置加固、漏洞修复和安全设备调优。

通过安全加固,可以合理加强信息系统安全性,提高其健壮性,增加攻击入侵的难度,可以使信息系统安全防范水平得到大幅提升。

以上资料参考 —安装系统

本篇文章给大家分享的内容是如何利用Python爬取网易云音乐热门评论,有着一定的参考价值,有需要的朋友可以参考一下

前言

最近在研究文本挖掘相关的内容,所谓巧妇难为无米之炊,要想进行文本分析,首先得到有文本吧。获取文本的方式有很多,比如从网上下载现成的文本文档,或者通过第三方提供的API进行获取数据。但是有的时候我们想要的数据并不能直接获取,因为并不提供直接的下载渠道或者API供我们获取数据。那么这个时候该怎么办呢?有一种比较好的办法是通过网络爬虫,即编写计算机程序伪装成用户去获得想要的数据。利用计算机的高效,我们可以轻松快速地获取数据。

关于爬虫

那么该如何写一个爬虫呢?有很多种语言都可以写爬虫,比如Java,php,python 等,我个人比较喜欢使用python。因为python不仅有着内置的功能强大的网络库,还有诸多优秀的第三方库,别人直接造好了轮子,我们直接拿过来用就可以了,这为写爬虫带来了极大的方便。不夸张地说,使用不到10行python代码其实就可以写一个小小的爬虫,而使用其他的语言可以要多写很多代码,简洁易懂正是python的巨大的优势。

好了废话不多说,进入今天的正题。最近几年网易云音乐火了起来,我自己就是网易云音乐的用户,用了几年了。以前用的是QQ音乐和酷狗,通过我自己的亲身经历来看,我觉得网易云音乐最优特色的就是其精准的歌曲推荐和独具特色的用户评论(郑重声明!!!这不是软文,非广告!!!仅代表个人观点,非喜勿喷!)。经常一首歌曲下面会有一些被点赞众多的神评论。加上前些日子网易云音乐将精选用户评论搬上了地铁,网易云音乐的评论又火了一把。所以我想对网易云的评论进行分析,发现其中的规律,特别是分析一些热评具有什么共同的特点。带着这个目的,我开始了对网易云评论的抓取工作。

网络库

Python内置了两个网络库urllib和urllib2,但是这两个库使用起来不是特别方便,所以在这里我们使用一个广受好评的第三方库requests。使用requests只用很少的几行代码就可以实现设置代理,模拟登陆等比较复杂的爬虫工作。如果已经安装pip的话,直接使用pip install requests 即可安装。

中文文档地址在此 http://docspython-requestsorg/zh_CN/latest/user/quickstarthtml

大家有什么问题可以自行参考官方文档,上面会有非常详细的介绍。至于urllib和urllib2这两个库也是比较有用的,以后如果有机会我会再给大家介绍一下。

工作原理

在正式开始介绍爬虫之前,首先来说一下爬虫的基本工作原理,我们知道我们打开浏览器访问某个网址本质上是向服务器发送了一定的请求,服务器在收到我们的请求之后,会根据我们的请求返回数据,然后通过浏览器将这些数据解析好,呈现在我们的面前。

如果我们使用代码的话,就要跳过浏览器的这个步骤,直接向服务器发送一定的数据,然后再取回服务器返回的数据,提取出我们想要的信息。

但是问题是,有的时候服务器需要对我们发送的请求进行校验,如果它认为我们的请求是非法的,就会不返回数据,或者返回错误的数据。所以为了避免发生这种情况,我们有的时候需要把程序伪装成一个正常的用户,以便顺利得到服务器的回应。

如何伪装呢?

这就要看用户通过浏览器访问一个网页与我们通过程序访问一个网页之间的区别。

通常来说,我们通过浏览器访问一个网页,除了发送访问的url之外,还会给服务发送额外的信息,比如headers(头部信息)等,这就相当于是请求的身份证明,服务器看到了这些数据,就会知道我们是通过正常的浏览器访问的,就会乖乖地返回数据给我们了。

模拟登陆

所以我们程序就得像浏览器一样,在发送请求的时候,带上这些标志着我们身份的信息,这样就能顺利拿到数据。有的时候,我们必须在登录状态下才能得到一些数据,所以我们必须要模拟登录。

本质上来说,通过浏览器登录就是post一些表单信息给服务器(包括用户名,密码等信息),服务器校验之后我们就可以顺利登录了,利用程序也是一样,浏览器post什么数据,我们原样发送就可以了。

关于模拟登录,我后面会专门介绍一下。当然事情有的时候也不会这么顺利,因为有些网站设置了反爬措施,比如如果访问过快,有时候会被封ip(典型的比如豆瓣)。这个时候我们还得要设置代理服务器,即变更我们的ip地址,如果一个ip被封了,就换另外一个ip,具体怎么做,这些话题以后慢慢再说。

小技巧

最后,再介绍一个我认为在写爬虫过程中非常有用的一个小技巧。如果你在使用火狐浏览器或者chrome的话,也许你会注意到有一个叫作开发者工具(chrome)或者web控制台(firefox)的地方。这个工具非常有用,因为利用它,我们可以清楚地看到在访问一个网站的过程中,浏览器到底发送了什么信息,服务器究竟返回了什么信息,这些信息是我们写爬虫的关键所在。下面你就会看到它的巨大用处。

如何爬取评论

首先打开网易云音乐的网页版,随便选择一首歌曲打开它的网页,这里我以周杰伦的《晴天》为例。如下图:

接下来打开web控制台(chrome的话打开开发者工具,如果是其他浏览器应该也是类似),如下图:

然后这个时候我们需要点选网络,清除所有的信息,然后点击重新发送(相当于是刷新浏览器),这样我们就可以直观看到浏览器发送了什么信息以及服务器回应了什么信息。如下图:

刷新之后得到的数据如下

可以看到浏览器发送了非常多的信息,那么哪一个才是我们想要的呢?这里我们可以通过状态码做一个初步的判断,status code(状态码)标志了服务器请求的状态,这里状态码为200即表示请求正常,而304则表示不正常(状态码种类非常多,如果要想详细了解可以自行搜索,这里不说304具体的含义了)。所以我们一般只用看状态码为200的请求就可以了,还有就是,我们可以通过右边栏的预览来粗略观察服务器返回了什么信息(或者查看响应)。如下图:

通过这两种方法结合一般我们就可以快速找到我们想要分析的请求。注意图5中的请求网址一栏即是我们想要请求的网址,请求的方法有两种:get和post,还有一个需要重点关注的就是请求头,里面包含了user-Agent(客户端信息),refrence(从何处跳转过来)等多种信息,一般无论是get还是post方法我们都会把头部信息带上。头部信息如下图:

另外还需要注意的是:get请求一般就直接把请求的参数以 ?parameter1=value1&parameter2=value2 等这样的形式发送了,所以不需要带上额外的请求参数,而post请求则一般需要带上额外的参数,而不直接把参数放在url当中,所以有的时候我们还需要关注参数这一栏。经过仔细寻找,我们终于找到原来与评论相关的请求在http://music163com/weapi/v1/resource/comments/R_SO_4_186016csrf_token= 这个请求当中,如下图:

点开这个请求,我们发现它是一个post请求,请求的参数有两个,一个是params,还有一个是encSecKey,这两个参数的值非常的长,感觉应该像是加密过的。如下图:

服务器返回的和评论相关的数据为json格式的,里面含有非常丰富的信息(比如有关评论者的信息,评论日期,点赞数,评论内容等等),如下图9所示:(其实hotComments为热门评论,comments为评论数组)

至此,我们已经确定了方向了,即只需要确定params和encSecKey这两个参数值即可,这个问题困扰了我一下午,我弄了很久也没有搞清楚这两个参数的加密方式,但是我发现了一个规律,http://music163com/weapi/v1/resource/comments/R_SO_4_186016csrf_token= 中 R_SO_4_ 后面的数字就是这首歌的id值,而对于不同的歌曲的param和encSecKey值,如果把一首歌比如A的这两个参数值传给B这首歌,那么对于相同的页数,这种参数是通用的,即A的第一页的两个参数值传给其他任何一首歌的两个参数,都可以获得相应歌曲的第一页的评论,对于第二页,第三页等也是类似。

但是遗憾的是,不同的页数参数是不同的,这种办法只能抓取有限的几页(当然抓取评论总数和热门评论已经足够了),如果要想抓取全部数据,就必须搞明白这两个参数值的加密方式。

以为没有搞明白,昨天晚上我带着这个问题去知乎搜索了一下,居然真的被我找到了答案。@平胸小仙女 这位知友详细说明了如何破解这两个参数的加密过程,我研究了一下,发现还是有点小复杂的,按照知友写的方法,我改动了一下,就成功得到了全部的评论。这里要对知乎@平胸小仙女 表示感谢。

到此为止,如何抓取网易云音乐的评论全部数据就全部讲完了。按照惯例,最后上代码,亲测有效:

#!/usr/bin/env python27

# -- coding: utf-8 --

# @Time : 2017/3/28 8:46

# @Author : Lyrichu

# @Email : 919987476@qqcom

# @File : NetCloud_spider3py '''

@Description:

网易云音乐评论爬虫,可以完整爬取整个评论

部分参考了@平胸小仙女的文章

来源:知乎

''' from CryptoCipher import AES

import base64

import requests

import json

import codecs

import time

# 头部信息

headers = {

'Host':"music163com",

'Accept-Language':"zh-CN,zh;q=08,en-US;q=05,en;q=03",

'Accept-Encoding':"gzip, deflate",

'Content-Type':"application/x-www-form-urlencoded",

'Cookie':"_ntes_nnid=754361b04b121e078dee797cdb30e0fd,1486026808627; _ntes_nuid=754361b04b121e078dee797cdb30e0fd; JSESSIONID-WYYY=yfqt9ofhY%5CIYNkXW71TqY5OtSZyjE%2FoswGgtl4dMv3Oa7%5CQ50T%2FVaee%2FMSsCifHE0TGtRMYhSPpr20i%5CRO%2BO%2B9pbbJnrUvGzkibhNqw3Tlgn%5Coil%2FrW7zFZZWSA3K9gD77MPSVH6fnv5hIT8ms70MNB3CxK5r3ecj3tFMlWFbFOZmGw%5C%3A1490677541180; _iuqxldmzr_=32; vjuids=c8ca797615a029d006a051373751e63af8; vjlast=1486102528149017247921; __gads=ID=a9eed5e3cae4d252:T=1486102537:S=ALNI_Mb5XX2vlkjsiU5cIy91-ToUDoFxIw; vinfo_n_f_l_n3=411a2def7f75a62e11148634944166914863496079051490173828142; P_INFO=m15527594439@163com|1489375076|1|study|00&99|null&null&null#hub&420100#10#0#0|155439&1|study_client|15527594439@163com; NTES_CMT_USER_INFO=84794134%7Cm1554439%7Chttps%3A%2F%2Fsimgws126net%2Fe%2Fimg5cacheneteasecom%2Ftie%2Fimages%2Fyun%2Fphoto_default_62png39x39100jpg%7Cfalse%7CbTE1NTI3NTk0NDM5QDE2My5jb20%3D; usertrack=c+5+hljHgU0T1FDmA66MAg==; Province=027; City=027; _ga=GA1215498510141489469781; __utma=9465062415498510141489469781149066457714906728208; __utmc=94650624; __utmz=94650624149066182262utmcsr=baidu|utmccn=(organic)|utmcmd=organic; playerid=81568911; __utmb=9465062423101490672820",

'Connection':"keep-alive",

'Referer':'http://music163com/' }

# 设置代理服务器

proxies= {

'http:':'http://121232146184',

'https:':'https://14425548197'

}

# offset的取值为:

(评论页数-1)20,total第一页为true,其余页为false # first_param = '{rid:"", offset:"0", total:"true", limit:"20", csrf_token:""}'

# 第一个参数 second_param = "010001"

# 第二个参数

# 第三个参数 third_param = "00e0b509f6259df8642dbc35662901477df22677ec152b5ff68ace615bb7b725152b3ab17a876aea8a5aa76d2e417629ec4ee341f56135fccf695280104e0312ecbda92557c93870114af6c9d05c4f7f0c3685b7a46bee255932575cce10b424d813cfe4875d3e82047b97ddef52741d546b8e289dc6935b3ece0462db0a22b8e7"

# 第四个参数 forth_param = "0CoJUm6Qyw8W8jud"

# 获取参数 def get_params(page):

# page为传入页数

iv = "0102030405060708"

first_key = forth_param

second_key = 16 'F'

if(page == 1): # 如果为第一页

first_param = '{rid:"", offset:"0", total:"true", limit:"20", csrf_token:""}'

h_encText = AES_encrypt(first_param, first_key, iv)

else:

offset = str((page-1)20)

first_param = '{rid:"", offset:"%s", total:"%s", limit:"20", csrf_token:""}' %(offset,'false')

h_encText = AES_encrypt(first_param, first_key, iv)

h_encText = AES_encrypt(h_encText, second_key, iv)

return h_encText

# 获取 encSecKey

def get_encSecKey():

encSecKey = "257348aecb5e556c066de214e531faadd1c55d814f9be95fd06d6bff9f4c7a41f831f6394d5a3fd2e3881736d94a02ca919d952872e7d0a50ebfa1769a7a62d512f5f1ca21aec60bc3819a9c3ffca5eca9a0dba6d6f7249b06f5965ecfff3695b54e1c28f3f624750ed39e7de08fc8493242e26dbc4484a01c76f739e135637c"

return encSecKey

# 解密过程

def AES_encrypt(text, key, iv):

pad = 16 - len(text) % 16

text = text + pad chr(pad)

encryptor = AESnew(key, AESMODE_CBC, iv)

encrypt_text = encryptorencrypt(text)

encrypt_text = base64b64encode(encrypt_text)

return encrypt_text

# 获得评论json数据

def get_json(url, params, encSecKey):

data = {

"params": params,

"encSecKey": encSecKey

}

response = requestspost(url, headers=headers, data=data,proxies = proxies)

return responsecontent

# 抓取热门评论,返回热评列表

def get_hot_comments(url):

hot_comments_list = []

hot_comments_listappend(u"用户ID 用户昵称 用户头像地址 评论时间 点赞总数 评论内容")

params = get_params(1) # 第一页

encSecKey = get_encSecKey()

json_text = get_json(url,params,encSecKey)

json_dict = jsonloads(json_text)

hot_comments = json_dict['hotComments'] # 热门评论

print("共有%d条热门评论!" % len(hot_comments))

for item in hot_comments:

comment = item['content'] # 评论内容

likedCount = item['likedCount'] # 点赞总数

comment_time = item['time'] # 评论时间(时间戳)

userID = item['user']['userID'] # 评论者id

nickname = item['user']['nickname'] # 昵称

avatarUrl = item['user']['avatarUrl'] # 头像地址

comment_info = userID + " " + nickname + " " + avatarUrl + " " + comment_time + " " + likedCount + " " + comment + u""

hot_comments_listappend(comment_info)

return hot_comments_list

# 抓取某一首歌的全部评论

def get_all_comments(url):

all_comments_list = [] # 存放所有评论

all_comments_listappend(u"用户ID 用户昵称 用户头像地址 评论时间 点赞总数 评论内容") # 头部信息

params = get_params(1)

encSecKey = get_encSecKey()

json_text = get_json(url,params,encSecKey)

json_dict = jsonloads(json_text)

comments_num = int(json_dict['total'])

if(comments_num % 20 == 0):

你这个 应该去路由表看一下 route -n 应该没到到19216811 的路由或者 有而不是指向19216811

所以 rout e add default gw 19216811

或者 route add -net 0000 netmask 0000 gw 19216811

如果永久生效 加 /etc/rclocal

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 寻找瑞星

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情