
Linux
文章平均质量分 87
cpq37
https://cpq37.github.io/
展开
-
linux汇编之——(7)反汇编存储及其他
1 数组越界int main(void){ inta[1]; a[0] =2; a[1] =3; return1;}反汇编objdump080483b4 : 80483b4: 55 push %ebp 80483b5: 89 e5原创 2013-05-24 15:45:05 · 803 阅读 · 0 评论 -
linux汇编之——(6)反汇编条件控制
C语言的条件控制语句,在汇编里说白了就是通过对ZF零标志位进行判断,然后由跳转指令来实现逻辑分支。1 条件语句ifint main(void){ int a; if(a) return 1; else return 0;}反汇编代码如下080483b4 : 80483b4: 55原创 2013-05-24 15:32:35 · 731 阅读 · 0 评论 -
linux汇编之——(5)反汇编运算样例
1 添加赋值语句赋值int main(void){ int a=1; //a =1; return0;}反汇编如下:(gdb) disas mainDump of assembler code for function main: 0x080483b4 : push %ebp 0x080483b5 :原创 2013-05-24 15:10:40 · 905 阅读 · 0 评论 -
linux汇编之——(4)最简C代码
在最简代码的基础上进行 反汇编看汇编代码 int main() { return 0; } 编译该程序,产生二进制文件: # gcc test0.c -o test0 # file test0 test0: ELF 32-bit LSBexecutable 80386 Version 1, d原创 2013-05-24 14:57:15 · 700 阅读 · 0 评论 -
linux汇编之——(3) 汇编基础知识
一、寄存器总共有14个16位寄存器,8个8位寄存器通用寄存器: 数据寄存器: AH(8位) AL(8位) AX(16位) (AX和AL又称累加器) BH(8位) BL(8位) BX(16位) (BX又称基址寄存器,唯一作为存储器指针使用寄存器) CH(8位) CL(8位) CX(16位) (CX用于字符串操作,控制循环的次数,CL用于原创 2013-05-24 14:43:45 · 643 阅读 · 0 评论 -
linux汇编之——(2)IDA远程调试LINUX文件
拷贝linux-server到linux系统并运行。提示缺少libstdc++.so.5在ubuntu系统下输入:apt-get install libstdc++.so.5或者:apt-getinstall libstdc++5不成功的情况下 在http://packages.ubuntu.com/搜索“libstcc++5”获得下载页面列表如:http://packag原创 2013-05-24 13:49:13 · 1998 阅读 · 0 评论 -
linux汇编之——(1)ELF:Linux可执行程序文件格式
Windows的应用程序的格式是PE格式文件,LINUX的是ELF(“Executable and Linking Format”)文件格式。 一个手工打造的ELF文件,代码如下: 7F 45 4C 46 01 01 01 00 00 00 00 00 00 00 00 00 02 00 03 00 01 00 00 00 60 00 48 80 34 00 00 00原创 2013-05-24 13:43:23 · 1093 阅读 · 0 评论 -
Linux 中 x86 的内联汇编
Bharata B. Rao (rbharata@in.ibm.com)IBM Linux 技术中心,IBM 软件实验室,印度简介: Bharata B. Rao 提供了在 Linux 平台上使用和构造 x86 内联汇编的概括性介绍。他介绍了内联汇编及其各种用法的基础知识,提供了一些基本的内联汇编编码指导,并解释了在 Linux 内核中内联汇编代码的一些实例。转载 2013-03-20 16:36:04 · 628 阅读 · 0 评论 -
Linux 汇编语言开发指南
一、简介作为最基本的编程语言之一,汇编语言虽然应用的范围不算很广,但重要性却勿庸置疑,因为它能够完成许多其它语言所无法完成的功能。就拿 Linux 内核来讲,虽然绝大部分代码是用 C 语言编写的,但仍然不可避免地在某些关键地方使用了汇编代码,其中主要是在 Linux 的启动部分。由于这部分代码与硬件的关系非常密切,即使是 C 语言也会有些力不从心,而汇编语言则能够很好扬长避短,最大限度地发转载 2013-03-18 16:29:54 · 652 阅读 · 0 评论 -
BusyBox 简化嵌入式 Linux 系统
原文出处:https://www.ibm.com/developerworks/cn/linux/l-busybox/ 简介: BusyBox 是很多标准 Linux® 工具的一个单个可执行实现。BusyBox 包含了一些简单的工具,例如 cat 和 echo,还包含了一些更大、更复杂的工具,例如 grep、find、mount 以及 telnet(不过它的选项比传统的版本要少);有些人将转载 2013-01-06 16:57:31 · 481 阅读 · 0 评论 -
vim 命令
Vim是一个类似于Vi的文本编辑器,不过在Vi的基础上增加了很多新的特性,Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不同变体。1999 年Emacs被选为Linuxworld文本编辑分类的优胜者,Vim屈居第二。但在2000年2月Vim赢得了Slashdot Beanie的最佳开放源代码文本编辑器大奖,又将Emacs推至二线, 总的来看, Vim和Emacs同样都转载 2013-01-06 16:55:35 · 508 阅读 · 0 评论 -
linux下vi命令大全
进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后一行首 vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处 vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复f转载 2013-01-06 15:17:49 · 330 阅读 · 0 评论 -
Linux嵌入式移植之——(1)内核移植
内核版本可通过以下地址获取:Linux Device Drivers: http://lwn.net/Kernel/LDD2/Linux kernel官方网站:http://kernel.org/Linux kernel 一览:https://www.kernel.org/pub/linux/kernel/ 我的环境是:1. 开发板用的是FL-OK6410B(即三原创 2013-05-30 22:24:56 · 1837 阅读 · 0 评论 -
Linux嵌入式移植之——(2)文件系统制作, initramfs
零.前言上一篇已经完成了内核的基本移植,并且支持NAND FLASH读写,这篇只需要制作保存在NAND FLASH的文件系统,那么一个基本的LINUX系统就建立了。一.准备制作建立根目录,该目录就要我们要移植到目标板上的目录,对于嵌入式的文件系统,根目录下必要的目录包括bin,dev,etc,usr,lib,sbin。用shell脚本创建根文件系统的目录结构首先 touchbu原创 2013-06-17 17:13:51 · 846 阅读 · 0 评论 -
Windows访问Linux——之FTP
实现了Apache多用户的虚拟主机设置,那么一般这些用户都会选择用ftp上传的方式来管理自己的web内容,这就需要我们再为他们开设FTP服务。Ubuntu自带的FTP服务器是vsftpd,好文推荐里也转了两篇这方面的内容,本人通过实践再奉献一篇,呵呵 安装vsftpd,用来实现ftp服务。 sudo apt-get update sudo apt-get dist-upgr转载 2012-12-18 14:04:57 · 1356 阅读 · 1 评论 -
Linux 查看系统硬件信息(实例详解)
inux查看系统的硬件信息,并不像windows那么直观,这里我罗列了查看系统信息的实用命令,并做了分类,实例解说。cpulscpu命令,查看的是cpu的统计信息.blue@blue-pc:~$ lscpuArchitecture: i686 #cpu架构CPU op-mode(s): 32-bit, 64-bi转载 2016-04-20 17:03:45 · 481 阅读 · 0 评论 -
RTLinux编程总结
主要是RTLinux环境下编程总结,在嵌入版发过,没几个人响应。做过一个有关RTLinux的项目,时间一长,差不多忘光了,现在尽量把原来做过的东西总结一下,以备后用,同时正在做类似项目的一个借鉴平台主机:redhat 8.0 目标机:PC104模块、ISA总线脉冲输出、实时串口通信 linux-2.4.18.tar.bz2 +rtlinux-3.2-pr转载 2016-05-11 16:38:16 · 5949 阅读 · 0 评论 -
Linux下gcc工具
1、nm [options] file 列出file中的所有符号功能列出.o .a .so中的符号信息,包括诸如符号的值,符号类型及符号名称等。所谓符号,通常指定义出的函数,全局变量等等。使用nm [option(s)] [file(s)]有用的options:-A 在每个符号信息的前面打印所在对象文件名称;-C 输出dem转载 2015-04-17 10:10:01 · 1125 阅读 · 0 评论 -
将Vim改造为强大的IDE—Vim集成Ctags/Taglist/Cscope/Winmanager/NERDTree/OmniCppComplete(有图有真相)
1、安装Vim和Vim基本插件首先安装好Vim和Vim的基本插件。这些使用apt-get安装即可:lingd@ubuntu:~/arm$sudo apt-get install vim vim-scripts vim-doc其中vim-scripts是vim的一些基本插件,包括语法高亮的支持、缩进等等。vim中文帮助文档tar包下载地址:http://sourceforge.net/pr转载 2015-04-01 09:20:57 · 526 阅读 · 0 评论 -
Linux中源码安装编译Vim
Linux下学习工作少不了编辑器,Vim能使你的工作效率成倍的提高。在Ubuntu上安装vim使用命令直接安装很简单。但有时还是需要自己手动编译安装。例如: vim中的杀手级插件——YouCompleteMe 要求Vim版本为7.3.548或者更高,自己升级成全功能的最新版,需要通过源码编译安装。自己在编译安装的过程中也查阅了很多资料,这里将整个编译安装的过程记录下来。推荐阅读:转载 2015-04-01 09:20:39 · 1486 阅读 · 0 评论 -
Linux下缓冲区溢出攻击的原理及对策
本文首先向读者讲解了Linux下进程地址空间的布局以及进程堆栈帧的结构,然后在此基础上介绍了Linux下缓冲区溢出攻击的原理及对策。前言从逻辑上讲进程的堆栈是由多个堆栈帧构成的,其中每个堆栈帧都对应一个函数调用。当函数调用发生时,新的堆栈帧被压入堆栈;当函数返回时,相应的堆栈帧从堆栈中弹出。尽管堆栈帧结构的引入为在高级语言中实现函数或过程这样的概念提供了直接的硬件支持,转载 2015-01-26 18:34:41 · 722 阅读 · 0 评论 -
Linux嵌入式移植之——(3)支持DM9000网卡
linux作为网路系统,功能强大之处就在于对网络的支持完善,因此添加网卡驱动使其具有网络功能是非常必要的。此开发板的网卡为DM9000,DM9000在内核是公开通用的,因此添加对它的支持非常简单。在math-th6410.c文件中添加以下1.包含头文件#include 2.设备配置结构体/* add by chenpq at 2013.6.25 ***********/原创 2013-06-26 09:51:51 · 918 阅读 · 0 评论 -
grep
正则表达式:grepRE 字符意义与范例^word待搜寻的字串(word)在行首!范例∶grep -n '^#' regular_express.txt搜寻行首为 # 开始的那一行!word$待搜寻的字串(word)在行尾!范例∶grep -n '!$' regular_express.txt将行尾为 ! 的那一行转载 2013-07-17 15:52:04 · 757 阅读 · 0 评论 -
Linux 查看系统硬件信息(实例详解)
linux查看系统的硬件信息,并不像windows那么直观,这里我罗列了查看系统信息的实用命令,并做了分类,实例解说。cpulscpu命令,查看的是cpu的统计信息.blue@blue-pc:~$ lscpuArchitecture: i686 #cpu架构CPU op-mode(s): 32-bit, 64-b转载 2013-12-19 19:28:27 · 691 阅读 · 0 评论 -
Git 使用的简单汇总
1. 配置 git config --global user.name "your name"git config --global user.email mail@box.comgit config --global color.ui truegit config --global core.editor vigit config --global alias.lol转载 2014-02-25 11:46:13 · 657 阅读 · 0 评论 -
嵌入式Linux系统图形及图形用户界面综述
嵌入式Linux系统图形及图形用户界面综述 作者:魏永明(ymwei@minigui.org)。 声明:任何人可以以任何方式复制、修改,发布或者转贴这篇文章的部分或全部内容,前提是完整保留这一版权声明。如果要修改本文或者作为其他可发布稿件的部分,请通过电子邮件通知原作者。当然,如果发现其中的任何错误,也请告诉原作者,以便修改更新。目录 1 Linux 图形领域的基础设施转载 2013-07-26 15:25:50 · 1065 阅读 · 0 评论 -
Linux常用命令大全
系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpui转载 2013-01-06 09:33:26 · 393 阅读 · 0 评论 -
Windows访问Linux——之nc
nc确实是网络安全以及黑客世界一个非常流行和使用的工具,nc的用法是很多的,这里我们只介绍了几种最常用的用法,并且介绍了在Linux下重新编译nc使得其带有-e参数的方法和技巧,希望对大家有所帮助。 nc是一个命令行工具,在Windows和在Linux下的使用方法查不多(如无特别说明,本文测试的Windows机器为winxp+sp2,Linux为Redhat9.0),我们可以通过nc –h(W转载 2012-12-20 14:50:59 · 1823 阅读 · 0 评论 -
linux中fdisk分区方法
当我们通过 fdisk 设备,进入相应设备的操作时,会发现有如下的提示;以 fdisk /dev/sda 设备为例,以下同;[root@localhost beinan]# fdisk /dev/sdaCommand (m for help): 在这里按m ,就会输出帮助;Command actiona toggle a bootable flagb edit bsd di转载 2012-10-18 10:24:31 · 841 阅读 · 0 评论 -
2011-05-12 16:40 linux下分区大小改变及fdisk应用
实例解说Linux中fdisk分区使用方法一、fdisk 的介绍fdisk - Partition table manipulator for Linux ,译成中文的意思是磁盘分区表操作工具;本人译的不太好,也没有看中文文档;其实就是分区工具。fdsik 能划分磁盘成为若干个区,同时也能为每个分区指定分区的文件系统,比如linux 、fat32、 linux 、linux swap转载 2012-10-18 12:29:58 · 833 阅读 · 0 评论 -
XFree86学习笔记
1. X window 介绍1.1. X 简介1.2. 版本1.3. XFree86项目介绍2. XFree86系统介绍2.1. XFree86安装2.2. XFree86配置2.3. XFree86的文件系统2.4. XFree86字体2.5. 启动X112.5.1. 启动方法2.5.2. 启用多用户会话2.5.3. 终止X会话转载 2012-09-07 16:43:01 · 2764 阅读 · 0 评论 -
Linux mount
转载:挂接命令(mount) 首先,介绍一下挂接(mount)命令的使用方法,mount命令参数非常多,这里主要讲一下今天我们要用到的。 命令格式: mount [-t vfstype] [-o options] device dir 其中: 1.-t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。常用类型有: 光盘或转载 2012-08-23 21:16:22 · 418 阅读 · 0 评论 -
__FILE__,__LINE__,FUNCTION__实现代码跟踪调试(linux下c语言编程 )
先看下简单的初始代码:注意其编译运行后的结果。root@xuanfei-desktop:~/cpropram/2# cat global.h //头文件#ifndef CLOBAL_H #define GLOBAL_H #include int funca(void); int funcb(void);#en转载 2012-08-16 11:47:30 · 1203 阅读 · 0 评论 -
Arm linux kernel 启动之start_kernel
了解完kernel启动以前的汇编之后我们来看看正式的c语言启动代码,也就是我们的start_kernel函数了。start_kernel相当大,里面每一个调用到的函数都足够我们伤脑筋了,我这里只是浅尝辄止的描述一下函数的功能,从而对kernel启动的过程有一个比较直观的了解。很多函数真正理解需要对linux相关体系有很深的了解,暂时没有时间深入,留待以后了。 说实话启动的代码看到现转载 2012-08-13 20:38:31 · 626 阅读 · 0 评论 -
Linux makefile 教程 非常详细,且易懂 .
最近在学习Linux下的C编程,买了一本叫《Linux环境下的C编程指南》读到makefile就越看越迷糊,可能是我的理解能不行。 于是google到了以下这篇文章。通俗易懂。然后把它贴出来,方便学习。 后记,看完发现这篇文章和《Linux环境下的C编程指南》的makefile一章所讲述的惊人的相似,只是这篇文章从一个实例切入,在有些地方比较好理解转载 2012-08-15 16:41:05 · 918 阅读 · 0 评论 -
Linux shell脚本全面学习
1. Linux 脚本编写基础1.1 语法基本介绍1.1.1 开头程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。 当编辑好脚本时,如果要执行该脚本,还必须使其可执行。 - 要使脚本可执行:编译 chmod +x filen转载 2012-08-14 19:58:44 · 527 阅读 · 0 评论 -
Android arm linux kernel启动流程
转载自http://blog.youkuaiyun.com/yili_xie/article/details/5716837虽然这里的Arm Linux kernel前面加上了Android,但实际上还是和普遍Arm linux kernel启动的过程一样的,这里只是结合一下Android的Makefile,讲一下bootimage生成的一个过程。这篇文档主要描述bootimage的构造,以及kernel转载 2012-08-13 20:35:01 · 1142 阅读 · 0 评论 -
Ubuntu-10.04.1下DirectFB与样例的编译安装、运行体验
下载DirectFB与样例的源码包:http://directfb.org/index.php?path=Main%2FDownloads&page=0 DirectFB-1.3.0http://directfb.org/index.php?path=Main%2FDownloads&page=1 DirectFB-examples-1.2.0一、安装DirectFB-1.3.01转载 2012-08-11 22:25:58 · 802 阅读 · 0 评论 -
编译运行第一个DirectFB程序
本文介绍了如果把一个DirectFB源程序文件编译一个可执行的文件,附带性的介绍了gcc的常见编译选项的应用。---------------------------------------------------------------------------------------------------------------------声明: 此文为原创,欢迎转载,转载转载 2012-08-11 22:20:39 · 918 阅读 · 0 评论 -
diff和patch使用指南
diff和patch是一对工具,在数学上来说,diff是对两个集合的差运算,patch是对两个集合的和运算。 diff比较两个文件或文件集合的差异,并记录下来,生成一个diff文件,这也是我们常说的patch文件,即补丁文件。 patch能将diff文件运用于 原来的两个集合之一,从而得到另一个集合。举个例子来说文件A和文件B,经过diff之后生成了补丁文件C,那么着个过程相当于 A转载 2012-08-10 17:40:37 · 445 阅读 · 0 评论