转载地址:  http://blog.csdn.net/yuhengq/article/details/1867602

汇编学习从入门到精通 step by step

转载 2007年11月05日 14:25:00
  • 标签:
  • 汇编 /
  • 语言 /
  • assembly /
  • 工作 /
  • 破解 /
  • 编程
  • Cracker,一个充满诱惑的词。别误会,我这里说的是软件破解,想做骇客的一边去,这年头没人说骇客,都是“黑客”了,嘎嘎~

公元1999年的炎热夏季,我捧起我哥留在家的清华黄皮本《IBM-PC汇编语言程序设计》,苦读。一个星期后我那脆弱的小心灵如玻璃般碎裂了,为了弥补伤痛我哭爹求妈弄了8k大洋配了台当时算是主流的PC,要知道那是64M内存!8.4G硬盘啊!还有传说中的Celeon 300A CPU。不过很可惜的是在当时那32k小猫当道的时代,没有宽带网络,没有软件,没有资料,没有论坛,理所当然我对伟大的计算机科学体系的第一步探索就此夭折,此时陪伴我的是那些盗版光盘中的游戏,把CRACK_XXX文件从光盘复制到硬盘成了时常的工作,偶尔看到光盘中的nfo文件,心里也闪过一丝对破解的憧憬。

上了大学后有网可用了,慢慢地接触到了一些黑客入侵的知识,想当黑客是每一个充满好奇的小青年的神圣愿望,整天看这看那,偷偷改了下别人的网页就欢喜得好像第一次偷到鸡的黄鼠狼。

大一开设的汇编教材就是那不知版了多少次的《IBM-PC汇编语言程序设计》,凭着之前的那星期苦读,考试混了个80分。可惜当时头脑发热,大学60分万岁思想无疑更为主流,现在想想真是可惜了宝贵的学习时间。

不知不觉快毕业了,这时手头上的《黑客防线》,《黑客X档案》积了一大摞,整天注来注去的也厌烦了,校园网上的肉鸡一打一打更不知道拿来干什么。这时兴趣自然转向了crack,看着杂志上天书般的汇编代码,望望手头还算崭新的汇编课本,叹了口气,重新学那已经忘光了的汇编语言吧。咬牙再咬牙,看完寻址方式那章后我还是认输,不认不行啊,头快裂了,第三次努力终告失败。虽然此时也可以爆破一些简单的软件,虽然也知道搞破解不需要很多的汇编知识,但我还是固执地希望能学好这门基础中的基础课程。

毕业了,进入社会了,找工作,上班,换工作成了主流旋律,每天精疲力尽的哪有时间呢?在最初的中国移动到考公务员再到深圳再到家里希望的金融机构,一系列的曲折失败等待耗光了我的热情,我失业了,赋闲在家无所事事,唯一陪伴我的是那些杂志,课本,以及过时的第二台电脑。我不想工作,我对找工作有一种恐惧,我靠酒精麻醉自己,颓废一段日子后也觉得生活太过无聊了,努力看书考了个CCNA想出去,结果还是被现实的就业环境所打败。三年时间,一无所获。

再之后来到女朋友处陪伴她度过刚毕业踏入社会工作的适应时期,这段时间随便找了个电脑技术工作,每月赚那么个几百块做生活费。不过这半年让我收获比较大的就是时间充裕,接触到了不少新东西,我下定决心要把汇编学好,这时我在网上看到了别人推荐的王爽《汇编语言》,没抱什么希望在当当网购了人生中的第一次物,19块6毛,我记得很清楚,呵呵。

废话终于完了,感谢各位能看到这里,下面进入正题吧。

16位汇编

对于一个汇编初学者,首先必看的就是王爽老师的这本《汇编语言》,虽然它不是很完整,虽然它有一些错漏,虽然它需要一些前置知识(详见书籍前言部分,前言一定要仔细看!),但是王爽老师独特的教学理念构造了这本循序渐进的书,我们从中可以抛开对汇编语言的畏惧心态,一步一步的深入进去,更可喜的是在这本书里我们可以学到宝贵的底层编程意识和思想,这对于初学者来说是最为重要的,掌握了意识思想,进一步学习下去也不会再艰难。大家学习的时候一定要严格按照“前言”的要求去做,这样才能有最好的效果。

半个月,就半个月,我已经看完了书,我可以自信地宣布:我掌握汇编语言了。虽然比较基础,但想想我那六年半时间,想想我那几次痛苦的尝试,心中无端生出一丝怨恨,为什么当年没有这本书呢,否则我的成就绝不会是现在这样。我的学习过程是先看完一遍书,做了一些习题(当时没电脑上机操作),现在有了新的电脑了,便重新看一遍,把所有的上机操作和编程练习都完成了(除了最后的磁盘操作外)。

