自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(357)
  • 资源 (19)
  • 收藏
  • 关注

转载 为什么javascript是单线程?

一、为什么JavaScript是单线程?JavaScript语言的一大特点就是单线程,也就是说,同一个时间只能做一件事。那么,为什么JavaScript不能有多个线程呢?这样能提高效率啊。JavaScript的单线程,与它的用途有关。作为浏览器脚本语言,JavaScript的主要用途是与用户互动,以及操作DOM。这决定了它只能是单线程,否则会带来很复杂的同步问题。比如,假定JavaScri

2017-05-12 17:44:54 633

转载 美团Android资源混淆保护实践

前言Android应用中的APK安全性一直遭人诟病,市面上充斥着各种被破解或者汉化的应用,破解者可以非常简单的通过破解工具就能对一个APK进行反编译、破解、汉化等等,这样就可以修改原有代码的逻辑、添加新代码、添加或修改资源、或者更有甚者植入病毒等等,从而破坏原有APK的安全和用户体验,最终伤害到用户和原有的开发者。而事物都是有两方面的,有矛就有盾,针对Android应用安全的各种方案应运而

2017-05-12 16:49:03 678

转载 Meta标签中的format-detection属性及含义

format-detection翻译成中文的意思是“格式检测”,顾名思义,它是用来检测html里的一些格式的,那关于meta的format-detection属性主要是有以下几个设置:meta name="format-detection" content="telephone=no"meta name="format-detection" content="email=no"me

2017-05-12 14:01:45 693

转载 HTTP协议的头信息详解

HTTP协议的头信息详解 HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送WWW方式的数据,关于HTTP 协议的详细内容请参 考RFC2616。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URI、协议版本、以及包含请求修饰符、客户 信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,相应的内容

2017-05-11 13:17:44 633

转载 Android HTTPS如何10分钟实现自签名SSL证书

前言去年公司内一个应用加了支付宝支付功能,为了保证安全,支付请求链接写成了https。由于公司服务器使用的是的自签名证书,而在Android系统中自己签署的不能通过验证的,所以会抛出错误。于是我网上查找了很多资料,也尝试过几种方法,过程都很繁琐,搞了一通宵都不行。幸亏通过一个朋友找到了以下这个简便的开源库https://github.com/lizhangqu/CoreUtil

2017-05-10 20:06:16 1035 1

转载 android webview 访问https页面 SslError 处理

