自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

金俊小筑

品读技术,品读人生

  • 博客(15)
  • 资源 (4)
  • 收藏
  • 关注

转载 页式存储(1)----理论篇

<br /> <br />什么叫做"页",所谓"页",就是一块内存,在80386中,页的大小是固定的4096字节。<br /> <br />在未打开分页机制时,线性地址等同于物理地址,于是可以认为,逻辑地址通过分段机制直接转换成物理地址。但当分页开启时,分段机制将逻辑地址转换成线性地址,线性地址再通过分页机制转换成物理地址。下图为地址转换的流程:<br /> <br /><br /> <br /> <br />分页机制就像一个函数:<br />物理地址=f(线性地址) <br />线性地址中任意一个页都能映

2010-11-28 19:24:00 1242

转载 远程控制利器TeamViewer使用教程(图)

本文来自中国安全网,这个网站内容确实杂,挺不错TeamViewer是什么?他是一款免费的可以穿透内网的远程控制软件,可以实现桌面共享,文件传送等功能,简单一点说就是和QQ远程协助一样,但是比QQ的远程协助功能更为强大。TeamViewer与木马有什么区别?说到远程控制软件,大家就会想到黑客常使用的木马软件,木马一般是在用户不知情的情况下在系统里偷偷运行着,而TeamViewer远程控制软件他是在用户知情的情况下运行的,而像TeamViewer这样的正规远程控制软件杀毒软件是不会查杀的,而木马的话,杀毒软件是

2010-11-27 02:14:00 1802

转载 Linux与Windows文本格式之间的转化

<br /><br />Windows 换行是/r/n,十六进制数值是:0D0A;Linux 换行是/n,十六进制数值是:0A。所以在Linux 保存的文件在Windows 上用记事本看的话会出现黑点,我们可以在Linux 下用命令把Linux 的文件格式转换成Windows 格式的。所以Linux下有了两个指令: unix2dos :把Linux 文件格式转换成Windows 文件格式。 dos2unix :把Windows 格式转换成Linux 文件格式。 bash脚本的话就需要转换了

2010-11-26 19:13:00 879

原创 调用门实战(4)----特权级转移实践

本次实践从ring0进入ring3然后又回到ring0

2010-11-21 15:25:00 923

转载 调用门实战(3)----理论补遗之TSS

<br />      1 什么是TSS<br /> <br />  TSS 全称task state segment,是指在操作系统进程管理的过程中,任务(进程)切换时的任务现场信息。<br /> <br />  2 TSS工作细节<br /> <br />  TSS在任务切换过程中起着重要作用,通过它实现任务的挂起和恢复。所谓任务切换是指,挂起当前正在执行的任务,恢复或启动另一任务的执行。在任务切换过程中,首先,处理器中各寄存器的当前值被自动保存到TR(任务寄存器)所指定的TSS中;然后,下一任务的TS

2010-11-20 19:39:00 968

原创 调用门实战(2)----调用门特权级转移理论篇

<br /> <br />假设我们想由代码段A转移到代码段B,运用一个调用门G,调用门G中的目标选择子指向代码B的段。这里有几个要素:CPL、RPL、代码B得DPL(DPL_B)、调用门G的DPL(DPL_G)。A访问调用门G是,要求CPL和RPL都小于等于DPL_G。即CPL和RPL需要在更高的特权级上。<br /> <br />除了上面一步符合要求之外,系统还将比较CPL和DPL_B。如果一致代码段的话,要求DPL_B<=CPL;如果非一致代码段的话,call指令和jmp指令有所不同。call指令要求D

2010-11-20 19:26:00 1201

原创 调用门实战(1)----调用门跳转

"门",英文原名Gate,门是一种描述符,该描述符的结构如下图:直观来看,一个门描述了由一个选择子和一个偏移所指定的线性地址,程序正是通过这个地址进行转移的。门描述符分为4种:调用门(Call gates)中断门(Interrupt gates)陷阱门(Trap gates)任务门(Task gates)这个例子中,我们用到调用门。简单起见,不涉及任何特权级转变。代码pm.inc添加了门描述符,如下:; usage: Descriptor Base, Limit, Attr ; Base

2010-11-18 00:27:00 1867 3

原创 Linux基础---静态库编写

<br />1.编写2个c文件,这2个文件作为库文件<br /> <br />  test_func1.c<br />#include<stdio.h>void test_func1(int arg){ printf("test func1 arg:%d/n",arg);} <br /> <br />test_func2.c<br />#include<stdio.h>void test_func2(char* arg){ printf("test func2 arg

2010-11-17 22:23:00 940

