1对本课程教学地位的理解和想法(学习软件逆向分析的意义

1.1逆向工程的起源

世界上最早的逆向工程其实来源于战争时期。在军事战争时期,各国之间常常存在水上作战,而船舶就成了运输和作战的重要工具。如下图所示,是二战时期的船舶示意图,敌军通过观察船舶外观,逆向分析出重要存储和易损点,通过这种方式,在不到五分钟内便将敌舰击沉,这就是最初的逆向工程的起源。

1.2逆向工程与软件逆向分析的定义

上文讲述的是最起源的逆向分析过程,不难看出从最开始逆向工程就包括以下几点要点:观察整体结构、分析易损点、尝试攻击,在这个过程中有一个前提条件是需要懂得被测目标的架构和逻辑,而这和软件逆向分析的理念不谋而合。

软件逆向工程,是一种产品设计技术再现的过程。即对目标产品进行逆向分析及研究,从而运作并得出此产品的处理过程、组织架构、功能特性及技术规格等要素,以此制作出功能相近,但又不完全一样的产品。

软件逆向分析,就是在软件工程角度,对软件进行反向分析,即对目标文件进行反汇编,得到其汇编代码,然后对汇编代码进行理解和分析,从而得出其相对应的源程序、系统结构以及相关设计原理和算法思想等。

如此便可能在分析过程中获得软件的敏感信息、关键算法、绕过方法甚至是源码等重要数据,便对软件生产者产生极大经济损失或其他损失。

1.3软件逆向分析的意义

现如今,软件逆向工程已成为一项成体系的课程,也是黑客常用的攻击手段之一,通过逆向分析得到漏洞或敏感信息,便可以发现软件的脆弱点,从而实现对软件的攻击或对软件厂商的勒索。

因此,对于安全研究人员而言,软件逆向技术是一门非常优秀的课程,可以帮助黑客进行更有逻辑的发现漏洞,并给出解决方案,对于0Day的发现有很高价值;

对软件厂商来讲,“未知攻,焉知防”,掌握逆向技术后可以针对性断点调试完善软件安全度,在开发时就可以实现“安全左移”,对于厂商后期修复的风险提高了许多;

对于安全厂商而言,了解软件逆向的能力后,可以针对性做出对软件加固的加壳工具,使开发者减少对自己软件被逆向的风险的担忧;

除了软件逆向外,现如今硬件逆向——测信道分析也在软件全生命周期安全的生产中占了非常重要的一环,测信道攻击原理为在芯片级电路板上运行最小单元算法,如加密算法,通过设备读取芯片上电流的变化,由此可以算出芯片的加密密钥,或绕过某些验证信息取得高级用户权限,这其中与汇编语言也息息相关,因此掌握汇编语言不但对软件安全分析有较高价值,也可以应用在硬件安全逆向分析中。

1.4软件逆向分析的应用

1.4.1病毒分析

当今有许多电脑、手机杀毒软件,正是利用逆向查找病毒,剖析病毒,获取病毒的传播方法,达到遏制病毒传播的目的;也可以获取病毒的隐藏手段,以此根除病毒;同时也可以逆向分析病毒,获取其功能目的,也可以溯源定位攻击者。

1.4.2游戏保护

随着虚拟财产的广泛普及,一部分人为了更好的游戏体验,游戏外挂层出不穷,近年来主要存在私服,生产,破解,生产等开挂方式。破解在其中是很常见的:比如说,游戏过程中的碰撞检测,就是说坐标距离小于一个设定数字就不能继续前行了,但是通过软件逆向工程把碰撞检测删除,则可以穿墙而行......而这些开挂方式正是运用了软件逆向分析,进行反向追踪和查询,查找到源代码中相应的数值和代码块,对其进行删除修改等等操作,实现游戏破解。

关于学习软件逆向分析意义的阐述相关推荐

  1. 视频教程-x86/x64软件逆向分析入门-C/C++

    x86/x64软件逆向分析入门 成都理工大学优秀讲师,教授,二十年开发经验,和十六年一线教学工作经验,发表学术论文十余篇.参与包括863项目等多个国家级科研项目,参与包括微信机器人(WeChaty)等 ...

  2. 某K字头运动软件逆向分析-课程精讲

    本篇承接上一篇某K字头运动软件逆向分析-登录时非法的请求 在跟随视频训练时,很可能有些细节自己注意不到,以至于一些动作不规范,练习新动作时看一下讲解还是有必要的. 许多课程都是前面一两节可以免费观看讲 ...

  3. 跟我一起从零学习安卓逆向分析

    随着国家对信息安全的重视,兴起了各大CTF的赛事,其中逆向板块的安卓平台题目不断涌现.在这个互联网+的时代,移动互联网的APP犹如滚雪球一般的增长,随之而来的则是移动业务安全如风险控制.反外挂.安全合 ...

  4. 某K字头运动软件逆向分析-登录时非法的请求

    ​最近重新燃起了运动的热情,经常使用到一款软件,里面有些内容需要付费观看,所以决定给它一些特殊的关爱. 重新打包是避不开的,现在大多app都会做防护,所以决定什么都不做只是反编译重打包试下,果然重打包 ...

  5. 软件逆向分析系列教程

    笔者倾心打造的一款软件破解入门课程,为避免纠纷,本人编写了与本次内容相关的课程课件共各位逆向小白学习. 文章链接 文章标题 https://www.cnblogs.com/LyShark/p/1114 ...

  6. 考无忧2014职称计算机模拟考试题库软件 逆向分析研究:

    考无忧2014职称计算机模拟考试题库软件 这个软件是在非凡论坛看到的一款,有人求破就下载研究了下 用OD打开时发现这个软件有一定的反调试功能,你能看到反调试 字串XX 一路F8,不久看到如上字串, 这 ...

  7. linux软件逆向分析,详解对ELF64之手动脱壳的逆向分析

    应一位朋友之邀,对"吾爱论坛'ELF64手脱upx壳实战'一文"进行了再重现,考虑到朋友他对原文过程理解不深,特抽空行文,着重对每个步骤.每个知识点进行了分解,现共享出来以回馈社会 ...

  8. [系统安全] 二十三.逆向分析之OllyDbg动态调试复习及TraceMe案例分析

    您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列.因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全.逆向分 ...

  9. Android逆向分析案例——某点评APP登陆请求数据解密

    今天,七夕,单身23载的程序汪,默默地写着博客~ 上一次的逆向分析案例中讲了如何去分析某酒店的APP登陆请求,为了进一步学习如何逆向分析以及学习其他公司的网络传输加解密,本次案例将继续就登陆请求的数据 ...

最新文章

  1. 如何将模糊的扫描版pdf转为清晰的pdf或word_pdf问题小结
  2. mlc tlc slc qlc_看了这么多固态硬盘科普,终于真正搞明白TLC闪存和SLC缓存
  3. weex componet 简单扩展
  4. golang应用部署
  5. android - FlutterActivity MethodChannel和FlutterView
  6. 用Jenkins自动化搭建测试环境_入门试炼06
  7. 不一样 使用别名 数据字段和bean_Mybatis-resultMap标签详解
  8. LeetCode 137. 只出现一次的数字 II
  9. 三、瞰景Smart3D Master主界面
  10. 计算机操作系统|汤小丹|第四版|习题答案
  11. sqlserver 多表连接查询
  12. 源程序的相似性分析 —— 基于Python实现哈希表
  13. Android Studio 实现跑马灯微项目实例
  14. 对币圈假冒科学家骗子盗取私钥的分析
  15. linux进程间通信(IPC) ---无名管道
  16. 华硕G60 VW6700安装win10 ubuntu 16.04双系统踩坑记录
  17. 「解析」语义分割性能指标 附代码
  18. Wordpress搭建(初学者)
  19. echarts 地图 海南诸岛只显示上面一小块,可以看一下图例边框颜色以及背景颜色是否相同。
  20. iPhone11启动全线降价;瑞幸自曝22亿造假,股价暴跌75%;会议软件 Zoom 陷信任危机 | EA周报...

热门文章

  1. Hexo NexT 评论系统 Valine 的使用
  2. 《灰故事》:他用曲笔描绘着我们
  3. 学习笔记:清华慕课——数据结构(1)
  4. 微信小程序 MinUI 组件库系列之 loadmore 页底组件
  5. 想了解直播系统开发用什么语言?
  6. win7下运行.php,Win7下在IIS7中配置PHP的FastCGI支持_笔记
  7. 通过cookie绕过验证码登录(绕过验证码)
  8. 计算机培训结业典礼主持词,培训结业典礼主持词范文(一)
  9. C语言-求两个数中的较大者
  10. 2022年1~8月语音合成(TTS)和语音识别(ASR)论文月报