上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 21 下一页
摘要: ELF文件的导出表 windwos平台下的动态链接库dll文件会有导出表,对应的Linux/Android的so文件也会导出表。 IDA打开一个so文件,查看Exports会看到所有的导出函数(start默认导出) .dynsym符号表的最后就是导出表,其中Elf32_Sym.st_vlaue的值为 阅读全文
posted @ 2022-05-23 19:23 怎么可以吃突突 阅读(720) 评论(0) 推荐(0) 编辑
摘要: linker入口函数 在内核程序加载了ELF可执行文件后会判断是否含有动态链接信息。如果需要进行动态链接就会通过ELF可执行文件的PT_INTERP程序段获得需要加载的加载器的路径,然后将应用层的入口函数设置为加载器linker的入口函数。 linker的入口函数为_start,但是实际在编译时会为 阅读全文
posted @ 2022-05-23 00:24 怎么可以吃突突 阅读(959) 评论(0) 推荐(0) 编辑
摘要: # Linux内存空间布局 * .text:一般最开始的segment是代码段,包含了ELF可执行程序的代码指令,内存属性为可读可执行(不可写) * .data:数据段一般在代码段的后面,包含了ELF可执行程序的已经初始化的变量。 * .bss:未初始化数据段一般是最后一个段,包含了未初始化的全局变 阅读全文
posted @ 2022-05-22 16:39 怎么可以吃突突 阅读(110) 评论(0) 推荐(0) 编辑
摘要: # fork linux可以通过fork()创建一个新的进程。 例如通过shell命令运行ELF的时候,shell程序就会调用fork()创建一个子进程。 ``` pid_t fork(void); ``` * fork函数进入到内核中会先创建新进程对应的内核数据结构(PCB进程控制块什么的) * 阅读全文
posted @ 2022-05-22 16:28 怎么可以吃突突 阅读(406) 评论(0) 推荐(0) 编辑
摘要: # linux注册支持运行的文件类型 ``` struct linux_binfmt { struct list_head lh; struct module *module; int (*load_binary)(struct linux_binprm *); int (*load_shlib)( 阅读全文
posted @ 2022-05-20 23:29 怎么可以吃突突 阅读(2435) 评论(0) 推荐(0) 编辑
摘要: x86架构的重定位操作需要修改代码段,arm架构重定位待修改的数据位于数据段(.got表),不需要修改代码段。 .plt节区与.got表 外部函数引用重定位 通过readelf查看elf文件的所有节区section arm架构使用.plt节区存放外部函数调用的PLT条目,通过.plt节区索引到.go 阅读全文
posted @ 2022-05-20 01:50 怎么可以吃突突 阅读(2092) 评论(0) 推荐(0) 编辑
摘要: Zygote进程 Zygote进程是用户层第一个进程init启动的,Zygote是第一个app进程。android系统其他所有的APP进程都是由Zygote进程fork的。 Zygote进程本身是分为native部分和java层部分的,native部分的代码在frameworks/base/cmds 阅读全文
posted @ 2022-04-25 13:02 怎么可以吃突突 阅读(195) 评论(0) 推荐(0) 编辑
摘要: # adb server,adb client与adbd * adb client是运行在PC端的一个进程,一般我们在命令行使用adb shell时就会创建此进程。它会连接adb server进程监听的5037端口,然后发送用户输入的命令。 * adb server是运行在PC端的一个后台进程,通过 阅读全文
posted @ 2022-04-21 20:32 怎么可以吃突突 阅读(597) 评论(0) 推荐(0) 编辑
摘要: adrp指令 ADRP <Xd>, <label>adrp指令将label的值传递给xd寄存器。label的值为pc所在页基值 + (立即数 * 4096) ,立即数就相当于是页索引。 此指令一般用于将变量的页基地址存入寄存器中,下面的代码是ndk实现的一个JNI接口函数,定义一个全局变量num,J 阅读全文
posted @ 2022-04-21 11:51 怎么可以吃突突 阅读(5157) 评论(0) 推荐(0) 编辑
摘要: DDMS不显示进程信息,参考了网络上很多方法。 需要将android系统的 ro.debuggable的值设为1. 将mprop工具放置到/data中(其他目录应该也可以) adb shell远程连接手机 su 获得root权限 cd /data(mprop工具所在目录) ./mprop ro.de 阅读全文
posted @ 2022-04-17 21:49 怎么可以吃突突 阅读(1094) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 21 下一页