难者不会、会者不难,浅述软件编程和逆向分析的区别
admin
2020-12-29 18:15:26
0

编写程序,简称编程,是程序员、软件工程师的基本功,通俗地说就是敲代码。与编程相对立的词叫做”逆向”,或许有很多人不清楚开发和逆向的相关概念,本文对此做些简单阐述。

难者不会、会者不难,浅述软件编程和逆向分析的区别

程序员

打一个最形象的比喻,如果把软件开发的过程比作盖一栋大楼,那么逆向就可以比喻成”拆楼”。从字面意思理解,逆向这个词多少带有灰色的意思。是的没错!软件逆向分析技术是系统与网络安全(黑客技术)的一个重要分支。精通逆向分析技术的人,好则可以分析恶意代码找出应对之策或者漏洞修补。坏,则会损害付费共享软件的发展(软件破解)、编写病毒木马、流氓软件传播等,这类人被称作cracker,与擅长网络入侵的hacker不同的是,cracker专注于系统底层软件加密和破解。

难者不会、会者不难,浅述软件编程和逆向分析的区别

技术是双刃剑

从技术角度分析,软件编程开发和逆向工程是两个不同的维度,编程需要掌握程序设计语言和算法结构,注重功能上的实现,由程序到软件就涉及Windows API的封装调用了,因为面向对象编程的发展趋于成熟,有大量成熟的类库可以使用,使得开发效率和学习入门花费成本很低。有基础的人,尤其是在互联网盛行的今天,各种源代码和IDE唾手可得的情况下,在半年到一年时间之内,基本可以完成中小规模的软件项目。

难者不会、会者不难,浅述软件编程和逆向分析的区别

主流计算机编程语言

逆向的原则就是破坏黑盒子的封装性,如果目标对象是一款开源软件,那么逆向它是没有意义的,因为直接看源代码比分析反汇编指令要容易的多,毕竟高级语言的可读性摆在那里。所以逆向分析针对的是赤裸裸的exe、dll、sys等,没有源代码,通过各种动态调试(如Ollydbg)、静态分析(如IDA pro)的手段,观察反汇编代码、内存地址、寄存器来分析指令背后的功能操作,依据此”倒推”源代码,这就是软件逆向工程的基本任务。

难者不会、会者不难,浅述软件编程和逆向分析的区别

IDApro能够分析程序指令执行流程,尤其是著名的F5大法! 逆向工程师必备!

难者不会、会者不难,浅述软件编程和逆向分析的区别

家喻户晓的Ollydbg

世界上的程序员多如牛毛,但是真正的具有软件逆向分析水平的工程师是万里挑一。

相关内容

热门资讯

纪律作风教育整顿心得体会 纪律作风教育整顿心得体会  为全面加强公安队伍建设,正警风,严警纪,促养成,树形象,切实解决队伍中存...
管理培训生轮岗心得体会 管理培训生轮岗心得体会— 2015届管理培训生合肥轮岗心得体会经过7月份的理论培训,作为2015届管...
煤矿顶板事故心得体会 煤矿顶板事故心得体会范文(通用11篇)  顶板事故是煤矿的五大灾害之一。在长期的生产实践中,我矿在顶...
疾控中心心得体会 疾控中心心得体会  当我们积累了新的体会时,写心得体会是一个不错的选择,这样有利于培养我们思考的习惯...
初中数学骨干教师培训学习心得... 初中数学骨干教师培训学习心得体会国培计划(2010)——中西部农村骨干教师置换脱产区划培训项目 初中...
员工安全事故心得体会 员工安全事故心得体会  安全生产的实现,除了有极强的安全意识,更重要的是要有一支综合素质高、技术本领...
中国女足精神心得体会 中国女足精神心得体会  当我们经过反思,对生活有了新的看法时,通常就可以写一篇心得体会将其记下来,这...
冬奥会冰雪项目心得体会 2022冬奥会冰雪项目心得体会400字(通用16篇)  当我们心中积累了不少感想和见解时,心得体会是...
参加内训师培训心得体会 参加内训师培训心得体会(通用10篇)  当我们经过反思,有了新的启发时,可以通过写心得体会的方式将其...
高老头读书心得 高老头读书心得800字(通用36篇)  我们有一些启发后,好好地写一份心得体会,这样能够让人头脑更加...