• 走出(一)


     
    走出系列,算是经历了惘之后,在博客园看了大伙的评论后,自己的历程,感谢博客园里头博友的评论,也感谢在Qzone里头留言的各位。

    走出(一)

    是时候给自己定位了,做安全的人不懂安全,实在是说不过去,现在计划并实施的是,学习程序漏洞知识,学习调试汇编代码和编写内存溢出的实验,学习经典密码学知识,吸收密码学的经典程序,学习程序编写思想。总体而言,是三本书的阅读,《代码之美》,《0day安全:软件漏洞分析技术》,《程序员密码学》。

    今天《代码之美》看完了第5章,写一下自己的感想吧,一个很简单的正则表达式引擎的编写,完全的打破了我对C的认识,语言是来用的,不是研究的,虽然还是不能完全理解,但是以后会好的;subversion的增量编辑器的接口的设计,虽然也不懂,但是让我明白一点,好的接口不但能完成功能,给人一目了然,而且能经得住考验,这是最难能可贵的;quicksort的复杂度计算,这是我有史以来,看过的最妙的计算机理论的证明过程,我看懂了,并为之感动,这是一个计算机大师在上课的时候给学生推导的过程。经典名句:简单性并不是在复杂性之前出现的,而是在复杂性之后才出现的。在查找这一章节,第一句话,点明了计算机的作用,“计算机可以用来做数值计算,但这并不是人们用它的主要原因。”大部分的时候,计算机都是在处理查找的事务,作者用Ruby来写程序,并表达了观点,语言永远都是为使用者服务的,简单而强大,不要随便的否定一门语言,一门语言其实就是一门艺术,内建的搜索算法一般来说已经非常的优化,并表达出二分查找是相当好的方法,而且在写二分查找程序的时候,还有个窍门,不要以为找到值就停止循环会比全部搜索完要快,因为,用于比较的开销远大于把剩下搜索完的开销;接着的作者是完成JDOM和XOM的XML验证设计的工程师,他代码的优化过程,确实使我大开眼界,“不成熟的优化是编程的罪恶之源”,这句话太好了,他给出的优化过程是:该如何设计程序就如何设计程序,然后,必须是然后,再关心性能。其实我也是这么想的,呵呵,自己好好乐一把。

    《程序员密码学》确实是一本好书,现在我正在开有关AES的章节,我在本科的课本中已经看过一回AES的加密算法,但是没有考虑过如何实现,这本书的实现,让我又一次大开眼界,发现自己原来写的加密代码,效率是如此的糟糕,我学会了该如何取得32位整形数的每一位,或者每8位,然后如何再把他们拼接起来,全部都是位运算,你说,这个的效率能不高吗?还有8阶的伽瓦罗域的很重要的一部分就是多项式乘法,在书本上起码好几段的描述,作者只用了不到4句话就完成了,而且还说,这个的效率还是不高,我很有兴趣的想知道,是个什么方法。另外在做行列混乱的时候,引入的那个矩阵,作者很巧妙的使用了多项式乘法,更巧妙的是他竟然使用了缓存,使得很多重复的运算得以消除。还有,原来真的有随机数的,但是要捕捉计算机的中断来实现,确实是个好办法。

    《0day安全:软件漏洞分析技术》,对这本书的阅读,竟然让我着了迷,正如签名所说,似乎回到了当年的操作系统大作业,元旦那晚通宵调试Nachos的线程调度程序的时候,那种投入和兴奋是一样样的,终于明白了什么是内存溢出,如何通过将大块的内存,拷贝进入小块的内存,导致判断失效,跳转语句失效,并注入新代码的过程,通过使用ollydbg和Ida,能够看明白很简单的程序结构和流程,很有趣。尤其是第一个demo,老是不成功的时候,我急得连做梦都想着如何解决问题,最后终于找到问题的关键,书上说要用release版本,我使用了debug版本,太不容易了。

  • 相关阅读:
    Hutool 工具类
    Springboot 不存在javax.validation包 _
    Flask 学习16.项目设计与蓝图的使用 上海
    Flask 学习12.FlaskSQLAlchemy 连接 mysql 数据库 上海
    Flask 学习15.flaskmigrate数据迁移 上海
    SQLAlchemy学习11.结合 dataclass 使用 上海
    Flask 学习13.FlaskSQLAlchemy 新建模型和字段 上海
    Flask 学习14.FlaskSQLAlchemy ORM操作数据库增删改查 上海
    Flask 学习17.项目配置管理config 上海
    Flask 学习11.redirect() 重定向 上海
  • 原文地址:https://www.cnblogs.com/nasamars/p/1449118.html
Copyright © 2020-2023  润新知