网站首页 > 资源文章 正文
简单来讲,对软件进行分析并搞清楚其行为的工作就叫做“逆向工程”。逆向是指对软件进行分析,其对象不仅限与恶意软件,因此也不一定和计算机安全相关,譬如:license的绕过、游戏金手指等。都属于通过逆向分析绕过或篡改内部数据达到所需目标。昨天我写了一篇文章软件破解基础知识详解(手把手教你如何破解软件),大概是利用逆向分析,通过逐步详解方式如何绕过程序的登录限制,实现登录破解。本篇是上一篇的延伸篇,通过本篇的基础知识,可以让大家对《软件破解基础知识详解(手把手教你如何破解软件)》文章更轻松阅读。
1.概述
逆向工程可分为静态分析与动态分析。静态分析是:在不允许目标程序的情况下进行分析。动态分析:在运行目标程序的情况下进行分析。静态分析可用于了解全局信息,动态分析可用于了解局部信息,动静结合效果倍增!
静态分析常用工具包括:winhex(二进制编辑器)、IDA Freeware版(反汇编工具)等。 动态分析常用工具包括:Process Monitor(系统进程监视器)、OllyDbg(动态追踪工具)、Wireshark(数据包分析软件)等。 形形色色各种工具都有,再次不一一介绍。
工欲善其事必先利其器,在具有“趁手武器”后,我们需要对汇编指令有所了解(了解常用关键指令即可),便于通过工具展示出的内容进行分析。没必要一行行仔细阅读,重要的部分花时间仔细理解,其余部分了解大概即可。
2.基础汇编介绍
了解汇编,就必须了解汇编中各个指令代表意思,只有对指令了然于胸后,才能相对轻松地阅读汇编代码,下图为整理的常用汇编指令,可以帮助大家在多数场景下使用。
3.示例分析
本文还是以简单示例切入,方便小伙伴了解逆向原理及工具使用,通过不断的分析,增加逆向分析经验,为下一步深入分析做准备。
我写了一段非常简单C++代码,根据判断2019弹出不同对话框。
??我们可通多cmd来运行指定示例程序,如输入“2018”时,程序提示 “Hello word”。(Win32Project1.exe为示例程序)
当我们输入“2019”时,系统会提示“Hello 2019”。?
以上就是程序的介绍,非常简单!下面我们就来通过动静态两种方式来分析该示例程序!
3.1静态分析
首先可通过IDA进行全局查看,通过对源代码反汇编,可大概了解程序的逻辑代码。通过下图对示例分析,我们可发现关键方法,如:lstrcmp、GetActiveWindow、MessageBox。
lstrcmp:字符串匹配;
GetActiveWindow:当前激活的窗口;
MessageBox:提示框;
通过三个方法我相信你已经基本明白代码逻辑规则是什么了?。?
3.2动态分析
通过静态对代码有全局了解后,我们可通过动态分析对示例程序进行局部深入了解,首先1141749位置call调用了lstrcmp方法,1141758位置通过jnz指令进行判断,如果不包含指定匹配字符串将跳转至01141787位置,即hello word的代码段中。详情如下图:?
我们通过在1141749位置的lstrcmp设置断点,通过对程序的运行输入“2018”时,再执行至1141758位置的jnz时会跳转至01141787位置,继续执行至011417A5时(弹出框)栈的内容如上图右下角,即“Hello word”提示框。
当我们输入“2019”时,流程如下图一致,唯一区别是,系统会提示“Hello 2019”。
由此我们完成了对示例该程序的静态与动态分析。后期我们还可以结合Process Monitor、Wireshark等多种分析方法对软件进行逆向分析。??????
????
4.总结
通过简单示例的切入,让大家了解一般逆向分析的工作流程和原理,大多数情况下我们没必要一行行仔细阅读,重要的部分花时间仔细理解,其余部分了解大概即可。本文主要是介绍逆向分析思想,该思想核心在于知识储备+经验,知识的储备可从编程、汇编、操作系统原理等多个方面入手(这也是为什么逆向人员相对少,工资高的主要原因)。经验就来自大家分析过程中的不断尝试、归纳总结。
- 上一篇: 万字详文:Golang 汇编入门知识总结,看这一篇就够了
- 下一篇: 想成为编程高手,一定要懂汇编吗?
猜你喜欢
- 2024-10-04 汇编语言真的没必要学了吗!(汇编语言值得学吗)
- 2024-10-04 Adobe各种软件问题解决汇编(adobe程序)
- 2024-10-04 最基础的逆向实战教程(最好的逆向教程)
- 2024-10-04 ida汇编逆向游戏脚本网络协议逆向插件海外脱机27
- 2024-10-04 汇编语言入门(一)(汇编语言简明教程)
- 2024-10-04 X86 架构处理器汇编伪指令介绍(x86汇编指令集解析)
- 2024-10-04 玩一玩avr汇编,探究计算机的本质
- 2024-10-04 学习汇编语言有什么用?怎么才能学好?
- 2024-10-04 Windows11搭建汇编开发环境(汇编开发环境配置)
- 2024-10-04 管理必备:57页企业发展战略常用工具汇编(PPT完整版)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)