白帽技术:程序员和黑客有什么区别?

谢邀白帽技术

白帽技术:程序员和黑客有什么区别?

一句话概括,程序员未必是黑客,黑客一定是优秀的程序员白帽技术。

白帽技术:程序员和黑客有什么区别?

程序员:一般会叫软件工程师,喜欢自嘲“码农白帽技术。在公司会分初级到高级开发工程师,主要工作是按照公司的业务需求设计软件编写代码,需要熟练使用至少一种编程语言比如我,目前就靠Java吃饭。程序员其实偏向的方向是软件设计与架构。越厉害的程序员,敲的业务代码越少,造轮子搭框架,让低级程序员去敲的更快。

黑客:虽然自己没到黑客的层面,但是我对黑客还是有自己的理解。可能大部分黑客的形象是并不是真正的黑客,什么盗号啊破解软件破解密码之类的,属于“骇客”,真正的黑客虽然没有黑客帝国那样炫酷,但是至少也是攻防高手。他们不仅仅掌握一种编程语言,但是他们不会经常去敲一些业务代码设计一些客户导向的软件,他们侧重于计算机网络,侧重于找出软件的破绽,发现系统的漏洞。其实现在很多互联网公司的首席安全官都是名副其实的黑客,只不过他们是维护系统的稳定,攻击容易防守不易。

黑洞式点评:程序员在明,黑客在暗,明修栈道,暗度陈仓。觉得押韵的点点关注咯。

电影、电视剧中黑客猛敲键盘,屏幕满是看不懂的代码,各种破解,这是真的还是影视效果?

谢谢邀请,

白帽技术:程序员和黑客有什么区别?

电视和影视的效果,为了收视率会拉伸夸大一些镜头黑客可以无所不能,而且有很强的视觉效果。真正的黑客和现实中的程序员没有多大的差异,首先要具备一堆编程技能包,而且黑客做事情不像软件企业立个项目然后大家一起讨论需求,整体意义来讲算是团队作战,软件开发更像是一步步的堆砌高楼大厦,整个大厦的建设周期会按照项目规划按部就班的去执行,最后大家把大厦建设的非常牢固,黑客更像是在已有的大厦上寻找暗门直接进入,找到核心的控制单元,然后做点自己感兴趣的事情。从方向上看更像是逆向的工作,从工作强度上来讲更加强,工作难度也会更加难。

白帽技术:程序员和黑客有什么区别?

白帽技术:程序员和黑客有什么区别?

所以从技术角度考虑黑客必须对计算机结构以及网络传输协议有一个非常深刻的认识,从编程语言角度考虑基本上C语言,汇编等底层语言是基础,网络协议不是简单的了解这种程度了,这些都是基础,还需要有针对具体软件的逆向攻击计划,了解所要进攻软件的属性行为,猜测其内部如何实现,通过外观表面上的行为,分析内在如何实现,这点严重区分传统的软件开发,正常的开发每天都要知道自己在干点什么,任何目标非常的明确,而且有项目经理或者产品经理监督,更形是一个标准的执行者,黑客要做的事情完全来源于内驱动力,进度和规划是完全自觉的行为,要说黑客比普通的程序员有多少过人之处,也就在内在情怀,这点也是区分的本质。

至于在电视上看到的酷酷的画面,不能完全是虚构,真要说的真实点属于收获的画面,更多的场景是打了鸡血一般寻找漏洞的过程,或者为了解决一个问题而去调研大量的资料,这个时间段几乎占据了百分99,所以不能只看到表面的现象,现在很多初学者觉得这种编程语言太难,那种编程语言语法太繁琐,这种在意识形态上还没真正的入门,算是徘徊者,软件开发工程师,比较的不是已经学会了多少编程语言,不是写过了多少行代码,关键是作出过什么产品并且在做这个产品过程中自己负责了多少功能,所以很多做了好多年的程序员在找工作的时候,招聘企业主要看的做了什么产品,在其中是不是起到主导作用,至于会多少种编程语言,监测的结果是项目推进过程中解决实际问题的能力。

要想成为一个黑客首先是一个合格的程序员,真正的黑客还需要具备极客精神,不单纯去实现某种技术,所以真正的黑客不是为了破解而工作,更多是点到为止,从另一个层面还能促进科技的进步,提升安全意识,提高网络安全护卫能力,黑客不是简单的操作几个破解或者攻击软件,充其量算是高级软件使用者,真正的黑客会提醒你网络安全的多么重要。

希望能够帮到你。