![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux Platform
文章平均质量分 87
Absfreedom
可以通过 4bsfreedom(at)gmail 邮箱或者留言联系我,IM 容易打断工作思路。
展开
-
Linux下缓冲区溢出攻击的原理及对策
Linux下缓冲区溢出攻击的原理及对策 2003 年 10 月 01 日本文首先向读者讲解了Linux下进程地址空间的布局以及进程堆栈帧的结构,然后在此基础上介绍了Linux下缓冲区溢出攻击的原理及对策。前言从逻辑上讲进程的堆栈是由多个堆栈帧构成的,其中每个堆栈帧都对应一个函数调用。当函数调用发生时,新的堆栈帧被压入堆栈;当函数返回时,相应的堆栈帧从堆栈中弹出。尽管堆栈帧结构的引入为在高级语转载 2007-03-22 10:22:00 · 829 阅读 · 0 评论 -
Wine 中文用户指南 (六)
生词本Binary 可执行文件/二进制文件一个处于机器可执行状态的文件,编译的格式:hex 数据(与源代码相对)。 Distribution 发行版发行版通常是指一些“发行商”(独立软件商)发行操作系统CD光盘的方式(通常在 Linux 的 context 被提及)。Linux 环境能以许多不同的配置发布,例如:发行版可以被创建为适合游戏,适合科学计算应用程序,适合作服务器操作翻译 2008-04-01 16:30:00 · 2292 阅读 · 2 评论 -
Linux下的多线程编程
<!-- @page { size: 21cm 29.7cm; margin: 2cm } P { margin-bottom: 0.21cm } --> Linux下的多线程编程 本文出自:http://www.china-pub.com 作者: 姚继锋 (2001-08-11 09:05:00) 我看着总结得很好,转过来了转载 2008-06-30 14:30:00 · 828 阅读 · 0 评论 -
Debian lenny -- Install Soft
6 INSTALL SOME SOFT6.1. Chinese input,Use fcitx in English version OS: Install fcitx #apt-get install fcitx 或者从源码安装: # apt-get install libxpm-dev # tar jxf fcitx-3.4.2.tar.ba2 -C /usr/local/ #原创 2008-09-19 19:49:00 · 3399 阅读 · 0 评论 -
Debian lenny -- Init
Debian 4.0 (Etch), Debian Testing (Lenny), Debian Unstable (Sid)apt-get与dpkg的基本用法 #apt-get install packagename #安装一个新软件包 #apt-get remove packagename #卸载一个已安装的软件包(保留配置文件) #apt-get --purge remove pac原创 2008-09-19 19:42:00 · 1823 阅读 · 0 评论 -
Debian lenny -- Install Drvier
Debian lenny X61 Driver(硬件信息见附录1)5 Install Sound Card Driver5.1.1 let alsa 把你的声卡驱动起来 # apt-get install alsa-base alsa-utils alsa-oss #alsaconf #一路回车 #cat /dev/urandom > /dev/dsp #测试声音,Ctrl+C终止5.1.2原创 2008-09-19 19:47:00 · 2539 阅读 · 1 评论 -
Debian lenny -- Compile Linux Kernel in Debian
Debian lenny Compile kernel from sourceInstall Kernel 安装好正常编译需要的东西以后安装这个 # apt-get install build-essential # apt-get install libncurses5-dev若需要打补丁,还需要安装patch包: # apt-get install patch (网上有的文章说什么原创 2008-09-19 19:55:00 · 1259 阅读 · 0 评论 -
深入分析Windows和Linux动态库应用异同
<!-- @page { size: 21cm 29.7cm; margin: 2cm } P { margin-bottom: 0.21cm } --> 深入分析Windows和Linux动态库应用异同摘要:动态链接库技术实现和设计程序常用的技术,在Windows和Linux系统中都有动态库的概念,采用动态库可以有效的减少程序大小,节省空间,提高效率,增转载 2008-06-30 14:35:00 · 683 阅读 · 0 评论 -
我的vim + ctags + cscope
首先,基础的vim的使用请直接google。第二,vim的安装和配置请参考这篇经典教程:http://blog.csdn.net/wooin/archive/2008/08/28/2844868.aspx再次感谢吴垠。这里是我的vim的配置和一些使用小技巧,贴上来做笔记:)每次都从头象吴垠说的那样配置有些麻烦,我把我的vimrc和插件都保存起来,放在home.vim文件夹下,压缩存放:),要是系统原创 2008-10-30 17:32:00 · 8603 阅读 · 3 评论 -
读漫谈WINE的系统结构笔记
读漫谈WINE的系统结构笔记试验环境: Debian + wine 1.0+ vim7.2+ctags联系方式:hongmy525(at)gmail.com2008年12月25日这不是我第一次阅读毛老师的漫谈系列了,不知道是因为太久以前看的,还是以前看的时候没有理解,现在竟然忘记得干干净净,呵呵。其实在毛老师的漫谈中,已经讲得很清楚了,但好记性不如烂笔头,我还是记一下:)概述原创 2008-12-26 14:19:00 · 1460 阅读 · 0 评论 -
代码分析: Wine HeapAllocate 函数
HeapAllocate()wine-1.0 + ReactOS-3.84bsfreedom@gmail.com这里是对堆函数进行一些分析,阅读代码时最好参考wine源码阅读,可以在www.winehq.org 下载到wine的源码。ReactOS的源码在www.reactos.org下载。1 检查HeapAllocate ->原创 2009-04-09 00:18:00 · 4184 阅读 · 1 评论 -
进程间通信之 Unix Domain Socket
原文地址:http://www.linuxgraphics.cn/gui/ipc_unix_socket.html,感谢原作者。 简介GUI 系统中本机的客户/服务器结构通常基于 Unix Domain Socket 来实现。如Xwindow 系统中,X11 客户在连接到 X11 服务器之前,首先根据 Display 等环境变量的设置来判断 X11 服务器所在的主机,如果主转载 2009-09-28 00:01:00 · 2842 阅读 · 1 评论 -
fcntl设置文件描述符
How would I put my socket in non-blocking mode? From: Andrew Gierth (andrew@erlenstar.demon.co.uk): Technically,fcntl(soc, F_SETFL, O_NONBLOCK) is incorrect since it clobbers allother fil原创 2009-10-13 19:01:00 · 2120 阅读 · 0 评论 -
Linux Shell 下的输出重定向
Linux Shell 环境中支持输入输出重定向,用符号来表示。0、1和2分别表示标准输入、标准输出和标准错误信息输出。可以用来指定需要重定向的标准输入或输出,比如 2>a.txt 表示将错误信息输出到文件a.txt中。 同时,还可以在这三个标准输入输出之间实现重定向,比如将错误信息重定向到标准输出,可以用 2>&1来实现。 Linux下还有一个特殊的文件/dev转载 2009-10-29 22:19:00 · 832 阅读 · 0 评论 -
Linux 2.6.11内核文件IO系统调用详解
以前在论坛转过了,这里就不重复了,做为笔记这样的要求可以了:) http://www.longene.org/forum/viewtopic.php?f=5&t=454转载 2009-11-01 22:13:00 · 900 阅读 · 0 评论 -
函数指针、指针函数以及回调函数
函数指针和指针函数 函数指针: int func ( ); int (*func) ( ); //指针两侧的括号不能省略,表示先对func解引用,然后再调用相应的函数函数指针是一个指向函数的指针, 其实就是函数,因为ANSI C标准将func ( )认为是(*func)( )的简写形式原创 2009-11-11 08:46:00 · 1266 阅读 · 1 评论 -
多线程同步条件变量
最近看《UNIX环境高级编程》多线程同步,看到他举例说条件变量pthread_cond_t怎么用,愣是没有看懂,只好在网上找了份代码,跑了跑,才弄明白 #include #include #include pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;/*初始化互斥锁*/pthread_cond_t cond = PTH原创 2010-01-15 16:01:00 · 10118 阅读 · 10 评论 -
Wine 中文用户指南 (四)
第四章 运行Wine内容标签:4.1 基础使用:应用程序和控制面板4.2 如何运行wine4.3 类似Explorer的图形化环境变量4.4 wine的命令行选项4.5 环境变量4.6 wineserver命令行选项4.7 设定windows、Dos环境变量4.8 文本程序(CUI:控制用户接口) 本章将描述运行 Wine 的所有方面,例如,基本的 Wi翻译 2008-04-01 16:26:00 · 6073 阅读 · 1 评论 -
Wine 中文用户指南 (二)
第二章 获取wine内容标签:2.1 wine安装方法2.2 从包安装wine2.3 从源码安装wine2.1 wine安装方法一旦您已经决定 Wine 正合适您的需求,下一步是决定您想怎样安装之。有3种方法安装来自 WineHQ 的 Wine ,每一种都有其优点和缺点。2.1.1 用软件包包安装目前最为容易的安装 Wine 的方法是使用预先打包好的 Wine 的版翻译 2008-04-01 16:23:00 · 5200 阅读 · 0 评论 -
Wine 中文用户指南 (零)
Wine 中文用户指南 [2008-04-01]Wine 中文用户指南前言在easywine论坛上已经找到新版的翻译文档,但是很多地方不怎么满意,我这几天正好需要这方面的知识,就对着现在的《wine user guide》翻译和参考easywine论坛上那篇已经翻译好的文章修改了一下,自己花了一点时间,站在前人的肩上完成的,拿出来,希望对英文不好的朋友使用wine时有帮助。(翻译 2008-04-01 16:20:00 · 2762 阅读 · 0 评论 -
Linux下程序设计常用函数
isalnum(测试字符是否为英文或数字) 相关函数 isalpha,isdigit,islower,isupper 表头文件 #include 定义函数 int isalnum (int c) 函数说明 检查参数c是否为英文字母或阿拉伯数字,在标准c中相当于使用“isalpha(c) || isdigit(c)”做测试。 返回值 若参数c为字母或数字,则返回TRUE,否则返回NULL转载 2007-06-27 18:06:00 · 1610 阅读 · 0 评论 -
linux的内存模型
了解linux的内存模型,或许不能让你大幅度提高编程能力,但是作为一个基本知识点应该熟悉。坐火车外出旅行时,即时你对沿途的地方一无所知,仍然可以到达目标地。但是你对整个路途都很比较清楚的话,每到一个站都知道自己在哪里,知道当地的风土人情,对比一下所见所想,旅程可能更有趣一些。 类似的,了解linux的内存模型,你知道每块内存,每个变量,在系统中处于什么样的位置。这同样会让你心情愉快,转载 2007-04-04 09:15:00 · 2134 阅读 · 0 评论 -
Linux下的文件遍历和Windows下的文件遍历示例
Linux下的文件遍历和Windows下的文件遍历示例 分类: C算法设计 | 标签: 目录遍历算法 1.Linux下的目录遍历函数 int num=0; int i=0; int j = 0; int k=0; int dir_len=0; int m=0; char temp[MAX_PATH_LEN]; struct dirent转载 2007-06-27 17:57:00 · 1354 阅读 · 0 评论 -
堆和栈的区别分析
堆和栈的区别 :一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器(Compiler)自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵转载 2007-04-09 20:11:00 · 822 阅读 · 0 评论 -
Linux内核级后门的原理及简单实战
【摘 要】 以下代码均在linux i86 2.0.x的内核下面测试通过。它也许可以在之前的版本通过, 但并没有被测试过. 因为从2.1.x内核版本就引入了相当大的改变, 显著地内存管理上的差别, 但这些不是我们现在要讨论的内容…… 以下代码均在linux i86 2.0.x的内核下面测试通过。它也许可以在之前的版本通过, 但并没有被测试过. 因为从2.1.x内核版本就引入了相当大的改转载 2007-04-07 09:30:00 · 747 阅读 · 0 评论 -
linux内核分析---系统调用实现代码分析(By e4gle)
linux内核分析---系统调用实现代码分析by e4gle; from http://http://linux.chinaunix.net/bbs/viewthread.php?tid=16184&extra=page%3D6%26amp%3Bfilter%3Ddigest 2001年6月5日 启动早就读完,现在为了写笔记再从启动之后粗略的大体读一遍,基本就是几个大模块:启动和初始化, 中转载 2007-05-10 08:36:00 · 1194 阅读 · 0 评论 -
Linux rootshell.c for kernel 2.4.x
[原创]Linux rootshell.c for kernel 2.4.x文章作者:sgl信息来源:邪恶八进制信息安全团队(www.eviloctal.com)rootshell.c 是我的linux rookit tthacker中的一个功能,通过执行/etc/passwd,即可获得的一个rootshell.如果你熟悉linux 2.6内核编程的话,可以将其移植到2.6的平台上,模块中对s转载 2007-05-18 17:07:00 · 861 阅读 · 0 评论 -
内核编程入门:简析 linux modules
内核编程入门:简析 linux modules 这是篇Linux编程入门级的文章。 1 什么是module? 什么是module?打一个简单的比方,要是把Linux内核比成一个书架,书架上所有的书的内容就是就是内核所提供的功能,那我们每把一本书放进书架就相当于像内核插入一个module。要是插入一本有内容独立的书,原创 2007-10-19 22:09:00 · 3456 阅读 · 0 评论 -
Linux Kernel Architecture Over View(Linux内核结构)
Linux内核体系结构(Linux Kernel Architecture Over View)序言记得几年前我刚刚接触Linux,刚刚听说操作系统内核的概念,想起学习Linux的内核,去阅读Linux内核的源码,但一直到现在,才能走到内核的门口,速度之慢,实在是羞愧难当。这篇文章早就想写了,但是一拖再拖,也想过像那些大牛要写就写有水平的文章,而且一出就出一系列~,现在什么都不管,但是想想原创 2007-11-05 21:09:00 · 8596 阅读 · 4 评论 -
伪代码说明Linux进程创建过程
伪代码说明Linux进程创建过程以前单知道linux创建进程用的fork函数,深一点点知道是调用sys_fork系统调用来完成,前阵子看了 安全焦点process写得文章对这个过程的框架有了点点认识,记下来,以后再学到时把它更深入一成的研究。:)Fork --> sys_fork() --> do_fork();这里倒是有点想exec族的系统调用,execve() -> sys_exec(原创 2007-11-11 17:27:00 · 2003 阅读 · 0 评论 -
SCULL简单字符设备驱动
SCULL简单字符设备驱动试验环境: Fedora8+2.6.23内核+vim7.1+lxr Server联系方式:4bsfreedom$gmail.com(替换 $ 为 @ )(不知如何上传附件,相关资料包括源码可发邮件向我索取)2008年01月28日 序言 我的《Linux D原创 2008-01-31 21:18:00 · 8793 阅读 · 7 评论 -
反汇编看 x=5 的原因
今天在群上看见了下面这样一个程序,说 x 能打印出 0这个值来,刚开始以为是简单的溢出,后面仔细一看和我以前的溢出猜想不一样,虽然这个技术hacker早就熟得都烂了,但是我一直都只是知道原理,没有亲手去调试过,今天提前完成了上班的任务,所以调试一下,使用的工具有gcc,objdump,gdbreturnadress.c#includevoid function(void){ char buf原创 2008-02-29 19:43:00 · 1112 阅读 · 1 评论 -
反汇编调试简单程序笔记
>http://www.cs.wright.edu/~tkprasad/courses/cs781/alephOne.html----------------------------------------------------------------//sample.c#include #include char largebuff[] = "12341234=原创 2008-03-12 11:58:00 · 1242 阅读 · 0 评论 -
Wine 中文用户指南 (一)
第一章 介绍内容标签:1.1 概览/关于1.2 什么是wine?1.3 wine的版本1.4 wine以外的选择1.1 概览/关于1.1.1 本文档的目的和目标读者本文档,名为《Wine用户指南》,既是一个简单的安装指南,又是一个扩展性的参考指南。本文适合新的Wine用户,也适合有经验的Wine用户。它以在文档中提供所有配置特性和支持域来提供完全的一步一步的安装和配翻译 2008-04-01 16:22:00 · 11830 阅读 · 0 评论 -
Wine 中文用户指南 (三)
第三章 配置wine内容标签:3.1 使用winecfg3.2 使用注册表和注册表编辑器3.3 配置其他东西 最最通常的配置变更可以通过使用 winecfg 工具来达成。我们将经历一个简单的,一步一步的介绍,这个介绍是对 Winecfg 的介绍。并概要的给出可用的设置选项。在下一节我们将看到您可以通过使用 regedit 做出更高级的变更,也提供一个完全的参考给所有的 Wi翻译 2008-04-01 16:24:00 · 6598 阅读 · 2 评论 -
Wine 中文用户指南 (五)
第五章 问题捕捉报告 bug内容标签:5.1 如果有些程序仍不能运行怎么办?5.2 如何报告一个bug5.1 如果有些程序仍然不能运行怎么办有些时候您已经尝试了所有的方法, 您甚至费了九牛二虎之力吃尽了苦头绞尽了脑汁,做了这令人恶心的事情,但仍然无助于使一些他妈的该死的程序在一些版本的 Wine 上工作。别泄气,我们在这里要帮助您……(换句话说,您想付出多少银子?)5.1.翻译 2008-04-01 16:28:00 · 3927 阅读 · 0 评论 -
C语言中标志位笔记
标志位操作:Linux内核、wine、XFree86的代码中都常常能见到一些这样的标志位操作。现在从Linux内核中的do_mount()函数中那些例子来记一下:1949 if (flags & MS_NOEXEC)1950 mnt_flags |= MNT_NOEXEC;1956 flags &= ~(MS_NOSUID | MS_N原创 2009-11-26 00:21:00 · 5495 阅读 · 1 评论