[TOC] Pwn 十月31 Hitcon 五 鸽了几天之后,继续练习Hitcon????。 lab9 playfmt 同样,这一题也是格式化字符串漏洞,但是这题的格式化字符串不在栈上,而是在全局变量(.bss)段???什么情况??。 &nbs ...
分类:
其他好文 时间:
2018-11-01 11:35:52
阅读次数:
191
title: 链接脚本与重定位 tags: ARM date: 2018 10 12 19:25:53 链接脚本与重定位 [TOC] 学习视频 "韦东山" 总结 1. 尽量使用一体式的链接脚本,方便简单,灵活 2. 学会使用链接脚本的值 3. bss段和comm段是需要我们手动去清除的 4. 位置无 ...
分类:
其他好文 时间:
2018-10-24 01:05:03
阅读次数:
497
title: 反汇编Dis解析 tags: ARM date: 2018 10 21 18:02:58 反汇编dis解析 关于段,反汇编文件中包含了代码段,数据段,bss段,comm段和注释段. COMM段BSS段 对于全局变量来说,如果初始化了不为0的值,那么该全局变量则被保存在data段,如果初 ...
分类:
其他好文 时间:
2018-10-24 00:57:55
阅读次数:
159
程序的构成:从操作系统的角度来看 文件头记录了与可执行文件相关的一些基本信息。 静态分析工具大多根据程序的文件头获得相关信息。 初始化的变量进入.data段,没有初始化的全局变量进入.bss段。 未初始化的变量默认为0,为了存储效率和加载效率。 没有初始化的默认为0,在程序文件中就不用存储初始值了, ...
分类:
其他好文 时间:
2018-10-20 23:52:59
阅读次数:
320
第31课 - 程序的内存布局 有初始值的放在data段,没有初始的放在bss段。静态存储区就对应了这两个区域。 我们写的函数,可移执行的代码段,放在text段。 这里并不见堆和栈的踪影,因为这只是我们的可执行文件的布局,并不会我们执行起来,进程的布局,所以是看不到堆和栈的。 高地址内存 File h ...
分类:
编程语言 时间:
2018-10-15 21:17:31
阅读次数:
175
Linux应用程序内存布局 1.从低地址到高地址分别为:代码段、数据段、BSS段、堆、栈(BSS,Block Started by Symbol,又名:未初始化数据段) 2.堆向高内存地址生长 3.栈向低内存地址生长 数据存放 1.代码段:代码,全局常量(const)、字符串常量2.数据段:全局变量 ...
分类:
系统相关 时间:
2018-08-13 18:09:49
阅读次数:
196
一个程序本质上都是由 BSS 段、data段、text段三个组成的。这样的概念在当前的计算机程序设计中是很重要的一个基本概念,而且在嵌入式系统的设计中也非常重要,牵涉到嵌入式系统运行时的内存大小分配,存储单元占用空间大小的问题。 BSS段:在采用段式内存管理的架构中,BSS段(bss segment ...
分类:
系统相关 时间:
2018-07-02 01:16:30
阅读次数:
230
一个程序本质上都是由 BSS 段、data段、text段三个组成的。可以看到一个可执行程序在存储(没有调入内存)时分为代码段、数据区和未初始化数据区三部分。 BSS段(未初始化数据区):在采用段式内存管理的架构中,BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区 ...
分类:
系统相关 时间:
2018-05-26 22:20:44
阅读次数:
337
一、目的:自己写一个简单的bootloader 二、过程:开发板上电后cpu立马从pc = 0出开始执行第一条指令,这时就需要进行一些必要的初始化 第一阶段: 1.建立异常向量表 2.关闭看门狗 3.屏蔽所有中断 4.初始化始终 5.初始化内存(sdram) 6.代码重定位 7.清除bss段 8.使 ...
分类:
其他好文 时间:
2018-05-18 18:02:14
阅读次数:
162
动态内存分配 代码存放在代码区,数据则根据类型的不同存放在不同的区域中。 在采用段式内存管理的架构中(比如intel的80x86系统),bss段(Block Started by Symbol segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域,一般在初始化时bss 段部分将会清 ...
分类:
编程语言 时间:
2018-04-16 13:09:29
阅读次数:
177