自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

技术归档

得失寸心知,且行且珍重

  • 博客(70)
  • 收藏
  • 关注

转载 如何编写无法维护的代码

如何编写无法维护的代码让自己稳拿铁饭碗 —— Roedy Green简介永远不要(把自己遇到的问题)归因于(他人的)恶意,这恰恰说明了(你自己的)无能。 — 拿破仑为了造福大众,在Java编程领域创造就业机会,兄弟我在此传授大师们的秘籍。这些大师写的代码极其难以维护,后继者就是想对它做最简单的修改都需要花上数年时间。而且,如果你能对照

2015-06-20 15:31:44 1492

原创 游戏skr而止,漏洞周而复始 —— 游戏合约漏洞全面汇总 | 漏洞分析连载之六

安全,区块链领域举足轻重的话题,为什么一行代码能瞬间蒸发几十亿市值?合约底层函数的使用不当会引起哪些漏洞?游戏合约中又存在哪些漏洞? 「区块链大本营」携手「成都链安科技」团队重磅推出「合约安全漏洞解析连载」,以讲故事的方式,带你回顾区块链安全走过的历程;分析漏洞背后的玄机。让开发者在趣味中学习,写出更加牢固的合约,且防患于未然。 当然,这些文章并不是专为开发者而作的,即使你不是...

2018-08-24 10:44:40 426

原创 确认过眼神,地址不是对的人—— 权限验证错误 | 漏洞分析连载之五

引子:横看成岭侧成峰,远近高低各不同。不识庐山真面目,只缘身在此山中。—— 《题西林壁》苏轼上回说到 :底层函数调用险象环生,外部功能慎用防患未然,真假难辨黑客诡计多端,完善规则杜绝内忧外患。没看过的请戳:合约安全漏洞连载之四本回咱们聊聊:地址恢复功亏一篑,身份判断轻虑浅谋。逻辑补全自圆其说,原理辨析帷幄运筹。智能合约作为以太坊上各种加密数字货币...

2018-08-23 21:16:35 419

原创 偷天换日合约易主,地址变脸移花接木——底层函数误用漏洞 | 漏洞分析连载之四

安全,区块链领域举足轻重的话题,为什么一行代码能瞬间蒸发几十亿市值?合约底层函数的使用不当会引起哪些漏洞?可注入call漏洞和delegatecall误用漏洞会导致什么风险?「区块链大本营」携手「链安科技」团队重磅推出「合约安全漏洞解析连载」,以讲故事的方式,带你回顾区块链安全走过的历程;分析漏洞背后的玄机。让开发者在趣味中学习,写出更加牢固的合约,且防患于未然。当然,这些文章并不是专...

2018-08-23 21:12:20 480

原创 弯道超车老司机戏耍智能合约——竞态条件漏洞 | 漏洞解析连载之三

安全,区块链领域举足轻重的话题,为什么一行代码能瞬间蒸发几十亿市值?合约底层函数的使用不当会引起哪些漏洞?重入漏洞会导致什么风险? 「区块链大本营」携手「链安科技」团队重磅推出「合约安全漏洞解析连载」,以讲故事的方式,带你回顾区块链安全走过的历程;分析漏洞背后的玄机。让开发者在趣味中学习,写出更加牢固的合约,且防患于未然。 当然,这些文章并不是专为开发者而作的,即使你不是开发者...

2018-08-23 21:09:58 323

转载 “冰封”合约背后的老牌劲敌——拒绝服务漏洞 | 漏洞解析连载之二

 安全,区块链领域举足轻重的话题,为什么一行代码能瞬间蒸发几十亿市值?合约底层函数的使用不当会引起哪些漏洞?在合约中发送以太币存在哪些风险?服务攻击DOS有哪些类型? 「区块链大本营」携手「链安科技」团队重磅推出「合约安全漏洞解析连载」,以讲故事的方式,带你回顾区块链安全走过的历程;分析漏洞背后的玄机。让开发者在趣味中学习,写出更加牢固的合约,且防患于未然。 当然,这些文章...

