汇编网首页登录博客注册
duckgaga的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
友情链接

[2008-11-07 00:18] [转]寻找真正的入口(OEP)--内存断点

寻找真正的入口(OEP)--内存断点

Author:Lenus

1.前言
发现论坛中很多兄弟在询问:什么是二次内存断点,三次内存断点。还有很多人对内存断点的原理不是很明白。其实只要懂得壳是如何解压代码的,那么就完全可以按自己的喜欢来下断。

本文要解决的问题是:
1.什么是内存断点?
2.如何在寻找OEP时使用内存断点。
3.内存断点的局限性。

2.内存断点寻找OEP的原理
i.首先,在OD中内存断点和普通断点(F2下断)是有本质区别的。
内存断点等效与命令bpm,他的中断要用到DR0-DR7的调试寄存器,也就是说OD通过这些DR0-DR7的调试寄存器来判断是...
阅读全文 | 评论次数(0) | 浏览次数(1517) | 所属类型(加密与解密)

[2008-11-07 00:15] [转]ESP定律详解

ESP定律详解
1.前言
  
  在论坛上看到很多朋友,不知道什么是ESP定律,ESP的适用范围是什么,ESP定律的原理是什么,如何使用ESP定律?看到了我在

http://poptown.gamewan.com/dispb ... mp;ID=54&page=1

调查结果发现,大家对ESP定律很感兴趣,当然因为实在是太好用了,现在我就来告诉大家什么是ESP定律,它的原理是什么!!

2.准备知识

  在我们开始讨论ESP定律之前,我先给你讲解一下一些简单的汇编知识。
  1.call
  这个命令是访问子程序的一个汇编基本指令。也许你说,这个我早就知道了!别...
阅读全文 | 评论次数(0) | 浏览次数(1790) | 所属类型(加密与解密)

[2008-07-13 22:36] 第二章实验任务

(1)使用Debug,观察程序执行时相关寄存器变化

实验过程如下:
C:\DOCUME~1\XXX>debug
-a
0B12:0100 mov ax,4e20
0B12:0103 add ax,1416
0B12:0106 mov bx,2000
0B12:0109 add ax,bx
0B12:010B mov bx,ax
0B12:010D add ax,bx
0B12:010F mov ax,001a
0B12:0112 mov bx,0026
0B12:0115 add al,bl
0B12:0117 add ah,bl
0B12:0119 add b...
阅读全文 | 评论次数(3) | 浏览次数(1610) | 所属类型(重读《汇编语言》)

[2008-07-10 00:29] 考完的回归

憋了好几天,终于考完试了!
明天重新回归汇编的学习!...
阅读全文 | 评论次数(3) | 浏览次数(1296) | 所属类型(重读《汇编语言》)

[2008-06-26 22:52] 推荐博文 由检测点2.2引发的思考与实验

由检测点2.2引发的思考与实验

检测点2.2中的第一小题说到:给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为()到()?

这个小题的关键点在于,求出偏移的变化范围,再利用公式“段地址*16+偏移地址=物理地址”即可求得CPU的寻址范围。
关于这个小题的偏移变化范围,据我所知,好像有两种,一个是0~FFFFH,另一种则是0~15。那么两种答案到底谁对谁错呢?或者说,哪一个答案更加合理呢?为此,笔者设计了一个实验对此进行测试,具体情况如下:

一、设计思路:
两个答案中,一个是0~15,另一个是0~FFFFH,两个答案中都包含0~15这个部分,因此只要验证超...
阅读全文 | 评论次数(8) | 浏览次数(2463) | 所属类型(重读《汇编语言》)

[2008-06-26 22:49] 推荐博文 第二章检测点

检测点2.1

1)写出每条汇编指令执行后相关寄存器中的值。

