自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 问答 (1)
  • 收藏
  • 关注

原创 ptrace的小例子

#include #include #include #include #include #include #include #include #include #include static void* const break_addr = (void*)0x40074d;static long text;int main(int argc

2016-05-30 10:34:06 785

原创 资料收藏

http://laokaddk.blog.51cto.com

2016-05-28 22:15:28 301

转载 ptrace基于行数调试

Volume 0x0b, Issue 0x3b, Phile #0x0c of 0x12|=---------------=[ Building ptrace injecting shellcodes ]=--------------=||=-----------------------------------------------------------------------=|

2016-05-28 22:11:37 524

转载 ptrace基于地址调试

本文是关于调试器工作原理探究系列的第二篇。在开始阅读本文前,请先确保你已经读过本系列的第一篇(基础篇)。本文的主要内容这里我将说明调试器中的断点机制是如何实现的。断点机制是调试器的两大主要支柱之一 ——另一个是在被调试进程的内存空间中查看变量的值。我们已经在第一篇文章中稍微涉及到了一些监视被调试进程的知识,但断点机制仍然还是个迷。阅读完本文之后,这将不再是什么秘密了。 

2016-05-28 22:10:12 627

转载 ptrace基础

在第一部分中我们已经看到ptrace怎么获取子进程的系统调用以及改变系统调用的参数。在这篇文章中,我们将要研究如何在子进程中设置断点和往运行中的程序里插入代码。实际上调试器就是用这种方法来设置断点和执行调试句柄。与前面一样,这里的所有代码都是针对i386平台的。 附着在进程上 在第一部分钟,我们使用ptrace(PTRACE_TRACEME, …)来跟踪一个子进程,如果你只是想要看

2016-05-28 22:08:50 457

转载 android touch处理

Touch事件分发中只有两个主角:ViewGroup和View。Activity的Touch事件事实上是调用它内部的ViewGroup的Touch事件,可以直接当成ViewGroup处理。View在ViewGroup内,ViewGroup也可以在其他ViewGroup内,这时候把内部的ViewGroup当成View来分析。ViewGroup的相关事件有三个:onInterceptT

2016-05-28 20:17:34 121

转载 x86寄存器简析

引子打算写几篇稍近底层或者说是基础的博文,浅要介绍或者说是回顾一些基础知识,自然,还是得从最基础的开始,那就从汇编语言开刀吧,从汇编语言开刀的话,我们必须还先要了解一些其他东西,像  CPU ,内存这些知识点还是理解深刻一点的比较好,所以这一篇博文就绕着 80x86  CPU 中寄存器的基础部分下手,至于其他的一些将会在后续的博文中介绍 。同时在这里

2016-05-25 19:41:47 189

转载 Android系统性能调优工具介绍

Android系统性能调优工具介绍在软件开发过程中,想必很多读者都遇到过系统性能问题。而解决系统性能问题的几个主要步骤是:测评:对系统进行大量有针对性的测试,以得到合适的测试数据。分析系统瓶颈:分析测试数据,找到其中的hotspot(热点,即bottleneck)。性能优化:对hotspot相关的代码进行优化。由上述步骤可知,性能优化的目标对象是hotspot。如果找到的h

2016-05-24 19:35:16 328

转载 ptrace运行原理及使用详解

你想过怎么实现对系统调用的拦截吗?你尝试过通过改变系统调用的参数来愚弄你的系统kernel吗?你想过调试器是如何使运行中的进程暂停并且控制它吗?你可能会开始考虑怎么使用复杂的kernel编程来达到目的,那么,你错了。实际上Linux提供了一种优雅的机制来完成这些:ptrace系统函数。 ptrace提供了一种使父进程得以监视和控制其它进程的方式,它还能够改变子进程中的寄存器和内核映像,因而

2016-05-21 10:08:54 4173

转载 Linux Futex浅析

Futex,Fast Userspace muTEXes,作为linux下的一种快速同步(互斥)机制,已经存在了很长一段时间了(since linux 2.5.7)。它有什么优势?又提供了怎样一些功能,本文就简单探讨一下。futex诞生之前在futex诞生之前,linux下的同步机制可以归为两类:用户态的同步机制 和 内核同步机制。 用户态的同步机制基本上就是利用原子指令实现的sp

2016-05-07 09:08:36 16029 2

转载 Linux的原子操作与同步机制

并发问题现代操作系统支持多任务的并发,并发在提高计算资源利用率的同时也带来了资源竞争的问题。例如C语言语句“count++;”在未经编译器优化时生成的汇编代码为。当操作系统内存在多个进程同时执行这段代码时,就可能带来并发问题。假设count变量初始值为0。进程1执行完“mov eax, [count]”后,寄存器eax内保存了count的值0。此时,进程

2016-05-07 08:53:08 307

原创 IPCThreadState中的TLS

仔细看了下IPCThreadState中的TLS,发现TLS就是实现一个线程中只有一个IPCThreadState实例,同时也就是说,一个android应用的多个线程同时进行binder调用是没问题的,binder的挂起是挂起调用线程,而不是进程。另外进程启动时启动至少两个binder线程,等待并处理客户端的调用请求。详见joinThreadPool函数。

2016-01-12 14:00:44 256

原创 android serviceManager使用

以下简称serviceManager为SM.SM全局唯一,不管java层还是native层调用SM,最终的target都一样。java层调用,是通过ServiceManagerNative,构造ServiceManagerProxy代理进行SM的binder调用的,这里binder另一端并没有继承实现ServiceManagerNative,也就是说没有对java层的onTransact回

2016-01-12 13:31:40 765

空空如也

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

TA关注的人

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