花名:白杨 | 职业:android app 加固 | qq:2597294287

2015年7月7日 #

入门 ARM 汇编(一)—— 知识铺垫

摘要: ARM 汇编代码中几乎处处都在使用寄存器,寄存器是处理器特有的用来暂存指令、数据和地址的高速存储单元。比如,高级语言中的变量,到了汇编中,其值可能就保存在某个寄存器中。 阅读全文

posted @ 2015-07-07 10:38 ilocker 阅读(931) 评论(0) 推荐(1) 编辑

2015年7月6日 #

emacs 新手笔记(一) —— 阅读【emacs tutorial】

摘要: 【emacs tutorial】是熟悉 emacs 的入门资料。一共几十个命令,不需硬记,勤练即可。 阅读全文

posted @ 2015-07-06 10:15 ilocker 阅读(626) 评论(0) 推荐(0) 编辑

2015年6月30日 #

ELF Format 笔记(六)—— 字符串表

摘要: 字符串表中包含若干以 null 结尾的字符串,这些字符串通常是 symbol 或 section 的名字。当 ELF 文件的其它部分需要引用字符串时,只需提供该字符串在字符串表中的位置索引即可。 阅读全文

posted @ 2015-06-30 22:43 ilocker 阅读(1969) 评论(0) 推荐(1) 编辑

了解动态链接(五)—— 动态符号表

摘要: 动态符号表 (.dynsym) 用来保存与动态链接相关的导入导出符号,不包括模块内部的符号。而 .symtab 则保存所有符号,包括 .dynsym 中的符号。 阅读全文

posted @ 2015-06-30 17:32 ilocker 阅读(11954) 评论(0) 推荐(2) 编辑

2015年6月27日 #

ELF Format 笔记(五)—— 特殊 Section

摘要: 除此之外,还有一个动态链接的过程。比如有些符号是定义在某个 so 文件中的,需要由动态链接器在装载的过程中进行一些符号查找和地址重定位的工作。要完成此工作,动态链接器需要一些信息,它们存储在一些特殊的 section 中,比如 .dynamic。 阅读全文

posted @ 2015-06-27 22:26 ilocker 阅读(1700) 评论(0) 推荐(0) 编辑

2015年6月22日 #

ELF Format 笔记(四)—— 节(Section)

摘要: ELF 文件可以包含很多 section,所有的 section 都在 section header table 中有对应的一项,每个 section header 都是一个 Elf32_Shdr 结构,用于描述相应 section 的信息。 阅读全文

posted @ 2015-06-22 20:04 ilocker 阅读(1933) 评论(0) 推荐(0) 编辑

2015年6月21日 #

了解动态链接(四)—— 延迟绑定

摘要: 基本思想是当函数第一次被调用时才进行绑定,所谓绑定就是符号查找和地址重定位。对于一些错误处理函数或不常用的功能函数,可能就避免了“绑定浪费”。采用延迟绑定,能加快程序的启动速度,特别有利于一些大型程序。 阅读全文

posted @ 2015-06-21 19:05 ilocker 阅读(1199) 评论(0) 推荐(1) 编辑

了解动态链接(三)—— 共享模块的全局变量问题

摘要: 假设 module.c 中引用了一个共享模块中定义的全局变量 global 阅读全文

posted @ 2015-06-21 11:54 ilocker 阅读(2803) 评论(0) 推荐(0) 编辑

了解动态链接(二)—— 地址无关代码

摘要: 把指令中需要修改的部分剥离出来,放到数据区,保持指令部分不变,数据部分可以由每个进程拥有一个副本。这就是——地址无关代码 (Position-independent Code, PIC),好处是实现指令部分由多进程共享,节省内存。 阅读全文

posted @ 2015-06-21 08:29 ilocker 阅读(1496) 评论(0) 推荐(0) 编辑

2015年6月20日 #

了解动态链接(一)—— 概述

摘要: 动态链接的过程大致是先递归的将依赖库加载到内存,然后进行符号解析和地址重定位,最后执行入口点程序 阅读全文

posted @ 2015-06-20 18:34 ilocker 阅读(747) 评论(0) 推荐(0) 编辑

导航