JEB python脚本

0x1、JEB2的API架构

由于JEB2试图成为像IDA那样的universal disassembler,其架构多了很多包装层。
jeb2.3.6 ---> 链接:https://pan.baidu.com/s/1qahKuVcjDeGNDvUyklHSuw 提取码:1qvk

下载jpython
1、engctx.getProjects
获取整个项目空间

>>> engctx.getProjects()
[Project:{/xxx/xxx.apk.jdb2}]

2、RuntimeProjectUtil.findUnitsByType
方法原型
public static List findUnitsByType (IRuntimeProject prj, Class c, boolean strict)
使用如下:

>>> prj = engctx.getProjects()[0]
>>> units = RuntimeProjectUtil.findUnitsByType(prj, IDexUnit, False)

IDexUnit --> 表示Android Dalvik bytecode容器的单元的接口,又名DEX文件。表示DEX字节码的单元不必实现此接口。Jeb的内部DEX分析器产生实现这个接口的单元。
我们可以利用dir()方法查看units 的方法
>>>print(dir(units))
3、获取包名

  def GetPackage(self,prj):
    apk = RuntimeProjectUtil.findUnitsByType(prj, IApkUnit, False)[0]
    apkpkg = apk.getPackageName()
    print('Start from %s ------------------' %apkpkg)
    return apkpkg

0x4、脚本

参考
这是一个基于jython的,并且要求2.3以上的jeb[一些函数的需要]。
功能:
1、先将samli转成java代码,搜索代码里面的内容
2、可以 搜索字符串 是一个列表,可以多个搜索。
3、可以选择过滤第三方的报名
4、找到字符串---> 可以找到字符串的包名位置。
脚本下载

0x5、技巧

1、JEB2在打开项目时所有包名都是打开的状态(个别包名除外 如 ,等)有时需要我们一个个手动折叠.同样可以通过以下步骤解决 Edit -> Options -> Engines -> 修改 WellKnownLibraryPackages为 --->*<-----
2、修改字体 Edit -> Font and Styles->选择修改字体

你可能感兴趣的:(JEB python脚本)