墙外通道:http://bits-please.blogspot.com/2015/08/effectively-bypassing-kptrrestrict-on.html In this blog post, we'll take a look at a few ways that I've discovered in order to bypass kptr_restrict on Android, allowing for easier exploitation of vulnerabi…
Analyzing UI Performance with Systrace In this document Overview 简介 Generating a Trace  生成Systrace文件(html) Tracing on Android 4.3 and higher   4.3以上 Tracing on Android 4.2 and lower    4.2以下 graphical user interface               用工具生成Systrace 文件 Ana…
While developing your application, you should check that user interactions are buttery smooth, running at a consistent 60 frames per second. If something goes wrong, and a frame gets dropped, the first step in fixing the problem is understanding what…
http://ltp.sourceforge.net/ Linux Test Project, 后台很硬,由SGI™ 发起, IBM维护,所以质量有保障. 里面介绍了很多工具,对于一般的基准测试应该是真够用了,关键是开发源码, 可以根据自己工程的需求,自己定制修改,本人由于工作原因阅读了(lmbench:lmdd , dbench 文件系统方面的测试),觉得非常不错 http://www.bitmover.com/lmbench/ http://www.samba.org/ftp/tridge/…
http://ltp.sourceforge.net/ Linux Test Project, 后台很硬,由SGI™ 发起, IBM维护,所以质量有保障. 里面介绍了很多工具,对于一般的基准测试应该是真够用了,关键是开发源码, 可以根据自己工程的需求,自己定制修改,本人由于工作原因阅读了(lmbench:lmdd , dbench 文件系统方面的测试),觉得非常不错 http://www.bitmover.com/lmbench/ http://www.samba.org/ftp/tridge/…
The Android kernel is a powerful ally to the reverse engineer. While regular Android apps are hopelessly restricted and sandboxed, you - the reverser - can customize and alter the behavior of the operating system and kernel any way you wish. This giv…
原文地址: http://blog.csdn.net/xplee0576/article/details/46875555 Android中,我们在线程之间通信传递通常采用Android的消息机制,而这机制传递的正是Message. 通常,我们使用Message.obtain()和Handler.obtainMessage()从Message Pool中获取Message,避免直接构造Message. 那么Android会否因为Message Pool缓存的Message对象而造成OOM呢?对于…
Message: 定义: public final class Message implements Parcelable Message类是个final类,就是说不能被继承,同时Message类实现了Parcelable接口,我们知道android提供了一种新的类型:Parcel.本类被用作封装数据的容器,是链表结构,有个属性next和sPool,这两个变量是不同的,具体什么不同看下文. 文档描述: Defines a message containing a description and…
http://www.cnblogs.com/JohnTsai/p/3975022.html http://www.zhihu.com/question/19801131 In my previous post I showed how to perform asynchronous web API calls in native Android code, after showing how to do it in native iOS a few days before. My Androi…
[Android]Android 移动应用数据到SD 在应用的menifest文件中指定就可以了,在 <manifest> 元素中包含android:installLocation 属性,设置其值为"internalOnly"即可,如下: <manifest xmlns:android="http://schemas.android.com/apk/res/android"  android:installLocation="intern…
To Enable the Developer and Performance settings on CyanogenMod 10.1 In the Settings app, choose the About Phone (or About Tablet) option.Scroll down, and tap the Build number seven times. On the seventh tap, you will be notified that "You are now a…
准备开始写点东西,算是对自己阅读源码的一个记录/笔记,也希望能对同样感兴趣的人有所帮助,希望能坚持下去,加油. 在Android的开发中,我们经常用到Handler.postXXX方法,或者View.postXXX方法,用来在下一次looper到来时执行. 我是那样的人,什么事情最好能够知道下内部实现机理是什么,否则我在用它的时候可能会觉得不爽,或者说不自然,不太愿意去用. 典型例子就是我始终不太愿意用Android引入的SparseArray<E>,而是一直坚持Java的HashMap<…
scrollView 是android系统提供的一种 特殊的展示view. 其实我们很早就遇到过scrollview的东东,比如listview. 而google官方文档也提出,不要混合使用scrollview & listview,应为他们有一定的冲突性. 本文后面会分析和解决这个问题. 1.认识scrollview Layout container for a view hierarchy that can be scrolled by the user, allowing it to be…
首先我们先来看android构架图: android系统是构建在linux系统上面的. 所以android设备启动经历3个过程. Boot Loader,Linux Kernel & Android 系统服务. 1.基本启动过程 系统引导bootloader 加载boot.img 由bootloader 加载内核kernel 文件系统挂载,init 完成引导进程(文件解析.属性设置.启动服务.执行动作) 重要的服务进程zygote 建立Java Runtime,建立虚拟机 启动Android S…
最近接触到一个比较有挑战性的项目,我发现里面使用大量的消息机制,现在这篇博客我想具体分析一下:android里面的消息到底是什么东西,消息机制到底有什么好处呢? 其实说到android消息机制,我们可能很快就会想到message/handle/looper这三个对象,没错在android里面就是通过此三个对象实现消息机制的.那么我想问的是,为什么我们需要消息机制呢?说到底就是为了更好.更流畅的用户体验,因为在app里面我们或多或少都有可能会设计到一些比较耗时的操作,这个时候如果我们只是一味的将当…
from : http://www.raizlabs.com/dev/2014/03/wrangling-dalvik-memory-management-in-android-part-1-of-2/ WRANGLING DALVIK: MEMORY MANAGEMENT IN ANDROID (PART 1 OF 2) Posted  MARCH 4, 2014 by  JOE MAHON Update: Part 2 is now up! Check it out! There are s…
转自http://blog.apkudo.com/2012/07/26/enabling-hierarchyviewer-on-rooted-android-devices/. The HierarchyViewer is an Android SDK tool that gives developers the ability to introspect on all aspects of an application’s layout at runtime. The tool can be…
通过分析update.zip包在具体Android系统升级的过程,来理解Android系统中Recovery模式服务的工作原理.我们先从update.zip包的制作开始,然后是Android系统的启动模式分析,Recovery工作原理,如何从我们上层开始选择system update到重启到Recovery服务,以及在Recovery服务中具体怎样处理update.zip包升级的,我们的安装脚本updater-script怎样被解析并执行的等一系列问题.分析过程中所用的Android源码是gin…
来自http://blog.csdn.net/luoshengyang/article/details/8479101 在Android系统中,Activity窗口的大小是由WindowManagerService服务来计算的.WindowManagerService服务会根据屏幕及其装饰区的大小来决定Activity窗口的大小.一个Activity窗口只有知道自己的大小之后,才能对它里面的UI元素进行测量.布局以及绘制.本文将详细分析WindowManagerService服务计算Activi…
    Handler和Message是Android开发者常用的两个API,我一直对于它的内部实现比较好奇,所以用空闲的时间,阅读了一下他们的源码.    相关的Java Class: android.os.Message android.os.MessageQueue android.os.Looper android.os.Handler     相关的C++ Class: android.NativeMessageQueue android.Looper android.LooperCa…