mov ax,62627              ax=0f4a3h
mov ah,31h                ax=31a3h
mov al,23h                ax=3123h
add ax,ax                ax=6246h
mov bx,826ch                bx=826ch
mov cx,ax                cx=6246h
mov ax,bx                ax=826ch
add ax,bx                ax=04d8h
mov al,bh                ax=0482h
mov ah,bl                ax=6c82h
add ah,ah                ax=0d882h
add al,6                ax=0d888...
阅读全文 | 评论次数(1) | 浏览次数(1778) | 所属类型(重读《汇编语言》)

[2008-06-25 03:01] [转载]不再疑惑,汇编之后

不再疑惑,汇编之后        文章作者:伶妖

学习计算机知识的目的是为了使用计算机解决问题。为了更好的使用计算机我们必须要学会能与计算机直接沟通和交流的汇编语言。在我们认真学完《汇编语言》之后,就可以和计算机进行基本的沟通和交流了,也就是有了基础,但只有这些基础还不够,我们还需要更多的计算机方面知识。作为一个渴望知识和并不满足于现状的你,一定会想下一步该学习什么?任何简单的答复都让你质疑。但是你已学完了《汇编语言》,你应该对机器有了了解,也具备了独立判断下一步该学什么的能力了。下面是汇编相关的几个方面的介绍和分析,你看你应该从那方面入手进行下一步的学习。 


1、从汇编语言自...
阅读全文 | 评论次数(0) | 浏览次数(1198) | 所属类型(默认类型)

[2008-06-25 01:55] 第2章学习笔记

1.内部总线实现CPU内部各个器件之间的联系,外部总线实现CPU和主板上其他器件的联系。


2.对一个汇编程序员来说,CPU中的主要部件是寄存器。寄存器是CPU中程序员可以用指令读写的部件。程序员改变各种寄存器的内容来实现对CPU的控制。

3.8086CPU的所有寄存器都是16位的,可以存放两个字节。AX,BX,CX,DX四个寄存器通常用来存放一般性的数据,被称为通用寄存器。
要注意的是,在这四个寄存器当中,只有BX可以用来进行寻址,如mov ax,[bx+3]中,后面的bx就不能用其它三个通用寄存器代替。例如,mov di,[ax+3];mov di,[cx+3];mov d...
阅读全文 | 评论次数(2) | 浏览次数(1715) | 所属类型(重读《汇编语言》)

[2008-06-21 11:27] 检测点1.1

1. 1个CPU的寻址能力为8KB,那么它的地址总线的宽度为(13)。
分析:CPU的寻址能力是地址总线的宽度决定的,它所能寻到的内存单元为(2^N)。故在此,8KB=(2^3)*(2^10)B=2^13B。别忘了1KB=1024B这个基本的知识点!

注意事项:
这里谈及寻址能力,就首先要理解好CPU寻址时,所寻到的并不是一个二进制位bit,而是一个存储单元Byte(简写为B),如果不太明白的,应该回去好好看看P6的那个图,好好理解!如果没有掌握这一点,就有可能把答案做成16,即(2^3)*(2^10)*(2^3)=2^16b,这样就错了!


2. 1KB的存储器有(1024...
阅读全文 | 评论次数(5) | 浏览次数(1880) | 所属类型(重读《汇编语言》)

[2008-06-21 00:41] 第1章 学习笔记

1.CPU能直接识别并执行的指令称为机器指令。机器指令在形式上表现为二进制编码。而机器语言是机器指令的集合。

2.机器指令与CPU有着密切的关系。每一种微处理器(CPU),由于硬件设计和内部结构的不同,就需要用不同的电平脉冲(机器指令)来控制,使它工作。因此,通常CPU种类不同,对应的机器指令也就不同。

3.机器语言是用二进制编码的机器指令的集合及一组使用机器指令的规则。它是CPU能直接识别的唯一语言。只有用机器语言描述的程序,CPU才能直接执行。

4.汇编语言由汇编指令、伪指令及其它符号组成的。其中汇编指令是机器码的助记符,有相对应的机器码;而伪指令和其他符号没有对应的机器...
阅读全文 | 评论次数(9) | 浏览次数(2343) | 所属类型(重读《汇编语言》)
『 查看更多文章 』