调试逆向分为动态分析技术和静态分析技术(转)

 

  在软件开发的过程中,程序员会使用一些调试工具,以便高效地找出软件中存在的错误。而在逆向分析领域,分析者也会利用相关的调试工具来分析软件的行为并验证分析结果。由于操作系统都会提供完善的调试接口,所以利用各类调试工具可以非常方便灵活地观察和控制目标软件。在使用调试工具分析程序的过程中,程序会按调试者的意愿以指令为单位执行。

  调试逆向分为动态分析技术和静态分析技术。

  动态分析技术指的是使用调试工具加载程序并运行,随着程序运行,调试者可以随时中断目标的指令流程,以便观察相关计算的结果和当前的设备情况。

  静态分析技术是相对于动态分析而言的。由于在实际分析中,很多场合不方便运行目标(例如病毒程序,设备不兼容,软件的单独某一模块)。那么这个时候静态分析技术就该上场了!

  OD(OllyDbg)和IDA Pro这两款工具分别是调试逆向的倚天剑和屠龙刀。虽然两者都兼容动态和静态的调试方式,但就动态调试而言,OD更为灵活和强大,而静态调试工具的王者理所应当是功能极为强大的IDA Pro。

小甲鱼

 

http://www.cnblogs.com/yunji5566/p/4249927.html

http://www.ollydbg.de/

 

时间: 2024-09-26 04:08:31

调试逆向分为动态分析技术和静态分析技术(转)的相关文章

一步一步教你加密解密技术——静态分析技术(1)

第3章 静态分析技术第一节 基础知识一.虚拟地址和偏移量转换由于Windows程序是运行在386保护模式下,在保护模式下,程序访问存储器所使用的逻辑地址称为虚拟地址(Virual Address,VA).与实地址模式下的分段地址类似,虚拟地址也可写成"段:偏移量"的形式,这里的段是指段选择器.文件执行时将被映像到指定内存地址中,这个初始内存地址称为基址( ImageBase).在Windows NT中,缺省的值是10000h:对于DLLs,缺省值为400000h.在Windows 9x

Java技术_基础技术(0003)_类执行顺序详解+实例(阿里面试题)+详细讲解+流程图

Java技术_基础技术(0001)_后台模拟调用action Java技术_基础技术(0002)_中间件启动class加载顺序(以tomcat为例) Java技术_基础技术(0003)_类执行顺序详解+实例(阿里面试题)+详细讲解+流程图 Java技术_基础技术(0004)_eclipse远程调试tomcat 基础技术: 对于java类各个成员的执行顺序,现拿出阿里的面试题作为样例(例子非常好,是用心出的题),在这里重新说明一下java类执行顺序的原则. 源码下载(包含题.结果.分析过程) 一.

随谈10年的技术生涯和技术成长

先简单分享自己这10年在技术上曾经感觉到明显迷茫的阶段: 阶段1:只会增删改查: 时间:大学期间(2005年-2006年) 学习的方式:看视频.看书.(学会了使用控件的增删改查,和写SQL语句). 自我感觉:XX管理系统已不在话下,反正网站弄来弄去也是增删改查,这大概就是无知者无畏. 如何破:(走出社会去就好了). 阶段2:能快速实现功能,却不会思考: 时间:(2006年-2009年) 学习的方式:看博客.大量的编码(第1年,封闭式开发(1天敲15个小时代码),第二年后:每周六天,每天到夜里3点

什么是容器技术和虚拟化技术

问题描述 什么是容器技术和虚拟化技术 昨晚看到容器技术和虚拟化技术. 之前没研究过, 想知道什么是容器?什么是虚拟化技术?有好的文章或者图书推荐看看,谢谢~ 解决方案 广义上说,容器是虚拟化的一种,但是狭义上,我们说虚拟化,一般是操作系统虚拟化.也就是一个计算机上运行多个操作系统.容器(比如docker)指同一个操作系统中通过api虚拟化隔离不同的应用.因此容器拥有更好的性能. 解决方案二: http://www.linuxidc.com/Linux/2011-06/37350.htm

广州技术交流腐败会之IBM技术沙龙开源技术 & WebSphere & Tivoli

广州技术交流腐败会之IBM技术沙龙开源技术 & WebSphere & Tivoli 1.活动时间:2009年3月27日 2.活动地点:广州麓湖高尔夫乡村俱乐部  广州市麓景路麓湖 3.迷路者SOS  020-83507777 4.活动内容 活动一: WebSphere技术专家沙龙活动说明(广州站:2009年3月27日)日程安排 13:30-14:00 签到 14:00-16:00 Spring Security 16:00-16:15 茶歇 16:15-17:00 WebSphere的S

技术敏感度 — 基层技术管理者必备

一说到管理者的能力特质,我们马上会联想到沟通.授权.决策等能力.然而,对于软件开发活动中的基层技术管理者(team lead.line manager等),我想指出被极为忽视的另一种重要能力 - 技术敏感度. 对于基层技术管理者来说,何为技术敏感度?技术敏感度表现为:1)工程师解释技术问题时,能快速理解并切中问题要害: 2)面对多个技术方案做选择时,具备权衡能力,并能给出有建设性的意见和建议,甚至做出选择:3)工程师提出技术想法时,能敏锐地意识到对产品和团队的意义: 4)能根据团队成员的个体差异

UML技术_基础技术(0001)_常用UML绘制工具

UML技术_基础技术(0001)_常用UML绘制工具 基础技术: 本文介绍三种不同场合下最为常用的工具: 1.rational rose 专业级的工具,支持各种可视化建模,以及代码.结构的生成,包括数据库等等,而且拥有版本控制等功能,可以多人设计. 由于功能太多太全,产品过重,用起来不是很方便,一般国内项目慎重使用.而且收费! 下载地址:点击打开链接(这么大的东西还是放到新浪网盘上吧,百度网盘好用,但是容量太小) 2.starUML 轻量级的工具,不用安装,放到移动存储就可以用,移植也很方便.功

编程-同步传输技术和异步传输技术的优缺点是什么?

问题描述 同步传输技术和异步传输技术的优缺点是什么? 同步传输技术和异步传输技术的优缺点是什么? 同步传输技术和异步传输技术的优缺点是什么? 同步传输技术和异步传输技术的优缺点是什么? 解决方案 同步: 有那种阻塞的操作的时候,那么就被阻塞掉,然后苦等结果,有了结果就继续,没有继续等 明显浪费资源吗 异步: 有阻塞的时候,不等了,干别的事情去. 解决方案二: 同步是指,发出了信息,等待对方回应,等数据返回了,再做下面的操作. 异步就是发了不管对方收没收到,继续做下面的. 异步的好处就是效率高.比

ajax的同步与异步-同步传输技术和异步传输技术的优缺点是什么?

问题描述 同步传输技术和异步传输技术的优缺点是什么? ajax的同步与异步的优缺点?以及他们有什么不同?最好举个例子,谢谢 解决方案 同步:比如要把数据库的名字提出来显示在页面,A负责从数据库去拿"名字',B负责在页面显示,这时使用同步的话就是当A在去数据库取"名字"的时候,B先不往下执行,等到A把名字拿回来之后再和A一起去前台显示"名字". 异步:异步就是不管A是否已经把"名字"从数据库拿出来没有,A和B各走各的,互不干扰. 上面的例