JEB Decompiler中文网站 > 使用教程 > 静态分析是什么 JEB Decompiler怎么做静态分析
静态分析是什么 JEB Decompiler怎么做静态分析
发布时间:2025/01/14 18:46:56

品牌型号:联想拯救者R7000

系统:Windows 10专业版

软件版本:JEB 5.20.0.202411121942

静态分析可以理解为通过检查代码,不需要运行程序,直接发现潜在问题,JEB Decompiler是一款强大的反编译工具,可以帮助我们深入分析代码逻辑。本文将为大家详细介绍静态分析是什么,以及JEB Decompiler怎么做静态分析的相关内容。

一、静态分析是什么

静态代码分析是指在不实际执行程序的情况下,对代码的内容进行分析,由此可以找出程序中由于错误的编码导致异常的程序语义错误。通俗地说,静态代码分析就是在代码编写的同时就能找出代码的编码错误,例如是否存在内存泄露等问题。我们不需要等待所有代码编写完毕,也不需要构建运行环境或编写测试用例。

例如下面这段代码中就存在以下三点问题:

1、返回值为空

函数【calculate_sum】中,我们忘记返回计算结果【result】,导致返回值为【None】,就会引起程序逻辑错误。

2、未使用的变量

局部变量【result】被创建,但未使用,是多余的变量或代码存在错误。

3、缺少注释

函数缺少注释,代码的可读性变差。

代码错误
图1:代码错误

静态分析和动态分析的区别:

静态分析与动态分析的最主要的区别就在于分析是在程序运行之前还是之后进行,简单理解,静态分析更加关注程序运行中的过程,而动态分析更加关注运行的结果

二、JEB Decompiler怎么做静态分析

JEB Decompiler是一款做逆向工程的强大工具,支持例如Android的DEX、Java的class文件等对多种文件格式进行反编译。以下是JEB Decompiler实现静态分析的步骤和方法:

1、加载文件并初步分析

我们可以直接将文件拖入到JEB中,工具会自动生成反编译代码,操作非常简单快捷。例如,如果反编译APK文件,JEB会解析其中的DEX文件,并将其反编译为Java代码。

加载Apk文件
图2:加载Apk文件

2、搜索关键字

JEB的搜索功能非常强大,我们可以搜索快速找到指定的类、方法或者变量,从而进行分析。并且支持使用通配符进行搜索,使用【*】或者【?】来代替一个或多个真正字符,例如当不知道真正字符或者懒得输入完整名字时,就可以使用通配符代替一个或多个真正的字符。实际上用【*Not?pad】可以对应【Notepad\MyNotepad】

搜索
图3:搜索

3、调用图与控制流分析

JEB还提供了【调用图(Call Graph)】和【控制流图(Control Flow Graph)】功能,按下空格即可使用,该功能可以帮助我们分析代码之间的调用关系,从而进一步了解程序的执行逻辑。

Graph功能
图4:Graph功能

4、脚本

JEB支持使用Python脚本,内置了很多脚本,我们也可以自己写脚本,例如编写脚本分析混淆代码。所以在我看来,JEB不仅是一个静态分析工具,还是一个非常灵活的代码分析平台。

脚本
图5:脚本

三、总结

以上就是静态分析是什么,JEB Decompiler怎么做静态分析的相关内容。本文介绍了静态分析的概念,并简单对你了和动态分析的区别。另外,本文还介绍了使用JEB Decompiler怎么做静态分析的一般步骤,希望本文对你有所帮助。

 

读者也访问过这里:
135 2431 0251