好书推荐:
1.《80x86汇编语言程序设计教程》杨季文编著,清华黑皮本。本书可以当作进一步深入学习的教材。

2.《The Art of Assembly Language》 [英文版],经典著作。

32位汇编

虽然上面学到的知识已经可以应付大学要求,但是16位汇编始终还是落后于时代了,所以我们要学习32位汇编,这里首推的是《Intel汇编语言程序设计(第4版)》,可以这样说,有了这本书,你就可以不必看别的32位汇编教材了。不过这本书的内容比较压缩,信息量大,需要时常翻阅复习。本书适合初学者及从16位转向32位汇编的人们。本书光盘中带有例子程序和作者Kip Irvine写的几个链接库,极大地简化了一些烦琐的基本操作,同时附带的Masm 6.15和编译链接批处理程序也可以用在王爽老师的《汇编语言》学习里,不过我建议不要安装光盘里的TextPad来编写源代码,个人推荐使用EditPlus。
认真学完这本书,应该可以对付一般的破解工作了,起码我是能进行一般的算法分析推出注册码咯。

好书推荐:

80x86保护模式系列教程 [中文版] 作者:李彦昌。本书可以可以当作进一步深入学习的教材。

64位汇编

虽然现在我们的系统主要还是WinNT系列,但是64位的CPU已经普及市场,64位的操作系统Vista也在不少电脑里安家落户,64位汇编语言学习不再是前沿研究。可惜我手头上的资料太少,无法作进一步介绍,各位高手看到这里还请指点。

相关资料:《Intel 64位CPU指令集及编程方法》电子文档。

相关链接:
1.
开始进行 64 位 Windows 系统编程之前需要了解的所有信息
http://www.microsoft.com/china/MSDN/library/Windev/64bit/issuesx64.mspx?mfr=true

2.
Moving to Windows x64
http://www.ntcore.com/Files/vista_x64.htm

Win32汇编

单纯的汇编似乎除了在底层开发,嵌入式开发以及高级语言内嵌汇编外没有多少地方使用了。为了在实际应用中更大地发挥,我们必须学习Win32汇编。这方面的资料比较少,国内的当然就是罗云彬的《Windows环境下32位汇编语言程序设计 第二版》了。hoho,大部头著作啊,可以当成防身行暴武器哦。

好书推荐:
1.
《Iczelion的Win32汇编教程》,网络上最初的系统Win32教程,罗云彬那书大部分内容都是从里面编著出来的,呵呵。

2.《Kernel Mode Drivers教程中文版》,Four-F的驱动开发教程,不论开不开发驱动还是得看看。

如果你已经精通上面罗列的东西,觉得有点不胜寒了,建议还是进行一下流行的哲学研究吧。

好书推荐:
1.
朱邦复的《组合语言之艺术》,作者的经验可以让我们的效率变得更高。

2.
《汇编语言与禅-Zen Of Assembly Language》,我还没看,哪位有空慢慢研究吧。

个人建议,虽然上面的书籍都能找到电子书,但是我认为上面列出的主要的三本书最好还是买纸质实体书吧,主要便于阅读和翻查,而且这么好的书,你能不支持一下作者吗?正版系统买不起而已,正版书籍我们还是扛得住的,小小一百几十块钱,少抽几包烟就够了。况且实体书读起来的感觉就是比电子书要好。如果您更喜欢阅读电子版本,那么当这段是废话略过也罢。

学习难免遇到一时难于解决的问题,网络交流也是必须的,介绍一下我认为不错的几个网站:

汇编语言学习论坛:
http://www.asmedu.net/forum.jsp
这里有王爽《汇编语言》讨论区,好像网站没开多久,大家凑合看看吧。

《Intel汇编语言程序设计(第4版)》作者的网站:
http://kipirvine.com/asm/4th/index.html
这个链接是关于书本的,更多内容请自己看首页。

罗云彬的编程乐园:
http://asm.yeah.net
上面有不少好东西下载哦。

AoGo汇编小站
http://www.aogosoft.com/
东西不少,论坛也还可以。

80x86汇编小站
http://www.x86asm.com/

CSDN论坛汇编板块:
http://community.csdn.net/Expert/ForumList.asp?typenum=1&roomid=1703

国外的著名汇编论坛:
http://www.asmcommunity.net/board/index.php
http://masm32.com/board/

MSDN当然也不能少:
http://msdn2.microsoft.com/zh-cn/default.aspx

顺便广告广告:
我的博客http://hi.baidu.com/hkbyest和http://blog.csdn.net/hkbyest/里也有我平时收集的一些资料和代码,有空捧捧场交流一下。

总结

学习汇编或许不容易,而且很枯燥,但是作为计算机科学体系中的重要基础,掌握汇编除了进行破解外还有许多优点,最简单地说,这么底层这么枯燥这么难的你都能学好,那些高级的人性化的还在话下吗?希望本文能给广大汇编学习者一些帮助,谢谢~

