2013年4月26日

汇编各寄存器作用

摘要: 先来看寄存器相对寻址方式:操作数的有效地址是一个寄存器的内容和指令中给定的一个位移量(disp)之和。对于16位寻址,这个寄存器只能是基址寄存器BX、BP或变址寄存器SI、DI;对于32位寻址,允许使用任何32位通用寄存器。位移量可以是8位、16位、32位(只适用于32位寻址情况)的带符号数。这种寻址方式常用在访问数组中的数据。有效地址EA=(基址<或变址>寄存器)+disp若指令中使用的是BX、SI、DI、EAX、EBX、ECX、EDX、ESI、EDI,则默认操作数在数据段,即它们默认与DS段寄存器配合;若使用的是BP、EBP、ESP,则默认操作数在堆栈段,即它们默认与SS段寄存 阅读全文

posted @ 2013-04-26 16:43 云化雨 阅读(462) 评论(0) 推荐(0) 编辑

通过汇编学习程序布局

摘要: CODE SEGMENT ...MAIN PROC ... MOV AX,1111H PUSH AX CALL SUBPROC ... MAIN ENDPSUBPROC PROC MOV AX,2222H PUSH AX POP AX RETSUBPROC ENDP ...CODE ENDS END MAINCALL指令执行时,会先把返回地址压入堆栈,再形成子程序入口地址,最后把控制权交给子程序。一、返回地址:根据子程序的调用方式分为两种,1、段内调用:把CALL之后的那条指令地址的偏移量部分(当前IP或E... 阅读全文

posted @ 2013-04-26 15:56 云化雨 阅读(156) 评论(0) 推荐(0) 编辑

sublime text 2 常用快捷键

摘要: Ctrl+L 选择整行(按住-继续选择下行) Ctrl+K,Backspace 从光标处删除至行首 Ctrl+K,K 从光标处删除至行尾Ctrl+Shift+K 删除整行Ctrl+X 复制并删除整行Ctrl+Shift+D 复制光标所在整行,插入在该行之前Ctrl+左/右箭头 跳至行首/行尾Ctrl+shift+Left/Right 选择至行首/行尾Ctrl+Alt+Up/Dow... 阅读全文

posted @ 2013-04-26 15:20 云化雨 阅读(216) 评论(0) 推荐(0) 编辑

2013年4月19日

安装MinGW

摘要: 1 什么是MinGW MinGW的官网http://www.mingw.org/,官网对MinGW的说明是:MinGW, a contraction of "Minimalist GNU for Windows", is a minimalist development environment for native Microsoft Windows applications.维基百科上MinGW的页面 http://zh.wikipedia.org/wiki/Mingw。简单的说,MinGW是将GCC编译器和GNU Binutils移植到Win32平台下的产物,包括一系列 阅读全文

posted @ 2013-04-19 21:19 云化雨 阅读(1223) 评论(0) 推荐(0) 编辑

2013年4月17日

linux 进程内存解析

摘要: 之前我所了解的linux下进程的地址空间的布局的知识,是从APUE第2版的P430得来的,之后上网查了一些资料,大概弄了明白。一个linux进程分为几个部分(从一个进程的地址空间的低地址向高地址增长):1.text段,就是存放代码,可读可执行不可写,也称为正文段,代码段。2.data段,存放已初始化的全局变量和已初始化的static变量(不管是局部static变量还是全局static变量)3.bss段,存放全局未初始化变量和未初始化的static变量(也是不区分局部还是全局static变量)以上这3部分是确定的,也就是不同的程序,以上3部分的大小都各不相同,因程序而异,若未初始化的全局变量定义 阅读全文

posted @ 2013-04-17 16:24 云化雨 阅读(484) 评论(0) 推荐(0) 编辑

Linux下缓冲区溢出攻击的原理及对策

摘要: 王勇(yongwang@buaa.edu.cn)北京航空航天大学计算机学院系统软件实验室简介:本文首先向读者讲解了Linux下进程地址空间的布局以及进程堆栈帧的结构,然后在此基础上介绍了Linux下缓冲区溢出攻击的原理及对策。发布日期:2003 年 10 月 01 日前言从逻辑上讲进程的堆栈是由多个堆栈帧构成的,其中每个堆栈帧都对应一个函数调用。当函数调用发生时,新的堆栈帧被压入堆栈;当函数返回时,相应的堆栈帧从堆栈中弹出。尽管堆栈帧结构的引入为在高级语言中实现函数或过程这样的概念提供了直接的硬件支持,但是由于将函数返回地址这样的重要数据保存在程序员可见的堆栈中,因此也给系统安全带来了极大的隐 阅读全文

posted @ 2013-04-17 16:23 云化雨 阅读(371) 评论(0) 推荐(1) 编辑

2013年4月15日

The Ultimate Wget Download Guide With 15 Awesome Examples

摘要: wgetutility is the best option to download files from internet. wget can pretty much handle all complex download situations including large file downloads, recursive downloads, non-interactive downloads, multiple file downloads etc.,In this article let us review how to usewgetfor various download sc 阅读全文

posted @ 2013-04-15 20:37 云化雨 阅读(255) 评论(0) 推荐(0) 编辑

我用wget干的事

摘要: 1、下载网站某个目录wget -c -r -np -k -L -p www.xxx.org/pub/path/-c 断点续传-r 递归下载,下载指定网页某一目录下(包括子目录)的所有文件-np 递归下载时不搜索上层目录,如wget -c -rwww.xxx.org/pub/path/, 没有加参数-np,就会同时下载path的上一级目录pub下的其它文件-k 将绝对链接转为相对链接,下载整个站点后脱机浏览网页,最好加上这个参数-L 递归时不进入其它主机,如wget -c -rwww.xxx.org/ 如果网站内有一个这样的链接:www.yyy.org,不加参数-L,就会像大火烧山一... 阅读全文

posted @ 2013-04-15 20:33 云化雨 阅读(417) 评论(0) 推荐(0) 编辑

2013年4月11日

CString转char*

摘要: 1.传给未分配内存的const char* (LPCTSTR)指针.CString cstr = "asdd";const char* ch = (LPCTSTR)cstr;ch指向的地址和cstr相同。但由于使用const保证ch不会修改,所以安全.注意此种方法只能在non-UNICODE builds中使用。2.传给未分配内存的指针.CString cstr = "ASDDSD";char *ch = cstr.GetBuffer(cstr1.GetLength() + 1);cstr.ReleaseBuffer();修改ch指向的值等于修改cstr 阅读全文

posted @ 2013-04-11 22:33 云化雨 阅读(922) 评论(0) 推荐(0) 编辑

Windows下使用wget

摘要: 下载wget.exe,http://users.ugent.be/~bpuype/wget/,将其放到C:\Windows\System32文件夹下。下面谈谈如何使用wgetrc配置文件。1、创建一个文件,名为wgetrc,里面写上你的设置,比如#You can set the default proxies for Wget to use for http, https, and ftp.# They will override the value in the environment.https_proxy = http://127.0.0.1:8087/http_proxy = http 阅读全文

posted @ 2013-04-11 20:05 云化雨 阅读(729) 评论(0) 推荐(0) 编辑

导航