
C语言
文章平均质量分 63
joans123
这个作者很懒,什么都没留下…
展开
-
V4L2 获取和配置摄像头程序示例
/******************************************************** * * Author : joans@joans-computer * Date : 2011-08-13 * File : m原创 2011-08-13 09:15:38 · 4508 阅读 · 6 评论 -
gcc生成二进制文件供uboot的go命令执行
使用gcc编译出二进制文件给uboot中go的命令执行.test.c 文件如下 ================ Start of test.c =======================================#include typedef void (*pr)(const char *fmt, ...);int main(int argc, cha原创 2012-03-21 20:36:30 · 5699 阅读 · 1 评论 -
使用flex编程解析内存依赖的.o.cmd文件
编译内核之后相应的文件会产生一个 .*.o.cmd的依赖文件, 根据此文件可以看出被编译的.o文件依赖哪些头文件,以及被编译的参数..o.cmd文件的格式为:cmd_dir/output.o := commandsdep_dir/output.o := depended_files 总的来说由两部份组成, 一个是编译命令, 另一个是依赖文件. 所以此法分析分成两结: CMD原创 2012-04-26 19:53:26 · 3163 阅读 · 0 评论 -
objdump 反汇编一个函数的脚本
1)使用System.map文件查找函数的起始地址和结束地址2)使用objdump -d 反汇编, 然后通过--start-address和--stop-address参数指定函数区间3)使用nm -n out.elf > System.map 命令生成System.map文件4)grep -A 1 打印匹配行和下一行, awk 打印第一列地址.#!/bin/shrou原创 2012-04-19 12:51:44 · 4576 阅读 · 0 评论 -
linux进程空间
在32位机器的linux系统同进程的地址空间大小是4G.0~3G( 0x0000 0000 ~ 0xBFFF FFFF) 属于用户空间3~4G( 0xC000 0000 ~ 0xFFFF FFFF) 属于内核空间进程地址空间由以下几部分组成高地址 内核空间 | 0xc000 0000 |原创 2012-06-09 10:10:33 · 864 阅读 · 0 评论 -
缓冲区溢出保护
1. 堆栈内存地址随机化,程序每次执行的堆栈地址都不一样(空出一段随机偏移).关闭方法:sysctl –w kernel.randomize_va_space=0echo 0 > /proc/sys/kernel/randomize_va_space2. 栈代码不可执行 如果栈中代码不可执行的话, 缓冲区溢出的shellcode将不能执行.关闭方法:原创 2012-06-09 10:39:52 · 1228 阅读 · 0 评论