首页 > 技术文章 > jeb2 java 脚本插件

xiaobaiyey 2016-09-07 14:24 原文

分享个插件,jeb2目前支持python脚本,看了官方的教程.写了个插件用于加载java 脚本的.
可以直接加载java或者jar文件.
效果:

测试脚本内容:

import com.pnfsoftware.jeb.core.IEnginesContext;
import com.pnfsoftware.jeb.core.IRuntimeProject;
import com.pnfsoftware.jeb.core.RuntimeProjectUtil;
import com.pnfsoftware.jeb.core.units.code.android.IDexUnit;
import com.pnfsoftware.jeb.core.units.code.android.dex.IDexClass;
import com.pnfsoftware.jeb.util.logging.GlobalLog;
import com.pnfsoftware.jeb.util.logging.ILogger;

import java.util.List;

/**
 * Created by xiaobai on 2016/8/22.
 */
public class test {
    private ILogger logger= GlobalLog.getLogger(this.getClass());
    public void run(IEnginesContext iEnginesContext){
        List<IRuntimeProject> list=iEnginesContext.getProjects();
        if (list.size()<=0){
            logger.info("the open projects size is:%d",list.size());
            return;
        }
        IRuntimeProject project=list.get(0);
        List<IDexUnit> ls=RuntimeProjectUtil.findUnitsByType(project,IDexUnit.class,false);
        List<IDexClass> list1= (List<IDexClass>) ls.get(0).getClasses();
        for (int i = 0; i < 10; i++) {
            logger.info(list1.get(i).getName(true));
        }

    }

}

  

注意事项:

  • 如果是java脚本请不要设置包名,即:package xxxxx.xxxxx.xxx;
  • 脚本格式:
    public class test {
    public void run(IEnginesContext iEnginesContext){
    //这里是脚本内容.
    }
    }

缺点:

不支持对ui进行操作.
如果要对ui进行操作,就要对原版的jeb打补丁.很麻烦.很多人都不愿意修改软件.
下载:
http://pan.baidu.com/s/1hsqIB32

使用方法

将*.java 文件放在scripts目录下.

 


如果有任何bug,请在下面留言,谢谢

 

推荐阅读