2018-08-23 21:01:03 459

转载 干货,史上杀伤力最大的溢出型漏洞到底是什么?看这一篇就够了| 漏洞连载

4月发生的BEC事件以及SMT事件已经沉淀一段时间了,具体的情况也被多方媒体所报道,相关的漏洞根源问题也有很多大神团队的分析和指正。近日,有安全团队将各种已经发生或可能发生的类似溢出漏洞原理进行整理,再次将全方位的原理分析与大家分享,让大家对溢出型漏洞有全面的认识。事件回顾2018年4月22日,黑客对BEC智能合约发起攻击,凭空取出57,896,044,618,658,100,...

2018-08-23 20:58:05 473

转载 你没看过的V神早期神文,现在读起来仍受益匪浅

本文在某种意义上是传世孤本。 2014年2月24日,以太坊创始人Vitalik Buterin在Bitcoin Magazine上写下了这篇文章。可能连V神都没想到,这篇文章成为以太坊构建之初,自己唯一一篇系统介绍DAO(去中心化自治组织)的传世文章。 可惜的是,这篇文章不仅是孤本还是残本,至今国内无人翻译过,堪称沧海遗珠! 在完成本文前两部分后,Vitalik突然投笔,不...

2018-08-23 20:53:38 389

转载 Game35传销模式的合约代码公布

今天看智能合约,发现现在智能合约越来越有人性的味道了,居然出现了金字塔阶梯式的拉人奖励,废话不多说看图:仔细看了下合约逻辑,Game35合约的玩法是多级推荐,每次最低买入金额是5 ETH,五级推荐人都能获得奖励,直接推荐人获得1%的奖励,二、三、四、五级推荐人会获得0.5%的奖励,预计会有越来越多互联网的玩法涌入到区块链合约中,拭目以待。DappBrowser,是一款安全、易用、优...

2018-08-23 20:37:48 625

原创 MetaMask新版本新增获取并修改用户剪切板内容权限

Metamask 是 Google Chrome 浏览器的扩展,将以太坊与 Google Chrome 结合,在 Chrome 浏览器上运行以太坊 DApps,以及身份识别的工具。于是,它就具备了类似 Mist 的钱包功能,允许用户管理自己的账户,通过 Web3 JavaScript API,让 DApp 与以太坊区块链实现交互。在浏览页面注入 Web3,将触发 Metamask 弹出一个对话框,...

2018-08-23 20:32:21 1069

原创 Fomo3D 玩法中文版指南,Dapp 游戏热度超越加密猫CryptoKitties排名第一

懒人直接看如下操作步骤,想完整了解这个游戏的耐心往后翻。1、游戏页面:Fomo3D 操作步骤解释2、详细完整的游戏规则及奖池分配规则3、团队模式里隐藏的F3D代币 持有者分红 一、游戏的傻瓜操作方式1、用装有metamask狐狸钱包的浏览器或者 安装有DappBrowser钱包的手机 打开官方游戏页面2、游戏页面上会显示当前局奖金池累计的eth数量,当前每个key的购买价...

2018-07-21 06:12:16 2695

原创 ARC缓存淘汰算法及其在ZFS上的实现

文档:http://www.c0t0d0s0.org/archives/5329-Some-insight-into-the-read-cache-of-ZFS-or-The-ARC.htmlhttp://dtrace.org/blogs/brendan/2012/01/09/activity-of-the-zfs-arc/https://pthree.org/2012/12/

2016-06-15 10:57:06 1909

转载 Application内在SD卡中创建文件,但PC端无法看到

MTP, External Storage, and Your AppNOTE: This post originally appeared on the Appaholics blog as a guest postSome changes in Android 3.x may impact your application, if you are writing conte

2016-01-16 17:18:08 758

