品牌型号:联想拯救者R7000
系统:Windows 10专业版
软件版本:JEB 5.20.0.202411121942
我们在逆向分析APK文件时,可以使用JEB Decompiler这款功能强大的反编译工具。该工具在使用过程中可能会遇到一些问题,例如:跳转函数定义不知道怎么操作,以及JEB导航功能(解析、交叉引用)失效不知道该怎么修复。本文将为大家介绍JEB Decompiler如何跳转函数定义,JEB代码导航功能失效怎么修复的相关内容。
一、JEB Decompiler如何跳转函数定义
在查看JEB Decompiler反编译出的代码时,代码之间的逻辑关系可能非常复杂,一个函数中可能调用了另外一个函数方法,那么应该怎么跳转函数定义,查看调用函数的执行逻辑呢?下面我就为大家实际演示一下JEB跳转函数定义的操作。
首先在Smali代码中找到想要反编译的代码片段,右击选择【Decompile(解析)】选项,这时JEB Decompiler就可以帮我们定位到Java代码的声明处了。

此时可以看到下图所示的页面,屏幕右侧我们就能看到indexPath的原始声明,同时还看到了一个index的方法,包含三个参数offset、limit还有token,此处是一个接口声明,还有某个类实现了这个接口,查看具体的实现类就是跳转函数定义的过程。

要跳转到定义,我们可以在index方法上面右键选择【Cross-references(交叉引用)】,如图所示。

这时候我们可以发现这里弹出了一个窗口,类似于开发时查看某一个接口的实现类,可能有多个方法实现了该接口,下图中检索到了具体的方法。

选中某一个方法,点击【OK】,此时就会跳转到index接口实现的位置代码,如下图所示。除了使用交叉引用来跳转函数定义之外,我们也可以选中方法名后按下【X】,或者直接双击方法名进行跳转。

二、JEB代码导航功能失效怎么修复
代码导航功能失效会影响分析效率,那么遇到代码导航功能失效应该怎么修复呢?例如上文中提到了解析和交叉引用两个操作,如果这两个功能失效,将无法分析APK文件,下面我就为大家介绍一下JEB代码导航功能失效怎么修复。
1、重新解析
如果JEB对项目解析不完整,可能会出现代码导航功能失效的问题,如果解析不完整,会导致函数引用关系、变量定义等关键字段缺失,进而引发导航功能异常。此时我们需要重新解析APK。注意二次解析时,会提示【已经有一个功能文件,是否打开】要选择【否】,然后进入下图所示界面,此时我们选择【APK】点击底部【Reset to Defaults】恢复默认设置,然后等待解析完成,查看是否修复跳转功能。

2、升级Pro版
JEB的免费版存在功能限制,例如JEB CE版本无法使用【解析】功能,我们可以升级到JEB Pro后再加载APK进行解析。

三、总结
以上就是JEB Decompiler如何跳转函数定义,JEB代码导航功能失效怎么修复的相关内容。本文以实际操作,为大家演示了JEB Decompiler解析APK时,进行方法跳转的操作步骤。如果你无法使用该功能,也就是代码导航功能失效,可以尝试恢复默认设置重新解析APK,或者升级到JEB Pro再尝试,希望本文对你有所帮助。