要想研究使用 gcc, gcc-multilib 这个包是一定要安装的, 它允许通过 -m32 和 -m64 选项来选择生成 32 位或者 64 的 ELF 文件. 我们知道程序的默认起点是 _start, 该函数做了一些未知/初始化的工作, 然后调用 main 函数, 如果 main 函数返回, ...
分类:
其他好文 时间:
2018-09-22 19:50:19
阅读次数:
140
1. 内存基本介绍 1.计算机基本结构: 电脑之父——冯·诺伊曼提出了计算机的五大部件:输入设备、输出设备、存储器、运算器和控制器 如图: 输入设备:键盘鼠标等 CPU:是计算机的运算核心和控制核心,让电脑的各个部件顺利工作,起到协调和控制作用。 存储器:一系列的存储设备,硬盘,内存等 输出设备:如 ...
分类:
系统相关 时间:
2018-09-15 13:52:32
阅读次数:
251
linux 修改 elf 文件的dynamic linker 和 rpath https://nixos.org/patchelf.html 下载地址 https://nixos.org/releases/patchelf/patchelf-0.9/patchelf-0.9.tar.gz https ...
分类:
系统相关 时间:
2018-09-14 13:52:24
阅读次数:
574
下载之后查看知道为ELF文件,linux中执行之后发现很慢; 拖入ida中查看发现有循环调用 sleep 函数: 这是已经改过了,edit -> patch program -> change byte 修改一下比较参数可以去除等待时间,总共去除两处; 运行之后发现是输入 username 和 pa ...
分类:
其他好文 时间:
2018-08-25 23:00:16
阅读次数:
423
这个题目我以为是考的怎么进行提权,结果原来是这样的: 1. DexClassLoader 动态载入应用可写入的 dex 可执行文件 2. java.lang.Runtime.exec 方法执行应用可写入的 elf 文件 3. System.load 和 System.loadLibrary 动态载入 ...
分类:
移动开发 时间:
2018-08-16 22:32:12
阅读次数:
280
ELF 文件介绍 2.1 可执行文件格式综述 相对于其它文件类型,可执行文件可能是一个操作系统中最重要的文件类型,因为它们是完成操作的真正执行者。可执行文件的大小、运行速度、资源占用情况以及可扩展性、可移植性等与文件格式的定义和文件加载过程紧密相关。研究可执行文件的格式对编写高性能程序和一些黑客技术... ...
分类:
其他好文 时间:
2018-08-16 22:27:08
阅读次数:
486
ELF文件结构组成 ①总共13个节 ②每个节都有一个编号。从ELF头开始编号,编号从0开始,编号的作用就是用来索引(找到)不同节的。 ③每个.o的都是这样的结构。链接时要做的就是,将ELF格式的.o全部合成为一个完整的ELF格式可执行文件。 ④.o中每个节的逻辑地址都是从0开始的 ELF头 ELF格 ...
分类:
其他好文 时间:
2018-08-03 14:08:58
阅读次数:
723
核心问题 围绕Bin展开 (~~.Bin文件相当于ELF文件在内存中的状态 因为.Bin文件用在BootLoader,此时的文件系统还未加载上~~) graph LR Bin-->怎么获得 怎么获得-->官网 怎么获得-->抓包利用在线升级的数据包 怎么获得-->逆向升级软件软件内置解包和通讯算法处 ...
分类:
其他好文 时间:
2018-07-31 00:26:05
阅读次数:
186
一:Linux虚拟地址空间布局 (转自:Linux虚拟地址空间布局) 在多任务操作系统中,每个进程都运行在属于自己的内存沙盘中。这个沙盘就是虚拟地址空间(Virtual Address Space),在32位模式下它是一个4GB的内存地址块。在Linux系统中, 内核进程和用户进程所占的虚拟内存比例 ...
分类:
编程语言 时间:
2018-07-22 20:50:36
阅读次数:
225
前文介绍了导入表hook,现在来说下导出表的hook。导出表的hook的流程如下。1、获取动态库基值 2、计算program header table实际地址 通过ELF文件头获取到程序表头的偏移地址及表头的个数 3、遍历program header table,ptype等于2即为dynameic ...
分类:
移动开发 时间:
2018-07-15 13:48:17
阅读次数:
342