-
-
[原创]当你迷茫准备放弃的时候..
-
发表于:
2010-2-19 17:55
9692
-
自打我下定决心准备向安全方向发展的时候遇到了很多困难..
其中让我最受打击的就数对汇编语言的无知了..
为了打好基础看过IBM以及王爽汇编等16位汇编的教材,可能是性格问题吧
在没有汇编的编成经验的情况下拿到了《win32汇编程序设计》这本书,花费了半个月的学习后感受到了前所未有的精神上的打击,主要是对win API的无知,以及对汇编语言掌握的极为浮浅。
相信会有很多在没接触过win32程序设计,和对汇编掌握的不到位的同学直接看win32汇编程序设计的时候肯定会和我一样一头雾水,虽然可以看明白一些函数的功能但是光记住这些从未接触过的函数名就够头疼了,更别说加上不熟悉的汇编语法,以及对字节,字,双字等数据的操作就更有一种跳楼自杀的念头了。
如果你也有这样的感受我要告诉大家一个我认为不错的解决方法。
1.首先16位的汇编一定要掌握,不一定非要达到可以熟练写程序的地步,但是一定要能看懂程序
方法:先看王爽汇编(刚开始我看的是IBM汇编,我连寄存器是什么东西都不清楚发现根本理解不了),当看完王爽汇编之后你最起码对汇编的语法结构以及程序设计思想有一个大致了解(我是只看完前11章的内容),然后再看IBM汇编这本书你就会很轻松的理解了(当然这也是对理论知识的加强)
2.多用IDA以及Ollydbg
方法:可以用自己会的语言写示例程序可以简单些然后用IDA反汇编看看完成相同功能的汇编代码是什么样子的.再用Ollydbg调试一下.这样对你程序的流程就会有比较直观的理解了.(说到底想用好这些工具就一据话,熟能生巧)
3.多模拟真实的事件.
方法:我们可以把所有放出来的漏洞都当作试验田,对有漏洞版本的dll反汇编,load后对其进行调试会让你受益匪浅,完全恢复自己的信心.(可能对一个函数要调试多次才能大概理解其功能,但是相信我当你在IDA里写上每段代码的功能注释的时候会很有成就感),逆向已知漏洞后就可以对它进行测试了,写写shellcode什么的,呵呵不要说你还没达到这个层次其实你只要能看明白shellcode就可以了..大概的思路都是一样的..网上现成的强壮一些的shellcode有很多的(推荐一下我看过的软件安全方面的书吧看雪的书确实适合新手,各个地方讲的很明白仔细《ODAY安全:软件漏洞分析技术》和《加密与解密(第三版)》都是很不错的刚看的时候可能一些东西理解不了,但是总体的思路是完全能够掌握的。还有《网络渗透技术》,以及《软件剖析(代码攻防之道)》,《黑客大暴光》等等..)其实感觉最重要的还是思想技术谁都可以学会,但是思想可不是谁都有的..所以希望大家在学习技术之余一定要,知其然,又知其所以然.
总结:其实我要告诉大家的就是当你失去信心的时候不防换一个方式,或者做做现阶段你可以完成的试验,或者用已会的语言写写程序增加一下编程经验,也可以学一下新的语言(每次我学新的语言的时候都有不少的收获,再罗嗦一下有好多人总说我应该去学什么语言?什么语言强大?什么语言有用?其实现存的语言都是有用的.只是用途不一样.所以无论学多少语言当你面对问题的时候只要用顺手的或者用更合适的语言就行了.学习是不会吃亏的多学几门语言即使只能看懂简单的代码对你也会很有帮助的.)
提示:当你今天学不进去的时候可以到看雪来(嘿,我不是拖,这确实是我的习惯.),看看你感兴趣的东西就会很精神,有的时候还能达到亢奋的状态呢,其实学习是很枯燥的我们要在热情浪费完之前适当的增加热情才有可能完成一个阶段的学习..
希望对学习抱有热情或热情正在减少的同学们有点帮助.. 第一次发帖.. 请见谅..
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课