自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (6)
  • 收藏
  • 关注

原创 Android通过链接视图和加载视图实现GOT HOOK

1. 背景最近在研究android平台的hook技术,发现网上的资料比较凌乱,自己总结一下。首先要非常熟悉ELF文件格式,自己动手写一个解析ELF文件的小程序基本就可以研究的比较透彻了。ELF文件中有节和段的概念,相信很多人都不太了解它们的区别:节头表是在链接阶段非常重要的结构,提供了链接器链接符号的重要信息,属于链接视图;而段表是链接完生成可执行文件和动态库后才有的,在被加载和执行的

2016-03-25 16:42:25 1269

转载 动态链接库中的.symtab和.dynsym

shared library (.so)"Program Library Howto-Shared Libraries"是很好的材料, 下面的内容多是据此整理的.定义:Shared libraries are libraries that are loaded by programs when they start.使用shared library(共享库)会有很多好处, 比如

2016-03-25 14:18:34 9654

转载 Android启动过程深入解析

当按下Android设备电源键时究竟发生了什么?Android的启动过程是怎么样的?什么是Linux内核?桌面系统linux内核与Android系统linux内核有什么区别?什么是引导装载程序?什么是Zygote?什么是X86以及ARM linux?什么是init.rc?什么是系统服务?当我们想到Android启动过程时,脑海中总是冒出很多疑问。本文将介绍Android的启动过程,希望能帮

2016-03-21 15:21:30 379

原创 Android和Linux动态加载机制及PLT/GOT作用介绍

首先回顾一下Linux平台上,一个模块甲需要调用另外一个模块乙中的函数时的动态链接机制:    1、模块甲在编译期间,将要引用的模块乙的名字与函数名写入自身的符号表。    2、运行期模块甲调用时,调用流程是从调用代码到PLT表到GOT表再跳入模块乙。    而如何保证模块甲的代码能从其PLT/GOT跳到正确的模块乙入口,这就是链接器做的事情。    标准Linux链接器是

2016-03-18 17:39:53 3314 2

转载 基于执行视图解析ELF

[《Redirecting functions in shared ELF libraries》](http://www.codeproject.com/Articles/70302/Redirecting-functions-in-shared-ELF-libraries#_Toc257815978)这篇文章所提供的例子,就是基于链接视图对ELF进行解析的,与基于执行视图进行解析相比,后面的逻辑

2016-03-17 16:49:40 2004

转载 基于Android的ELF PLT/GOT符号重定向过程

原帖地址:http://bbs.pediy.com/showthread.php?p=1326515-----------------#引言写这篇技术文的原因,主要有两个:- 其一是发现网上大部分描述PLT/GOT符号重定向过程的文章都是针对x86的,比如[《Redirecting functions in shared ELF libraries》](http

2016-03-17 15:06:09 1320

转载 ARM处理器的寄存器,ARM与Thumb状态,7种运行模式

ARM处理器工作模式一共有 7 种 :USR  模式    正常用户模式,程序正常执行模式FIQ模式(Fast Interrupt Request)     处理快速中断,支持高速数据传送或通道处理IRQ模式     处理普通中断SVC模式(Supervisor)     操作系统保护模式,处理软件中断swi  resetABT

2016-03-15 19:28:35 3379

转载 ARM函数调用规则

对于ARM体系来说,不同语言撰写的函数之间相互调用(mix calls)遵循的是 ATPCS(ARM-Thumb Procedure Call Standard),ATPCS主要是定义了函数呼叫时参数的传递规则以及如何从函数返回,关于ATPCS的详细内容可以查看ADS1.2 Online Books ——Developer Guide的2.1节。这篇文档要讲的是 汇编代码中对C函数调用时如何进行参

2016-03-11 17:34:43 1333

原创 笔记:Android源码和NDK目录及头文件

NDK目录:1. 系统调用号定义:  android-ndk-r9d/platforms/android-19/arch-arm/usr/include/asm/unistd.h2. 系统中断号定义:android-ndk-r9d/platforms/android-19/arch-arm/usr/include/asm/arch/irqs.h3. ptrace函数定义:

2016-03-11 16:14:02 5925

转载 玩转ptrace(利用ptrace下断、单步调试、修改代码执行、代码注入等)

下面是转帖的内容,写的很详细。但是不同的linux发行版中头文件的路径和名称并不相同。如在某些发行版中就不存在,其中定义的变量出现在和中。==================================================================================================by Pradeep PadalaCrea

2016-03-11 15:58:58 7772

Arm开发者文档

ARM System Developer's Guide,ARM官方开发文档

2016-08-17

c库函数查询工具

c库函数查询工具非常不错的工具

2014-10-16

aac 音频 编解码

aac音频编解码标准中文文档。

2014-04-24

语音交互的RSS阅读器

本软件是可以实现语音交互的RSS阅读器,除了可以订阅RSS源,导入和导出RSS文件等功能外,还实现了语音控制和语音输出等语音交互的功能。本软件是WE#小组的软件实现技术课程小组项目Beta版本,欢迎下载!

2010-06-23

javascript语言参考手册

好资源分享给大家!js非常实用的参考手册,感谢大家下载!

2010-04-07

最新版php中文手册

PHP中文手册,分享给大家!感谢大家的下载!

2010-03-05

空空如也

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

TA关注的人

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