faint,感叹高级语言的方便之处。
至从去年全面进攻汇编领域,有一段时间的猛攻,后来由于琐事缠身,学习的步伐就变的断断续续。虽然今年一直比较忙碌,可用来学习的时间相对少了不 少。但事情况相对的稳定,就重新恢复了汇编的学习。将去年写了一半的小程序,重新捡起来,将尚未完成的功能完善(等我将那个程序,做完以后,我会将源代码 公布出来,供新人参考学习改进)。写程序和做其他事情也是一样的,要一鼓作气,再而衰,三而竭。不能走走停停,这样做起来的程序,前言不达后语。
这几天也在完善那个小程序,遇到几次郁闷的事情。就是在写子函数的时候,总是忘记了写个ret ,导致程序出错。没有了ret的话将使得程序跑飞了,乱走一气。害得我在OllyDbg里乱半天,突然发现程序跑飞了,一看代码果然没有加ret。发现自 己真TMD的蠢,赫拉可里特曾经教导我们:“人一生不能两次踏进同一条河”,拷,刚才这一次,我已经是第二次犯这样愚蠢的错误了。希望不再有下次。
感叹高级语言为程序员做了很多很多,比如我刚犯的这人错误,如果是一个无返回值的函数,就不用return了,一切安然无事。还有就是栈平衡的问 语,也不用考虑那么,全权交给编译器代理了,它做事我放心,^_^。做平台开发哥们真的有必要到平台下看看,如果感觉学汇编没有必要,可以试试用手工编译 和连接一个程序,摆脱了IDE,你看看是不是收获颇丰?不要动不动java,c#,MFC什么的,对那样的开发效率和速度相当的高,不过如果当你遇到一个 棘手的问题时,在代码级根本解决不了怎么办?一点学习感受,仅供初学者参考。当然我工作的环境还是VS,^_^。
看到论坛里有无数同行在问,现在这样一个软件极度鼓胀的时代,学汇编能搞什么?我说说我学习感受吧。1.不知道你有没有这样的一个感受,如果学习使用一套开发包,而且也能用其做出项目,不过肯定还有一种,无法完全把握的感觉。正如牛人kruglinski 说过:“学从难处学,用从易处用”,这样你才有一种高屋建瓴的感觉。如果学过了C++,再用纯C做项目,你将会将C++中的封装思想融入C中,会把struct用的出神入化,也就是这个道理。
2.当你如果遇到一个非常棘手问题,在源码级根本捕获不到错误,无发再现。但用在项目中总是会出错(这种错误也常遇到的),如果你熟悉汇编的话,就方便了许多,可以直接在调试器中调试。
3.当你发现一款优化的程序中,有你想要的功能,但你却没这方面算法资料。还有就是你由于一时不慎中了目前免杀的毒,你只会感觉电脑不对劲,明明知道那个程序有问题,但你却干不了它。这时如果你懂汇编和逆向的话,就方面多了。
4.还有一个功能就是汇编将使你具备超强的PJ能力,像我等又穷买不起正版的穷人,又喜欢偿各种新玩意的时候,汇编会助你一臂之力的哦。
就这说这么多吧,有点乱,将就着吧,睡觉了。
评论已关闭。