The powerful Android Studio 08 Jun 2016 Android Studio is the official tool for Android development these days. Being developed at the top of project IntelliJ IDEA, takes into advantage (almost in its entirety) features of edition, debugging, analysi…
预备知识:External Storage Technical Information 摘要: "The WRITE_EXTERNAL_STORAGE permission must only grant write access to the primary external storage on a device. Apps must not be allowed to write to secondary external storage devices, except in their…
今天老板交待任务最终完成了,感觉收获颇多,所以写一个关于它的记录,首先,看一下.老板的需求 需求: 希望移动端的用户标识(IMEI)和HTML页面的用户标识(Cookie)连接起来,当中HTML页面可能是用户使用PC訪问指定的html页面也有可能是移动端使用浏览器訪问html页面 技术解决: 运用移动设备的系统特型.用Apps的Service监听本地的网络port,当局域网内或本机的Html页面通过请求调用本地IP:Port时触发监听. Apps在将当前Html的Cookie和移动设备标识物发回…
因为国内被墙,看起来不方便,转载下,原文地址:http://android-developers.blogspot.com/2010/07/multithreading-for-performance.html Multithreading For Performance   [This post is by Gilles Debunne, an engineer in the Android group who loves to get multitasked. — Tim Bray] A g…
一. 简介 UsageStatsService是一个系统服务,其主要通过AMS等,来监测并记录各个应用的使用数据,如上次调用com.android.settings的时间等. UsageStatsService,a service that collects, aggregates, and persists application usage data. This data can be queried by apps that have been granted permission by…
转载请标明出处:http://blog.csdn.net/sk719887916/article/details/48443429,作者:skay     通过学习了AndroidUI之绘图机基础知道view 的两个重要的方法:invalidate()和requestLayout(); 在那篇文章中我没有做原理性的细说,大家知道前者是请求重绘,后者是请求布局的,那么ta们之前有何联系和区别呢,比如:invalidate()会进行测量吗,会进行重新布局吗,requestLayout()只做请求布局…
Android device details are being exposed to running applications via Wi-Fi broadcasts in the mobile operating system, Nightwatch Cybersecurity has discovered. The exposed information includes the WiFi network name, BSSID, local IP addresses, DNS serv…
Transmitting Network Data Using Volley GET STARTED DEPENDENCIES AND PREREQUISITES Android 1.6 (API Level 4) or higher VIDEO Volley: Easy, Fast Networking for Android Volley is an HTTP library that makes networking for Android apps easier and most imp…
Transferring Data Using Sync Adapters GET STARTED DEPENDENCIES AND PREREQUISITES Android 2.1 (API Level 7) or higher YOU SHOULD ALSO READ Bound Services Content Providers Creating a Custom Account Type TRY IT OUT Download the sample BasicSyncAdapter.…
让我们的Android ROOT,多一点套路. 一.简单套路 CVE-2012-6422的漏洞利用代码,展示了另一种提权方法.(见附录) 这也是一个mmap驱动接口校验导致映射任意内核地址的洞.将内核映射到用户进程空间后,使用setresuid(0, 0, 0)进行提权. 其步骤如下: 利用漏洞,映射内核到调用者进程空间 搜索内核,查找“%pK %c %s\n”,并Patch成“%p %c %s\n” 搜索内核,查找sys_setresuid符号地址 搜索sys_setresuid代码段,查找“…