转载 android 事件处理机制之requestDisallowInterceptTouchEvent

当手指触摸到屏幕时,系统就会调用相应View的onTouchEvent,并传入一系列的action。当有多个层级的View时,在父层级允许的情况下,这个action会一直向下传递直到遇到最深层的View。所以touch事件最先调用的是最底层View的onTouchEent,如果View的onTouchEvent接收到某个touch action并作了相应处理,最后有两种返回方式return t

2016-01-07 22:09:40 436

原创 不透明度16进制值

不透明度16进制值100%FF95%F290%E685%D980%CC75%BF70%B365%A660%9955%8C50%8045%7340%6635%59

2016-01-04 18:36:02 441

转载 Android 上实现非root的 Traceroute -- 非Root权限下移植可执行二进制文件 脚本文件

1. 原理思路文件权限修改无法实现 : 如果 没有 root 权限, 就不能改变二进制文件的文件权限;-- 将busybox推送到Android系统中 : 使用 adb push 命令, 将 busybox 传入到 sd 卡中, 注意, 上传到内存中无法实现;-- 上传到sd卡成功 : 使用 adb push 文件名 手机中的文件全路径名 命令;

2015-12-30 21:53:26 1336

转载 Fragment提交transaction导致state loss异常

下面自从Honeycomb发布后,下面栈跟踪信息和异常信息已经困扰了StackOverFlow很久了。java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState at android.support.v4.app.FragmentManagerImpl.checkState

2015-12-30 21:46:12 423

转载 AAPT命令解析

