ptrace的小例子

#include #include #include #include #include #include #include #include #include #include static void* const break_addr = (void*)0x40074d...

2016-05-30 10:34:06

阅读数 274

评论数 0

资料收藏

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

2016-05-28 22:15:28

阅读数 167

评论数 0

ptrace基于行数调试

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

2016-05-28 22:11:37

阅读数 307

评论数 0

ptrace基于地址调试

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

2016-05-28 22:10:12

阅读数 330

评论数 0

ptrace基础

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

2016-05-28 22:08:50

阅读数 278

评论数 0

android touch处理

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

2016-05-28 20:17:34

阅读数 176

评论数 0

x86寄存器简析

引子 打算写几篇稍近底层或者说是基础的博文,浅要介绍或者说是回顾一些基础知识, 自然,还是得从最基础的开始,那就从汇编语言开刀吧, 从汇编语言开刀的话,我们必须还先要了解一些其他东西, 像  CPU ,内存这些知识点还是理解深刻一点的比较好, 所以这一篇博文就绕着 8...

2016-05-25 19:41:47

阅读数 499

评论数 0

Android系统性能调优工具介绍

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

2016-05-24 19:35:16

阅读数 216

评论数 0

ptrace运行原理及使用详解

你想过怎么实现对系统调用的拦截吗?你尝试过通过改变系统调用的参数来愚弄你的系统kernel吗?你想过调试器是如何使运行中的进程暂停并且控制它吗? 你可能会开始考虑怎么使用复杂的kernel编程来达到目的,那么,你错了。实际上Linux提供了一种优雅的机制来完成这些:ptrace系统函数。 p...

2016-05-21 10:08:54

阅读数 3223

评论数 0

Linux Futex浅析

Futex,Fast Userspace muTEXes,作为linux下的一种快速同步(互斥)机制,已经存在了很长一段时间了(since linux 2.5.7)。它有什么优势?又提供了怎样一些功能,本文就简单探讨一下。 futex诞生之前 在futex诞生之前,linux下的同步机...

2016-05-07 09:08:36

阅读数 5330

评论数 0

Linux的原子操作与同步机制

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

2016-05-07 08:53:08

阅读数 188

评论数 0

IPCThreadState中的TLS

仔细看了下IPCThreadState中的TLS,发现TLS就是实现一个线程中只有一个IPCThreadState实例,同时也就是说,一个android应用的多个线程同时进行binder调用是没问题的,binder的挂起是挂起调用线程,而不是进程。 另外进程启动时启动至少两个binder线程,等...

2016-01-12 14:00:44

阅读数 143

评论数 0

android serviceManager使用

以下简称serviceManager为SM. SM全局唯一,不管java层还是native层调用SM,最终的target都一样。 java层调用,是通过ServiceManagerNative,构造ServiceManagerProxy代理进行SM的binder调用的,这里binder另一端并...

2016-01-12 13:31:40

阅读数 247

评论数 0

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