摘要: “汇编语言”作为一门语言,对应于高级语言的编译器,我们需要一个“汇编器”来把汇编语言 原文件汇编成机器可执行的代码。高级的汇编器如MASM, TASM 等等为我们写汇编程序 提供了很多类似于高级语言的特征,比如结构化、抽象等。在这样的环境中编写的汇编程 序,有很大一部分是面向汇编器的伪指令,已经类同于高级语言。现在的汇编环境已经如 此高级,即使全部用汇编语言来编写windows 的应用程序也是可行的,但这不是汇编语言 的长处。汇编语言的长处在于编写高效且需要对机器硬件精确控制的程序。而且我想这里 的人学习汇编的目的多半是为了在破解时看懂反汇编代码,很少有人真的要拿... 阅读全文
posted @ 2012-07-03 21:47 Arthur.Wang 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 汇编指令的操作数可以是内存中的数据, 如何让程序从内存中正确取得所需要的数据就是 对内存的寻址。 INTEL 的CPU 可以工作在两种寻址模式:实模式和保护模式。前者已经过时,就不讲 了, WINDOWS 现在是32 位保护模式的系统, PE 文件就基本是运行在一个32 位线性 地址空间, 所以这里就只介绍32 位线性空间的寻址方式。 其实线性地址的概念是很直观的, 就想象一系列字节排成一长队,第一个字节编号为 0, 第二个编号位1, 。。。。一直到4294967295(十六进制FFFFFFFF,这是32 位二 进制数所能表达的最大值了)。这已经有4GB 的... 阅读全文
posted @ 2012-07-03 21:46 Arthur.Wang 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 汇编语言和CPU 以及内存,端口等硬件知识是连在一起的. 这也是为什么汇编语言没有通用性的原因. 下面简单讲讲基本知识(针对INTEL x86 及其兼容机) ============================ x86 汇编语言的指令,其操作对象是CPU 上的寄存器,系统内存,或者立即数. 有些指令表面上没有操作 数, 或者看上去缺少操作数, 其实该指令有内定的操作对象,... 阅读全文
posted @ 2012-07-03 21:42 Arthur.Wang 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 高级语言程序的汇编解析 在高级语言中,如C 和PASCAL 等等,我们不再直接对硬件资源进行操作,而是面 向于问题的解决,这主要体现在数据抽象化和程序的结构化。例如我们用变量名来存取数 据,而不再关心这个数据究竟在内存的什么地方。这样,对硬件资源的使用方式完全交给 了编译器去处理。不过,一些基本的规则还是存在的,而且大多数编译器都遵循一些规 范,这使得我们在阅读反汇编代码的时候日子好过一点。这里主要讲讲汇编代码中一些和 高级语言对应的地方。 1. 普通变量。通常声明的变量是存放在内存中的。编译器把变量名和一个内存地址联 系起来(这里要注意的是,所谓的“... 阅读全文
posted @ 2012-07-03 21:21 Arthur.Wang 阅读(233) 评论(0) 推荐(0) 编辑
摘要: Jquery 收集 阅读全文
posted @ 2012-07-03 14:05 Arthur.Wang 阅读(1112) 评论(0) 推荐(0) 编辑
摘要: 第1种: 第2种: 第3种: 第4种: 第5种: 按钮式: 链接式:返回上一步">返回上一步 直接跳转式:开新窗口:转跳 语法:ServerVariables(参数名称) 我们知道Web/Browse的传输协议是http,http的报头会有一些客户端的信息,如 客户IP地址、浏览器的语言系统等。这时可通过Request.ServerVariables("***")获取相关信息,如Request.ServerVariables("Accept_Language")可获取客户端浏览器 的语系。其他系统参数见下表: SERVER_NAME se 阅读全文
posted @ 2012-07-03 14:01 Arthur.Wang 阅读(447) 评论(0) 推荐(0) 编辑