美文网首页
逆向工程——尝试分析

逆向工程——尝试分析

作者: 柳清檀 | 来源:发表于2019-05-11 20:11 被阅读0次

静态分析与动态分析

顾名思义,静态分析就是在不运行程序的时候进行分析,相反动态分析就是在运行程序的过程中分析。比如文章(https://www.jianshu.com/p/e910b3db42bd)中的实例就是动态分析。

1. 静态分析

方法:
a. 阅读反汇编代码
b. 提取可执行文件中的字符串,分析使用了那些单词

以wsample01a.exe为例分析
工具:WinHex、IDA7.0 Freeware version
源程序:https://github.com/kenjiaiko/binarybook/tree/master/chap01/wsample01a/Release

利用WinHex打开分析.png
之后可以尝试利用IDA7.0对程序进行反汇编,这个工具可以帮助我们更好地理解汇编代码,可以选择Text View或是Graph View,用不同的视图来查看代码,可以用类似流程的方式解释梳理代码的结构。

意义:我们在完全没有源代码的情况下搞清楚了程序的行为

2. 动态分析

方法:
a. 获取文件和注册表访问日志
b. 抓取网络包

以wsample01b.exe为例分析
工具:Process Monitor
源程序:https://github.com/kenjiaiko/binarybook/blob/master/chap01/wsample01b/Release/wsample01b.exe
运行程序,打开Process Monitor查看程序相关的部分,可以通过Crl+l的方式调出过滤规则设置窗口,然后找到对应的程序日志

过滤规则.png 程序日志.png
我们发现,这个程序也在C:\Users\用户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup的位置备份了自己的程序。
接下来可以使用调试器进一步跟踪程序逻辑。我们可以用它设断点:再任意位置中断或是恢复程序的运行,或是直接单步执行(单步跳入跳出),辨认其中的内存和变量情况。
跳入:调用函数时进入函数内部
跳出:调用函数时不进入函数内部,而是将函数调用作为一条指令来执行
OllyDbg.png
页面中分为四个部分:左上为主要反汇编窗口,左下为内存数据窗口,右上为寄存器信息,右下为当前栈信息。
一些简单的操作:可以通过Ctrl+g的方式跳转需要的位置、F2用于设置断点、F9用于启动程序、F7单步跳入、F8单步跳出(对于不需要关注的函数可以选择跳出)
总结:从分类的角度,静态分析与动态分析的区别在于“是否运行目标程序”,但是实际上不止如此,静态分析更偏重于“总览全局”,而动态分析则侧重于“细看局部”。因此在软件分析的时候,常常用WinHex和IDA看一下整体的结构,粗略地有个大体印象,知道程序在做什么,然后再根据Ollydbg单步运行查看一些细节。

参考材料:
1.《有趣的二进制·软件安全与逆向分析》【日】爱甲健二

  1. 源程序:https://github.com/kenjiaiko/binarybook

相关文章

  • 逆向工程——尝试分析

    静态分析与动态分析 顾名思义,静态分析就是在不运行程序的时候进行分析,相反动态分析就是在运行程序的过程中分析。比如...

  • 《逆向工程》第一章 逆向工程简介

    1.3 逆向工程过程 1.3.1 系统分析: 分析文件系统 1.3.2 代码分析: 分析二进制文件 1.4 逆向工...

  • 关于逆向的一些资料

    转自《ios应用逆向工程 分析与实战》 -------------------------------------...

  • iOS逆向工程尝试

    最近看到APP安全这块问题,就想尝试一下逆向工程这块。毕竟防御的基本就是知道怎么去破解或者攻击。本文就记录一下,小...

  • Android编译,打包,签名,混淆和反编译相关知识

    1. 逆向工程 逆向工程(又称反向工程),是一种技术过程,即对一项目标产品进行逆向分析及研究,从而演绎并得出该产...

  • iOS逆向工程初探

    1. 为什么要逆向工程 iOS 逆向工程主要有两个作用:1,分析目标程序,拿到关键信息,可以归类于安全相关的逆向...

  • iOS逆向工程

    逆向工程的目的 逆向工程的分析工具 进行iOS逆向工程的一个关键就是工具的使用,工欲善其事,必先利其器。 第一部分...

  • 第1章 关于逆向工程

    1. 逆向工程 逆向工程(Reverse Engineering,简称PE). 2. 代码逆向工程 代码逆向工程(...

  • ssm

    工程目录结构 mybatis逆向工程 逆向工程配置文件 generatorConfig.xml文件 逆向工程代码 ...

  • 收集的编程书籍

    IOS应有逆向工程:分析与实战[Wrox] Professional iOS ProgrammingiOS开发进阶...

网友评论

      本文标题:逆向工程——尝试分析

      本文链接:https://www.haomeiwen.com/subject/auffaqtx.html