aapt p[ackage] [-d][-f][-m][-u][-v][-x][-z]/[-M AndroidManifest.xml] /[-0 extension [-0 extension ...]]/[-g tolerance] [-j jarfile] /[--debug-mode] [--min-sdk-version VAL]/[--target-sdk-version V

2015-12-29 10:50:28 943

原创 System services not available to Activities before onCreate()错误解决方法

错误信息:11-05 12:11:45.439 11428-11428/com.atmu.materialdesign.mcsm E/AndroidRuntime: FATAL EXCEPTION: main11-05 12:11:45.439 11428-11428/com.atmu.materialdesign.mcsm E/AndroidRuntime: java.lang.Runti

2015-11-05 12:24:34 1484

原创 okHttp使用中报Could not find method java.nio.file.Files.newOutputStreamo警告问题

最近在使用okHttp过程中总是报下面的警告I/dalvikvm﹕ Could not find method com.squareup.okhttp.internal.huc.HttpURLConnectionImpl.getContentLengthLong, referenced from method com.squareup.okhttp.internal.huc.HttpsURLC

2015-10-22 12:33:16 8818

转载 Android解耦库EventBus的使用和源码分析

github:https://github.com/greenrobot/EventBus在编程过程中,当我们想通知其他组件某些事情发生时,我们通常使用观察者模式,正式因为观察者模式非常常见,所以在jdk1.5中已经帮助我们实现了观察者模式,我们只需要简单的继承一些类就可以快速使用观察者模式,在Android中也有一个类似功能的开源库EventBus,可以很方便的帮助我们实现观察者模式,那

2015-10-09 13:53:03 519

转载 Flux Architecture on Android

英文原文:http://lgvalle.xyz/2015/08/04/flux-architecture/要为安卓应用找到一个好的架构不是一件容易的事情。谷歌似乎不太在乎这个事情,因此在设计模式上,除了Activity 生命周期管理之外,再也没有官方的推荐。但是,为你的应用打造一个架构是非常重要的。不管你是否喜欢,任何应用最终都会有一个架构。因此你最好是成为一个架构的奠基人,而

2015-09-30 11:20:03 527

转载 MVP Architecture on Android

一、概述对于MVP(Model View Presenter),大多数人都能说出一二:“MVC的演化版本”,“让Model和View完全解耦”等等。本篇博文仅是为了做下记录,提出一些自己的看法,和帮助大家如何针对一个Activity页面去编写针对MVP风格的代码。对于MVP,我的内心有一个问题:为何这个模式出来后,就能被广大的Android的程序员接受呢?问了些

2015-09-30 10:15:53 362

原创 Android小知识

个人在开发Android应用的过程中遇到的一些容易被忽略的知识点。1.ListView中关于Item和convertView之间重用的问题如果你有100条数据,但是手机屏幕的高度只能够显示9个,其实在ListView中只会加载10个View而不是一口气加载100个,多出来的那一个View是用来给convertView重用的,这样当你上拉或者下拉的过程中其实只是这10个View在来来回回的被

2015-09-25 09:35:22 511

转载 Android启动另一个应用(只需知道package name)

Android SDK中有这样一个API:public abstract Intent getLaunchIntentForPackage (String packageName)如果packageName存在返回入口Intent, startActivity(Intent)可以启动应用,否则返回nullimport android.app.Activity;下面有个小示例

2015-09-21 13:16:10 753

转载 Android 禁用和开启四大组件的方法(setComponentEnabledSetting )

为什么要关闭组件? 在用到组件时,有时候我们可能暂时性的不使用组件,但又不想把组件kill掉,比如创建了一个broadcastReceiver广播监听器,用来想监听第一次开机启动后获得系统的许多相关信息,并保存在文件中,这样以后每次开机启动就不需要再去启动该服务了,也就是说如果没有把receiver关闭掉,就算是不做数据处理,但程序却还一直在后台运行会消耗电量和内存,这时候就需要把这个rece

2015-09-17 21:02:14 713

转载 ApplicationId versus PackageName

http://tools.android.com/tech-docs/new-build-system/applicationid-vs-packagenameApplicationId 与 PackageName所有的 Android 应用程序都有一个包名。包名是设备上的这个应用程序的唯一标识,也是在谷歌Play商店上的唯一标识。这意味着,一旦你已发布的程序使用了

2015-09-16 11:00:55 383

转载 OkHttp使用教程

Android系统提供了两种HTTP通信类,HttpURLConnection和HttpClient。关于HttpURLConnection和HttpClient的选择>>官方博客尽管Google在大部分安卓版本中推荐使用HttpURLConnection,但是这个类相比HttpClient实在是太难用,太弱爆了。OkHttp是一个相对成熟的解决方案,据说Android4.4的源码中可

2015-09-14 12:28:29 536

原创 Bitmap 色彩模式

android——Bitmap.Config ARGB_8888Bitmap.Config有以下几个常量:1234public static final Bitmap.Config ALPHA_8public static final Bitmap.Config ARGB_4444 public static final Bitma

2015-09-11 15:59:34 1530

转载 ListView的性能优化之convertView和viewHolder

ListView优化大致从以下几个角度:1.复用已经生成的convertView;2.添加viewHolder类;3.缓存数据(图片缓存);4.分页加载。一、复用convertView首先讲下ListView的原理:ListView中的每一个Item显示都需要Adapter调用一次getView的方法,这个方法会传入一个convertView的参数,返回的View就

2015-09-10 11:30:37 421

转载 Handler一定要在主线程实例化吗?new Handler()和new Handler(Looper.getMainLooper())的区别

一个帖子的整理:Handler一定要在主线程实例化吗?new Handler()和new Handler(Looper.getMainLooper())的区别如果你不带参数的实例化:Handler handler = new Handler();那么这个会默认用当前线程的looper一般而言,如果你的Handler是要来刷新操作UI的,那么就需要在主线程下跑。情况:1.要刷

2015-09-06 12:10:39 393

转载 ThreadPoolExecutor运转机制详解

最近发现几起对ThreadPoolExecutor的误用,其中包括自己,发现都是因为没有仔细看注释和内部运转机制,想当然的揣测参数导致,先看一下新建一个ThreadPoolExecutor的构建参数:[java] view plaincopypublic ThreadPoolExecutor(int corePoolSize,      

2015-09-06 11:40:32 395

原创 Android UI 调试工具 Hierarchy Viewer

Hierarchy Viewer 是 Android SDK 提供的,用来调试 UI 的工具,它位于 sdk 的 tools 目录下。The Hierarchy Viewer application allows you to debug and optimize your user interface. It provides a visual representation of the

2015-09-05 17:40:11 851

转载 Android开发中高效的数据结构用SparseArray代替HashMap

android开发中,在java2ee或者android中常用的数据结构有Map,List,Set,但android作为移动平台,有些api(很多都是效率问题)显然不够理想,本着造更好轮子的精神,android团队编写了自己的api用来代替java api1、SimpleArrayMap与ArrayMap实质上ArrayMap继承自SimpleArrayMap,主要是为了实现像Ha

2015-09-04 14:36:51 413

转载 应用内存优化之OnLowMemory&OnTrimMemory

1.应用内存onLowMemory& onTrimMemory优化onLowMemory& onTrimMemory简介:OnLowMemory是Android提供的API,在系统内存不足,所有后台程序(优先级为background的进程,不是指后台运行的进程)都被杀死时,系统会调用OnLowMemory。OnTrimMemory是Android 4.0之后提供的API,系统会

2015-09-04 13:22:57 391

转载 Activity Task 详解

task是一个具有栈结构的容器,可以放置多个Activity实例。启动一个应用,系统就会为之创建一个task,来放置根Activity;默认情况下,一个Activity启动另一个Activity时,两个Activity是放置在同一个task中的,后者被压入前者所在的task栈,当用户按下后退键,后者从task被弹出,前者又显示在幕前,特别是启动其他应用中的Activity时,两个Activity对

2015-08-31 11:35:53 603

转载 HTTP缓存相关头

在请求一个静态文件的时候(图片,css,js)等,这些文件的特点是文件不经常变化,将这些不经常变化的文件存储起来,对客户端来说是一个优化用户浏览体验的方法。那么这个就是客户端缓存的意义了。windows下客户端的缓存文件存放在临时文件夹中,但是这里有个问题就是这个缓存文件存放多久呢?这个是由服务端进行设置的。Expires/Cache-ControlHTTP头中的Expir

2015-08-29 21:42:55 306

转载 Android LoaderManager

Android的加载器(loader)是从Android 3.0开始出来的东西。要理解这里需要先理解为什么会出现加载器(也有地方把它说成是装载器)呢?如果没有加载器...首先Activity是我们的前端页面展现,数据库是我们的数据持久化地址,那么正常的逻辑就是在展示页面的渲染页面的阶段进行数据库查询。拿到数据以后才展示页面。但是这个逻辑有一些缺点: 首先是查

2015-08-29 21:38:03 604

原创 关于使用占位符来解决SQL注入

总结:SQL已经预编译好了,然后替换中间的占位符,这个占位符在编译后就已经确定了它只是一个参数属性。因此,用注入的代码去替换占位符,这个SQL也不会再进行编译了,所以也达不到注入的目的。SQL注入并不是一个在SQL内不可解决的问题,这种攻击方式的存在也不能完全归咎于SQL这种语言,因为注入的问题而放弃SQL这种方式也是因噎废食。首先先说一个我在其他回答中也曾提到过的观点:没

2015-08-29 21:13:03 10376 1

转载 @SuppressLint("NewApi")和@TargetApi()的区别

在Android代码中,我们有时会使用比我们在AndroidManifest中设置的android:minSdkVersion版本更高的方法,此时编译器会提示警告,解决方法是在方法上加上@SuppressLint("NewApi")或者@TargetApi()。那他们之间有什么区别呢,很简单,@SuppressLint("NewApi")屏蔽一切新api中才能使用的方法报的andr

2015-08-29 20:26:55 762

空空如也

空空如也

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

TA关注的人

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