FAQ7: 如何正确的对待汇编学习和反汇编学习?

原创 2010年02月16日 16:26:00

FAQ7: 如何正确的对待汇编学习和反汇编学习?
答: 首先要学会正确的学习方式。
      学习汇编的正确方式: 1> 建议以 王爽汇编这本教材 为初级入门书籍
                       2>  在以
80x86汇编语言程序设计教程[黑皮书] 这本书 来深入学习32BIT的汇编以及保护模式的编程
严格按照上面2个步骤学习,基本可以用汇编写一些很简单的DOS汇编程序,至少在汇编语法上,你是很熟悉。

   学习反汇编的正确方式: 1> 先学习 C/C++ 语言
                       2> 学习 WINDOWS核心编程
                       3> 通过以上的基础,来自己开发一些小软件,加深WINDOWS系统下的软件开发流程以及自己的学习结果
                       4> 有条件的,在学习 WIN32ASM 汇编 编程技术
                       5> 通过上述的4个步骤的认真学习之后,你可以尝试用C/C++  语言写一些简单的小程序,然后再通过VS这样的高级开发工具,调试你的程序,并切换到反汇编模式。把汇编代码和你的C/C++代码一一对应起来,通过这样的对照方式,大概了解反汇编的思维
                       6> 通过以上5个步骤的认真学习,你可以在通过去购买一些有关反汇编的书籍来慢慢学习。

备注:以上答案均来自个人的理解,如果回答得不够准确或者完整,望热心网友留言补充或指出错误。

C++反汇编学习笔记7——数组和指针以及他们的寻址

两年前写的,欢迎大家吐槽!  转载请注明出处。 1.      数组在函数内 先通过一个简单的例子来看一下数组和普通变量在初始化时的不同之处: 这是数组初始化:     42:   in...

c&c++反汇编与逆向分析学习笔记(3)--基本数据类型表现形式

千万不要小看这些数据类型,我相信你肯定不知道float型数在变参函数参数传值时发生了什么。 “小尾方式”在内存中存放数据,即按字节存放,高数据位存放在内存的低端,低数据位放在内存的高端。比如十六...
  • kyt511
  • kyt511
  • 2015年04月05日 22:17
  • 971

反汇编学习之路之查找参考字符串

ollydbg(下面简称OD)提供了这样的一个功能:可以查找程序运行中出现的字符串。 比如下面的该软件,会弹出这样的对话框: 我们可以在弹出这个对话框时,回到OD操作界面进行查找上述对话框中出现的...
  • HK_5788
  • HK_5788
  • 2015年04月18日 21:37
  • 5452

反汇编学习之路之静态数据成员

我们知道,当我们在类中定义了静态数据成员时,由于静态数据成员和静态变量原理相同,因此该静态数据成员的初值会被写入编译器连接后的执行文件中,当程序被加载时,操作系统将执行文件中的数据读到对应的内存单元,...
  • HK_5788
  • HK_5788
  • 2015年04月20日 17:40
  • 422

C++反汇编学习笔记2——循环语句

转载请注明出处。 1.      循环语句 1.1  do循环 首先来看一段goto语句(什么?不知道goto语句,C语言老师太水了吧,这都不教。其实就和无条件跳转指令JMP差不多,但是最好不要用,...

反汇编学习之路之构造函数与析构函数(一)

构造函数与析构函数是类的重要组成部分,他们在类中担任着至关重要的工作。够战术常用来完成对象的生成时的初始化工作,而析构函数则常用于在对象销毁时释放对象中的所申请的资源。 当对象生成时,编译器会自动产...
  • HK_5788
  • HK_5788
  • 2015年04月20日 18:11
  • 497

ARM指令机器码学习——反汇编必学(作者:wogoyixikexie@gliet)

以前,死活看不懂这个DLL文件的16进制(其实是二进制,为了好看,以16进制ASCII码显示),对一些高手使用IDA反汇编流口水,今天终于轮到俺上场了。     现在来看看这个指令通常的编码格式 ...

反汇编引擎学习-prefixex

http://hi.baidu.com/%C4%BD%C8%DD%CC%EC%D3%EF/blog/item/33ea77063832b1d07acbe1c8.html http://compute...
  • cay22
  • cay22
  • 2012年04月05日 21:52
  • 1025

反汇编学习之浮点数

浮点数的存储方式分为

C++反汇编与逆向之识别main函数学习笔记

int main(int argc, char* argv[]) { // main(int 1, char * * 0x00380d70) line 7 // mainCRTStartup(...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:FAQ7: 如何正确的对待汇编学习和反汇编学习?
举报原因:
原因补充:

(最多只允许输入30个字)