- 博客(13)
- 资源 (3)
- 收藏
- 关注
翻译 art of disassembly----chapter01----lesson9--Opcodes and Mnemonics---02
The Y86 Hypothetical Processor Y86------假想的处理器 由于在过去的几年来,80X86处理器功能上的增加、计算机机构的发展及intel在1978年提出的处理器设计目标,使得80X86指令的编码变得非常复杂甚至于在某些方面不符合逻辑。因此,讨论如何设计及编码指令集时80X86并不是一个很好的例子。然而,既然这是讨论80X86
2011-12-30 21:51:23 705
翻译 art of disassembly----chapter01----lesson9--Opcodes and Mnemonics---01
在本LESSON中,我将把Opcode (Opcodes)翻译为操作码!!! 本章节讨论了80X86指令集的低级实现,描述了INTEL工程师怎么样决定用数值来编码指令以及当他们设计CPU时,所做的权衡。同时,展示了设计时所做努力的历史被景以便你更好的理解他们不能不做的一些在设计上的妥协。 指令设计的重要性 在本小节, 我们将探讨
2011-12-29 17:47:13 574
翻译 art of disassembly----chapter01----lesson11---how is a disassembler working----03
取得机器码字节流 PE file wrapper object 在前面的章节中我们提到过要使用一个独立功能的对象来提供数据流这个服务,也决定了在这个项目中,我们将用一个似类于PE dump的对象来完成这个功能。非常幸运的是,我们有很多的PE dumper例子程序。(我使用Matt Pietrek's PEDUMP作为切入点) 根据需求,我们的对象需要有这样的能力:从用
2011-12-27 15:59:36 377
翻译 art of disassembly----chapter01----lesson11---how is a disassembler working----02
Mapping of "processing" tasks to objects 将处理过程映射成对象 在一个纯面象对象的设计中,这个映射并不恰当,因为我把处理过程处理成对象。然而,我坚持解析任务由"parser"完成,解码任务由"decoder"完成,: 如下图: 绿色的矩形就是代表着对象,Parser以机器字节流作为输
2011-12-27 15:19:23 367
翻译 art of disassembly----chapter01----lesson11---how is a disassembler working----01
关于此文档的内容: 此文件是关于设计及实现一个WIN32的反汇编器。它读取winodws32位下的可执行程序的机器码然后将其反汇编,并显示出来。 关于此文档的目的: 除作为我个人的学习比较以外,本文档更着重于为那些对写反汇编器感兴趣的人而写。我可提供了一些源代码以供下载。代码中有一些我写的简单的注释,但是有相当的一部分还是难以理解的,除非你对整体的设计
2011-12-20 16:24:22 370
翻译 art of disassembly---chapter01---lesson6---Link lists
I think There is no need to translate lesson 4 5 6 So..Let's continue with This 链表 虽然链表听起来好像很难很吓人的样子,不过不要担心,当你亲自有一些小实践后你就会发现原来链表也不过如此。当我第一次学到这种奇怪的数据存储方式的时候,我真的在默想我以后一定不会使用这种方式。现在我们观念
2011-12-17 14:07:40 375
翻译 art of disassembly----chapter01---lesson3
在开发的过程之中我们可能会碰到什么问题呢? 第一个很主要的也是最大的问题就是时间。写一个反汇编器是需要大量的时间。很多人在抱怨写一个反汇编器就是在浪费时间罢了。OH....那就让我们来浪费时间吧。 从这个过程中你得到的知识那是无可估量的。 另一个问题就是我们的反汇编器必须能识别机器码(opcodes)和助记符(mnemonics)。我们很容易能用
2011-12-16 19:59:20 364
翻译 art of disassembly---chapter01---lesson2
写一个反汇编器到底需要哪些知识呢? 这个问题说不大准。你需要同你有好的编程能力一样,有扎实的理论知识. 这有个列表,这些是你必须要知道的: 1、WIN32环境下汇编 2、面向对象程序设计,及了解它的原理 3、对分析算法、分析程序有很好的理解 4、了解PE文件格式 5、SEH是怎么实现的 6、链表
2011-12-16 19:38:01 342
原创 art of disassembly-------chapter01--lesson1----04
看完导入表后,我们就来看看导出表吧~~! 当PE加载器加载一个PE文件到在内存里,它同时也会加载PE文件所使用的所有DLL文件到进程的地址空间中。它从主程序得到外部函数的信息然后到DLL文件中去搜索相应函数的入口地址。那么PE加载器是到DLL文件的什么地方去找到相对应外部函数的入口地址呢?答案就是在导出表中。 当一个DLL/EXE文件
2011-12-15 13:51:24 490
原创 ListView笔记
在ListView中,字段是主要的输入点。在报告模式(Report View),这里有字段和分字段。字段是最左边的行,分字段是剩余的行。 Column1 Column2 Column3 Column4 Column5 Item1 Subitem1 Subitem2 Subitem3 Subitem4 Item2 Subitem1 Subitem2 Subitem3 Subitem4
2011-12-14 15:29:13 299
原创 the art of disassembly chapter01-----lesson1--03
ILet's continue.... 现在来了解一下节表: 节表是一个结构的数组,这个数组的长度由FileHeader结构中的NumberOfSections来指定, 下面来给出这个结构的定义 IMAGE_SIZEOF_SHORT_NAME EQU 8 IMAGE_SECTION_HEADER STRUCT Name1 db IMAGE_SIZEOF_SHORT_NAME dup
2011-12-13 14:49:36 545
原创 the art of disassembly chapter01---lesson1--02
现在来详细的学习一下PE文件头吧,下面再次给出PE文件头的结构: IMAGE_NT_HEADERS STRUCT Signature dd ? FileHeader IMAGE_FILE_HEADER OptionalHeader IMAGE_OPTIONAL_HEADER32 I
2011-12-11 22:41:44 442
原创 the art of disassembly charpter01---lesson1---01
(1)overview of the pe format PE文件的整体概况: DOS MZ HEADERS DOS STUB
2011-12-09 22:21:09 434
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人