转载 操作系统的特权级(2) ---- 一致代码段和非一致代码段

<br />这是在网上看到的比较通俗易懂的解释,转载于:http://blog.csdn.net/feijj2002_/archive/2009/09/27/4597174.aspx<br /> <br /><br />之所以出现这个定义是因为系统要安全:内核要和用户程序分开..内核一定要安全.不能被用户程序干涉.<br />但是有时候用户程序也需要读取内核的某些数据,怎么办呢?<br />操作系统就引入了访问特权等级(0-3)的机制.<br />这些特权等级,通过三个符号来体现CPL/DPL/RPL.<b

2010-11-14 00:00:00 1171

原创 操作系统的特权级(1)----CPL、DPL和RPL

<br /> <br />IA32的分段机制中,特权级总共有4个特权级别,分别是0,1,2,3。数字越小表示特权级越大。DPL和RPL都是用来表示特权级别的。<br /> <br /> <br /><br /> <br />见上图 ,较为核心的代码和数据,被放在特权级较高的层级中。处理器将这样的机制来避免低特权级的任务在不被允许的情况下访问位于高特权级的段。如果处理器检测到一个访问请求不是合法的,将会产生常规保护错误(#GP)<br /> <br />处理器通过识别CPL、DPL、RPL这3中特权级别进行特

2010-11-13 23:28:00 1830

原创 关于gcc on windows的“拒绝访问”问题的解决方法

今天把cygwin下的bin目录添加到PATH后,直接运行g++, gcc, 显示“访问被拒绝” (access denied).竟然那么诡异,上网查资料,网上的解决方案说:检查g++.exe, gcc.exe是否只有1k大小,如果是,那么文件是符号链接,那么把文件重命名一下(备份)。然后把g++-3.exe(或者g++-4.exe)拷贝一份,重命名为g++.exe。 把gcc-3.exe拷贝一份,重命名为gcc.exe。试了一下,靠,根本不管用,这是哪门子方法,完全没逻辑性.初步认为访问被拒绝是没有权限,

2010-11-09 22:04:00 5217 3

原创 代码实现LDT的使用

什么是LDT?简单来说就是一种描述符号表,它的选择子T1位必须为1。使用时,必须先lldt指令加载ldtr,lldt的操作数是GDT中用来描述LDT的描述符。我在原来的代码基础上做了修改:原来代码的地址http://blog.csdn.net/kkk8000/archive/2010/10/31/5977656.aspx使用LDT的具体步骤如下:1、增加一个32位代码段,代码如下:;CodeA (LDT,32位代码段)[SECTION .la]ALIGN 32[BITS 32]LABEL

2010-11-07 18:04:00 1787

原创 一次堆破坏的调试经历

<br /><br />过程是这样的,在vc debug的过程中,突然弹出了一个assert窗口:<br /> <br />Windows has triggered a breakpoint in cs.exe.<br />This may be due to a corruption of the heap, which indicates a bug in cs.exe or any of the DLLs it has loaded.<br />This may also be due to the

2010-11-05 00:16:00 10246

转载 windows下vim和Doxygen自动生成代码文档

<br /><br />1.  下载DoxygenToolkit 下载地址:http://www.vim.org/scripts/script.php?script_id=987<br /> <br />2.  把DoxygenToolkit.vim放入../Vim/vim72/plugin<br /> <br />3.  修改_vimrc的配置,我的配置是<br />let g:DoxygenToolkit_paramTag_pre="@param " <br />let g:DoxygenToolkit

2010-11-02 21:40:00 2130

原创 一段汇编代码翻译成c语言的练习

题目是这样的:有一个函数原型为void decode1(int *xp,int *yp,int * zp);函数的编译成汇编代码后如下:1    movl 8(%ebp),%edi2    movl 12(%ebp),%ebx3    movl 16(%ebb),%esi4    movl  (%edi),%eax5    movl  (%ebx),%edx6    movl  (%esi),%ecx7    movl  %eax,(%ebx)8    movl  %edx,(%esi)9    movl

2010-11-01 00:03:00 4234 1

c++编程惯用法——高级程序员常用方法和技巧

本书为pdf格式,大家下载吧

2007-12-17

VisualC++ 网络游戏建模与实现part2

介绍网络游戏服务器端开发的一本书,一共2个文件,合在一起解压 pdf格式 <br>

2007-12-16

VisualC++ 网络游戏建模与实现part1

介绍网络游戏服务器端开发的一本书,一共2个文件,合在一起解压 pdf格式

2007-12-16

Direct3D游戏开发入门教程(附源代码)

Direct3D游戏开发入门 PDF格式

2007-12-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除