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

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

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

程序员

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

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

技术是双刃剑

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

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

主流计算机编程语言

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

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

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

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

家喻户晓的Ollydbg

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

相关内容

热门资讯

游颐和园英语作文【通用3篇】 游颐和园英语作文 篇一A Visit to the Summer PalaceLast weeken...
竞选英语课代表演讲稿(优质6... 竞选英语课代表演讲稿 篇一Title: Embrace the World through Engl...
英语作文邮件发送格式范文【精... 英语作文邮件发送格式范文 篇一Subject: Request for Information on...
勇敢英语作文【通用6篇】 勇敢英语作文 篇一Being BraveBravery is an important qualit...
My Favorite Ho... My Favorite Hobby作文(精选25篇)  在我们平凡的日常里,大家都尝试过写作文吧,作...
小学英语作文:我的愿望【优质... 小学英语作文:我的愿望 篇一My Wish to Travel the WorldEver sinc...
初二英语作文【推荐6篇】 初二英语作文 篇一My Favorite HobbyHobbies are important fo...
初中英语作文:保持健康的方法... 初中英语作文:保持健康的方法 篇一In today's fast-paced society, it...
英语作文:中国人口老龄化Ch... 英语作文:关于中国人口老龄化Chinas Population Aging  无论是在学校还是在社会...
爱英语作文【实用6篇】 爱英语作文 篇一如何培养对英语的兴趣兴趣是学习的最好老师,对于学习英语也是如此。然而,很多学生在学习...