在Android中,WebView可以用来加载http和https网页到本地应用的控件。但是在默认情况下,通过loadUrl(String url)方法,可以顺利loadUrl(“http://www.baidu.com”)之类的页面。但是,当load通过ssl加密的https页面,但是如果这个网站的安全证书在Android无法得到认证,WebView就会变成一个空白页,而并不会像自带的浏览器一样

2017-05-10 18:57:45 3506

转载 浅谈https\ssl\数字证书

在互联网安全通信方式上,目前用的最多的就是https配合ssl和数字证书来保证传输和认证安全了。本文追本溯源围绕这个模式谈一谈。名词解释  首先解释一下上面的几个名词:https:在http(超文本传输协议)基础上提出的一种安全的http协议,因此可以称为安全的超文本传输协议。http协议直接放置在TCP协议之上,而https提出在http和TCP中间加上一层加密层。从发送端看,这

2017-05-10 17:55:55 276

转载 LeakCanary原理分析

导语:提到Java语言的特点,无论是教科书还是程序员一般都会罗列出面向对象、可移植性及安全等特点。但如果你是一位刚从C/C++转到Java的程序员,对Java语言的特性除了面向对象之外,最外直接的应当是在Java虚拟机(JVM)在内存管理方面给我们变成带来的便利。JVM的这一大特性使Java程序员从繁琐的内存管理工作中得到了一定解放,但是JVM的这个特点的实现也是有代价的,并且它也并非万能

2017-05-07 10:42:36 12946 2

转载 Jquery on方法绑定事件后执行多次

这两天工作中遇到使用js动态加载内容,同时需要对加入的内容绑定点击事件的,当时想想了想可以使用内联的onclick 来实现,后来没有这样做,使用的是on(‘click’,function(){}) ,然而使用on方法的时候就发现,on 对同一个元素多次绑定同一个事件的时候,这个事件就会执行多次。下面给出这种情况的实例:$(function(){ $(".add").cl

2017-05-06 15:34:45 618

转载 css3 box-sizing属性

box-sizing属性可以为三个值之一:content-box(default),border-box,padding-box。content-box,border和padding不计算入width之内padding-box,padding计算入width内border-box,border和padding计算入width之内,其实就是怪异模式了~ ie8+浏览器支持cont

2017-05-06 12:57:29 273

转载 Android HTTPS中间人劫持漏洞浅析

1. Android HTTPS中间人劫持漏洞描述      在密码学和计算机安全领域中,中间人攻击 ( Man-in-the-middle attack,通常缩写为MITM )是指攻击者与通讯的两端分别创建独立的联系,并交换其所收到的数据,使通讯的两端认为他们正在通过一个私密的连接与对方直接对话,但事实上整个会话都被攻击者完全控制。在中间人攻击中,攻击者可以拦截通讯双方的通话并插入新的内容[

2017-05-02 17:58:13 796

转载 Android app 安全测试调研及执行

Android安全测试一、通过在线工具进行测试1.腾讯金刚审计系统http://service.security.tencent.com优点:包含了修复建议2.阿里聚安全检测网址: http://jaq.alibaba.com/ 阿里聚安全下有自己的安全博客,包含一些:1.安全漏洞、2.病毒分析、3.技术研究、4.安全报告相关文档。3.360捉虫猎手检测结果网址

2017-05-01 16:08:14 1628

转载 Android Studio的Instant Run工作原理及用法

前言看到一篇介绍Instant Run的文章,觉得蛮不错的,翻译记录一下,其中夹杂着自己的理解(原文地址),最后附上Install Run的使用方法。(本文图片出处)tips:文中所有链接地址都国内或许不能访问Instant RunInstant Run,是android studio2.0新增的一个运行机制,在你编码开发、测试或debug的时候,它都能显著减少你对当前应用的构建和

2017-04-28 17:55:00 850

转载 commons-codec包简介

包含一些通用的编码解码算法。包括一些语音编码器,Hex,Base64commons-codec包可以从apache下载,最新版是1.3不可逆算法1.MD5String str = "abc";DigestUtils.md5Hex(str);附.net生成MD5的方法,生成内容跟Java一致:String str = "abc";FormsAu

2017-04-28 13:53:07 1647

转载 基于 Facebook Redex 实现 Android APK 的压缩和优化

最近 Facebook 开源了一个名为 Redex[1] 的工具包,专门用于 Android 字节码的优化,经过 Redex 转换后的 APK,体积变得更小,运行速度变得更快。Redex 基于管道的方式来优化 Android 的.dex 文件,一个源 .dex 文件通过管道进行一系列的自定义转换后,将得到一个优化的 .dex 文件。接下来将带大家简单快速的了解 Redex 是什么,以及它的基本

2017-04-28 13:33:16 658

转载 Android笔记:Android 7.0 FileUriExposedException 解决

从Android 7.0开始,一个应用提供自身文件给其它应用使用时,如果给出一个file://格式的URI的话,应用会抛出FileUriExposedException。这是由于谷歌认为目标app可能不具有文件权限,会造成潜在的问题。所以让这一行为快速失败。详见这里。这里讨论两种解决方式。1 FileProvider方式这是谷歌官方推荐的解决方案。即使用FileProvider来生成一个c

2017-04-27 16:58:36 606

转载 跨域与跨域访问

什么是跨域跨域是指从一个域名的网页去请求另一个域名的资源。比如从www.baidu.com 页面去请求 www.google.com 的资源。跨域的严格一点的定义是:只要 协议,域名,端口有任何一个的不同,就被当作是跨域为什么浏览器要限制跨域访问呢?原因就是安全问题:如果一个网页可以随意地访问另外一个网站的资源,那么就有可能在客户完全不知情的情况下出现安全问题。比如下面的操作就有安全问

2017-04-26 18:45:02 283

转载 HashMap多线程并发问题分析

并发问题的症状多线程put后可能导致get死循环从前我们的Java代码因为一些原因使用了HashMap这个东西,但是当时的程序是单线程的,一切都没有问题。后来,我们的程序性能有问题,所以需要变成多线程的,于是,变成多线程后到了线上,发现程序经常占了100%的CPU,查看堆栈,你会发现程序都Hang在了HashMap.get()这个方法上了,重启程序后问题消失。但是过段时间又会来。而且,这个

2017-04-25 14:12:46 507

转载 MAC上反编译android apk---apktool, dex2jar, jd-jui安装使用(含手动签名)

前文 介绍了在Windows平台利用强大的APK-Multi-Tool进行反编译apk,修改smali源码后再回编译成apk的流程,最近受人之托,破解个apk,所幸的是所用到的这三个软件都是跨平台的,mac上也妥妥的。这里记录下在mac上所用的东西和流程。总共需要三个软件,为了便于找到最新的版本,把官网也放后面:Apktool:http://ibotpeaches.github.i

2017-04-24 22:11:06 837

转载 Android之WebView优化之路

前言随着app的迭代,嵌入的HTML5界面越来越多了,Webview这个强大组件引起的问题越发的多起来,例如:1、WebView导致的oom问题2、Android版本不同,采用了不同的内核,兼容性crash3、不同版本实现不同,甚至URI不规范也会引起不同程度的问题为了解决以上问题,我们把WebView模块做成独立进程WebView独立进程

2017-04-24 21:44:23 713

转载 WebViewClient与WebChromeClient的区别

Android应用开发的时候可能会用到WebView这个组件,使用过程中可能会接触到WebViewClient与WebChromeClient,那么这两个类到底有什么不同呢?WebViewClient主要帮助WebView处理各种通知、请求事件的,比如:onLoadResourceonPageStartonPageFinish

2017-04-24 11:34:18 465

转载 阿里聚安全Webview安全攻防

背景:Webview安全风险之前一直没引起重视,直到addJavascriptInterface挂马漏洞拉开了Webview安全风险的序幕。由于Android版本的碎片化,导致Webview存在大量的Nday漏洞和安全风险。阿里聚安全专家将会对Webview存在的安全风险进行整理及防御方案探讨。一、  UXSS漏洞攻击Webview历史上存在大量的Nday漏洞,包括但不限于UXSS漏洞、远

2017-04-23 21:26:39 1399

转载 Android WebView的Js对象注入漏洞解决方案

最近在做一个项目过程中,发现了一个很严重的安全漏洞,这个漏洞是乌云平台(http://www.wooyun.org)报告出来的。1,使用场景我们很多时候要使用WebView来展示一个网页,现在很多应用为了做到服务端可控,很多结果页都是网页的,而不是本地实现,这样做有很多好处,比如界面的改变不需要重新发布新版本,直接在Server端修改就行了。用网页来展示界面,通常情况下都或多或少都与Jav

2017-04-23 21:18:30 501

转载 在 Mac OS X中校验文件的SHA1值

SHA1 值常用于检验分布后的文件是否受损或缺失。通常情况下,用 SHA1 验证可以检查传输后的文件是否仍是原始文件。如果 SHA1 值和分发者提供的相符,那么文件就没有受损或被篡改。如何在 Mac OS X 中检验某个文件的 SHA1 值运行终端(应用程序 – 实用工具 – 终端.app),并按以下语法执行检查:shasum /path/to/file例如,要检查桌面上一

2017-04-23 20:38:33 8754

转载 Android应用程序签名过程分析

在正式解释Android应用程序签名过程之前,作为铺垫,还得先讲讲最基本的一些概念。非对称加密算法非对称加密算法需要两个密钥:公开密钥(简称公钥)和私有密钥(简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密;如果用私钥对数据进行加密,那么只有用对应的公钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。非对称加密算法是数字签

2017-04-23 17:08:09 459

转载 Android签名机制之---签名过程详解

一、前言又是过了好长时间,没写文章的双手都有点难受了。今天是圣诞节,还是得上班。因为前几天有一个之前的同事,在申请微信SDK的时候,遇到签名的问题,问了我一下,结果把我难倒了。。我说Android中的签名大家都会熟悉的,就是为了安全,不让别人修改你的apk,但是我们真正的有了解多少呢?所以准备两篇文章好好介绍一下Android中签名机制。在说道Android签名之前,我们需要了解的几个知识

2017-04-23 16:53:32 608

转载 nodejs+npm+gulp使用详细教程

nodejs+npm+gulp使用详细教程nodejs简介npm简介gulp简介gulp入门npm模块管理nodejs简介nodejs 是一个javascript运行环境。npm简介NPM(node package manager),通常称为node包管理器。安装node的时候已经集成了npm,它的主要功能就是管理node包,包括:安装、卸载、更新、查看

2017-04-21 16:53:24 2766

转载 NPM 使用介绍

NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:允许用户从NPM服务器下载别人编写的第三方包到本地使用。允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。由于新版的nodejs已经集成了npm,所以之前npm也一并安装好了。同样可以通过输入 "n

2017-04-21 16:50:25 599

转载 android sqlite数据库并发问题的详细描述和解决方案

文章参考链接:http://www.it165.net/database/html/201403/5759.html文章的开始说几句题外话,我们写程序的最重要的也是最基础的就是操作数据,也是避免不了和数据库打交道。在我的写Android sqlite数据库中遇到了一些异常困扰了我很久。尝试了几种解决方案,找到种我感觉还是较为合理的解决方案。我很高兴把它写出来和大家共享,希望对你有一些帮

2017-04-20 11:46:40 5253 1

转载 浅谈AndroidManifest文件的android:allowBackup属性

1.allowBackup安全风险描述Android API Level 8及其以上Android系统提供了为应用程序数据的备份和恢复功能,此功能的开关决定于该应用程序中AndroidManifest.xml文件中的allowBackup属性值[1] ,其属性值默认是True。当allowBackup标志为true时,用户即可通过adb backup和adb restore来进行对应用数据

2017-04-19 14:33:37 880

转载 Android App 瘦身总结

随着移动端产品功能的逐渐增加,APP 的体积也不可避免地呈现上升趋势,如果不加以重视,几个版本迭代下来,可能你的 APP 体积会达到用户不能忍受的程度。如果你是 SDK 开发者,你的 SDK 包大小是用户决定是否采用的关键因素;如果你的APP 想要预装到某款手机或者某款 Android 系统中,APP 的体积也会受到很严格的限制。因此,APP 的瘦身是每个移动端产品都会遇到的一个普遍问

2017-04-19 14:01:16 643

转载 浅谈CSRF攻击方式

一.CSRF是什么?  CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。二.CSRF可以做什么?  你这可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚

2017-04-18 18:48:59 234

转载 JavaScript历史

要了解JavaScript,我们首先要回顾一下JavaScript的诞生。在上个世纪的1995年,当时的网景公司正凭借其Navigator浏览器成为Web时代开启时最著名的第一代互联网公司。由于网景公司希望能在静态HTML页面上添加一些动态效果,于是叫Brendan Eich这哥们在两周之内设计出了JavaScript语言。你没看错,这哥们只用了10天时间。为什么起名叫JavaScri

2017-04-17 07:50:45 239

转载 ART模式和Dalvik模式的异同

Dalvik模式    如果要解释清楚什么是ART模式,我们就需要从Android系统的应用编译模式说起,我们都知道Android系统是以Linux系统为底层构建的,Android系统是开源(源代码公开)的,Android系统势必会适配到不同硬件配置的设备上,因此谷歌为了降低应用的开发难度在Linux底层之上构筑了一个名为“Dalvik”的虚拟机。    因为Dalvik虚拟机的存在,An

2017-04-17 07:16:45 520

转载 经典算法面试题及答案

1. 时针分针重合几次表面上有60个小格,每小格代表一分钟,时针每分钟走1/12小格,分针每分钟走1小格,从第一次重合到第二次重合分针比时针多走一圈即60小格,所以60/(1-1/12)=720/11每隔720/11分才重合一次(而并不是每小时重合一次)1440里有22个720/11,如果说算上0点和24点,那也是重合23次而已,但我觉得0点应该

2017-04-15 21:03:30 857

转载 React 入门实例教程

作者: 阮一峰日期: 2015年3月31日现在最热门的前端框架,毫无疑问是 React 。上周,基于 React 的 React Native 发布,结果一天之内,就获得了 5000 颗星,受瞩目程度可见一斑。React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设 I

2017-04-15 15:15:19 496

转载 GC Root的对象

在Java中,可以当做GC Root的对象有以下几种:1、虚拟机(JVM)栈中的引用的对象2、方法区中的类静态属性引用的对象3、方法区中的常量引用的对象(主要指声明为final的常量值)4、本地方法栈中JNI的引用的对象

2017-04-15 10:50:11 1144

转载 使用System.setOut()

setOut()方法可以改变输出流[java] view plain copy package java1200;    //可以向文件里写数据  import java.io.FileNotFoundException;  import java.io.PrintStream;    public class RedirectOutputStream {     

2017-04-14 21:48:15 11168

转载 Fragment中调用getActivity为null的问题

在使用fragment的时候经常会遇到getActivity()为null的情况。比如我在一个异步网路请求的回调中调用了getActivity()就会出现空指针问题。之前解决这个问题,通常都是直接加空指针判断来规避,但是这并没有真正解决问题。    很多人都曾被这个问题所困扰,如果app长时间在后台运行,再次进入app的时候可能会出现crash,而且fragment会有重叠现象。如果系

2017-04-14 21:37:57 293 1

原创 webview无法正常加载和点击的bug

有浏览器客户反馈,使用我们的sdk,sdk中的webview无法正常显示和操作。初步分析与客户使用WebView的方式相关,但是不知道具体哪个设置。后台查了一下,也有类似的问题:原来客户调用了webview的pauseTimers方法,这个方法不仅仅针对当前的webview而是全局的全应用程序的webview,它会暂停所有webview的layout,parsing,javascrip

2017-04-14 13:08:12 1846

Android电子书

android 电子书 代码 源代码

2012-12-18

html5编写的文件阅览器

html5编写的文件阅览器

2012-11-26

CustomWidget_自定义控件

CustomWidget_自定义控件

2012-11-01

android-shuffle 备忘录源代码

备忘录源代码

2012-10-30

schedule_简单日程表源代码

schedule_简单日程表源代码

2012-10-30

zz-doctor中医大夫助理信息系统(简化版)

zz-doctor中医大夫助理信息系统(简化版)

2012-10-30

jamendo-开源在线音乐

jamendo-开源在线音乐

2012-10-30

飞行历 飞行模式 AirPlus

飞行历 飞行模式 AirPlus

2012-10-30

AndroidSkillTest_Animotion_加载动画

AndroidSkillTest_Animotion_加载动画

2012-10-30

Android_Gallery3D_图库

Android_Gallery3D_图库

2012-10-26

android 快速滑动首字母 提示通讯录

android快速滑动列表首字母提示仿通讯录

2012-10-26

图片异步加载,图片优化

图片异步加载 图片优化 android

2012-10-26

Android自定义Toast

Android 自定义Toast,各种Toast

2012-10-26

Android 旋转菜单

CarouselDemo_旋转的动物,Android 旋转菜单

2012-10-26

Android图片浏览器

图片浏览器 android,挺不错的,图片浏览器 android,挺不错的

2012-10-26

Android倒影画廊

android倒影画廊,效果很不错,倒影画廊

2012-10-25

Android获取IP的程序

Android获取IP的程序,简单实用,经过测试

2012-10-24

用c#写的简单讨论板

用c#写的简单讨论板, 很实用, 呵呵

2008-09-17

建筑的永恒之道

《建筑的永恒之道》提出了一个关于建筑设计、建筑和规划的新的理论,该理论的核心是社会成员按照他们自己的存在状态设定他们生活的世界秩序,这一古老方式从根本上构成了新的后工业时代建筑的基础,这些建筑由人们创造……<br>

2008-03-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除