汇编学习从入门到精通相关推荐

  1. Java学习从入门到精通的学习建议

    想要学好java技术,首先打好基础很重要,不论学什么基础都是重中之重,学习Java更是如此.如:基础语法.核心类库.面向对象编程.异常.集合.IO流等基础如果学不好,那么后边更深入的语法也不容易学会. ...

  2. Java学习从入门到精通-旧版

    为什么80%的码农都做不了架构师?>>>    Java学习从入门到精通-旧版 http://tech.ccidnet.com/art/3737/20051017/465333_1. ...

  3. Java学习从入门到精通

    Java Learning Path (一).工具篇 一. JDK (Java Development Kit) JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envi ...

  4. Java学习从入门到精通[转]

    Java Learning Path (一).工具篇   一. JDK (Java Development Kit) JDK是整个Java的核心,包括了Java运行环境(Java Runtime En ...

  5. 真正的Java学习从入门到精通

    一. 工具篇JDK (Java Development Kit) oF[l�bZk0   `WR4j-   JDK 是整个Java的核心,包括了Java运行环境(Java Runtime Envirn ...

  6. Linux学习从入门到精通推荐书籍

    如何学习Linux 在现在的生活,生产,研究等领域,Linux已经无所不在,从我们使用的手机,车载设备,到服务器,桌面电脑等,Linux已经成为这个世界方方面面的基石.尤其对于参与技术有关工作的你学习 ...

  7. 【作废】Inventor 二次开发学习指南入门到精通(含Inventor最新二次开发教程下载)

    (由于AU中国已关闭,很多链接失效,而且有些内容需要更新.特作废此文,另外撰写一篇新的) 年初我曾撰写了一篇文章,登载到我同事的博客,以及AU中国.我想这篇作为本博客的第一篇正式技术文章,应该是最合适 ...

  8. 深度学习从入门到精通——人工智能、机器学习与深度学习绪论

    人工智能.机器学习与深度学习 人工智能 定义 人工智能 历史 机器学习 分类,按照监督方式 深度学习 主要应用 数学基础 张量基本知识 矩阵的秩: 矩阵的逆 矩阵的广义逆矩阵 矩阵分解 矩阵特征分解 ...

  9. python学习软件-python软件学习从入门到精通

    我也是刚开始学习Python,不像大多数人致力于想要成为一个优秀的程序员,而我想要的就是努力为了我家妞做一款专门给她完的游戏或者软件. 开始学习第一章 起步 最开始当然是程序的搭建,起码要知道自己的电 ...

  10. Java学习从入门到精通(1) [转载]

    Java Learning Path (一).工具篇 一. JDK (Java Development Kit) JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envi ...

最新文章

  1. 搭建本地,AWS和Azure之间的IPSec 连接
  2. Cpp / 空指针对象调用函数的不同结果
  3. 红帽linux5安装Oracle 9i enterprise
  4. WCF性能优势体现 【转】
  5. 【DataMagic】如何在万亿级别规模的数据量上使用Spark
  6. 10以内逆向运算题_加减法启蒙系列 | 实战篇二(10以内减法)
  7. struts教程笔记3
  8. 退出qemu_qemu虚拟机的关机方式
  9. CryEngine事件监听器概览
  10. 《Qt5:Widget、Dialog和MainWindow之间的关系》
  11. 我的python初学练习
  12. MFC中添加一张图片作为对话框(或CFormView)的背景
  13. 天融信防火墙保存配置_天融信防火墙配置备份 飞塔防火墙配置手册
  14. 华为g9青春版连接计算机,一键式访问华为G9和USB驱动程序
  15. 用 CaptureScreenshot捕捉游戏画面(截图,截屏)
  16. 2021 CCF 非专业级别软件能力认证第一轮(CSP-S1)提高级
  17. 蓝桥杯——单片机赛道
  18. 乡村老师网络计算机培训日志,乡村教师网络研修心得体会
  19. 净宗科学观-净空法师讲于台南某高等学府
  20. win7系统下安装win10教程

热门文章

  1. axure文件如何加密_Axure发布到AxShare的加密与非加密方案 | 人人都是产品经理
  2. 使用mimics重建CT图像
  3. JAVA网络编程个人笔记 第五章 URL和URI
  4. C# Udp测试工具开发
  5. 红外图像高低温校正【待补充】
  6. aboutface4 1-3 读书笔记 幕布 思维导图
  7. 加权平均数的例子_加权平均法举例说明
  8. esxi查看许可过期_ESXi许可证将在 60 天后过期问题
  9. 医院CRM客户关系管理系统
  10. termux python turtle库_Python之Turtle库