本文转载自: https://www.zybuluo.com/oro-oro/note/142707

JEB API

官方地址:https://www.pnfsoftware.com/apidoc/ 
本地路径:jeb/doc

1. IScript

这是Jeb脚本的接口,它支持Java和Python,后面的例子都会以Python为例子讲解。

任何Jeb脚本都必须实现这个接口。而任何一个脚本的类,必须跟文件名一样,跟Java类似。

IScript 下面只有一个方法,脚本的入口,相当于main函数。

 run(JebInstance instance)
    Script entry point.

写一个 hello world。 

- Hello.py

# coding:utf-8
from jeb.api import IScript
class hello(IScript):
    def run(self, jeb):
        jeb.print("Hello World!")
        jeb.print(u"你好,JEB,我来也……")
        jeb.print("你好,JEB,我来也……")

打开Jeb,File -> Run Script,选择要执行的脚本。

  1. Hello World!
  2. 你好,JEB,我来也……
  3. 你好,JEB,我来也……

中文字符串前面加u,否则显示会乱码。

2. JebInstance

run 方法传入的是一个JebInstance对象。

它就是Jeb的实例化,也就是在Jeb中操作,如反汇编、反编译、重命名方法名、重命名类名等,都是通过这个类实现的。

下面列出了感兴趣的方法,其他详细参考JebAPI文档。

方法 说明
getDex() 获取Dex对象,jeb.api.dex.Dex
print(java.lang.String s) 在JEB终端打印字符串
renameClass(java.lang.String partial_sig, java.lang.String new_name) 重命名类名
renameField(java.lang.String partial_sig, java.lang.String new_name) 重命名变量名
renameMethod(java.lang.String partial_sig, java.lang.String new_name) 重命名方法名
getUI() 获取JEB界面接口

[转载] 1. JebAPI 之 jeb.api的更多相关文章

  1. [转载] 4. JebAPI 之 jeb.api.ui

    本文转载自: https://www.zybuluo.com/oro-oro/note/145250 JebInstance可以通过getUI()方法来获得jeb.api.ui.JebUI. JebU ...

  2. [转载] 3. JebAPI 之 jeb.api.ast

    本文转载自: https://www.zybuluo.com/oro-oro/note/143651 0. 序 Jeb 本身是支持变量重命名的,所以,混淆了的变量名.类名可以修改. 实际上,它还可以做 ...

  3. [转载] 2. JebAPI 之 jeb.api.dex

    本文转载自: https://www.zybuluo.com/oro-oro/note/142842 1. jeb.api.dex.Dex 这个类代表正在被JEB处理的DEX文件. 要想更好的了解这个 ...

  4. [转载] ZooKeeper的Java客户端API

    转载自 http://www.cnblogs.com/ggjucheng/p/3370359.html http://zookeeper.apache.org/doc/trunk/javaExampl ...

  5. [转载]Java 8 日期&时间 API

    Java 8 日期和时间 声明 本文转自http://www.journaldev.com/2800/java-8-date-localdate-localdatetime-instant,以mark ...

  6. (转载) ASP.NET(C#) Web Api 通过文件流下载文件到本地实例

    下载文件到本地是很多项目开发中需要实现的一个很简单的功能.说简单,是从具体的代码实现上来说的,.NET的文件下载方式有很多种,本示例给大家介绍的是ASP.NET Web Api方式返回HttpResp ...

  7. (转载)Java8新的日期API LocalDate, LocalTime

    前言 由于Java Date的各种问题,Java8推出了新的日期API,很受一拨人的追捧. 为什么我们需要新的Java日期/时间API? 在开始研究Java 8日期/时间API之前,让我们先来看一下为 ...

  8. 转载LoadRunner的常用Java API

    Java API是访问Vuser函数的基础,通过LoadRunner的Java API可以在脚本中很容易地创建事务与并发点.获取用户信息等功能. 1. 事务函数(Transaction Functio ...

  9. 【转载】Asp .Net Web Api路由路径问题

    原文章地址:https://www.cnblogs.com/devtester/p/8897302.html MVC也好,WebAPI也好,据我所知,有部分人是因为复杂的路由,而不想去学的.曾经见过一 ...

随机推荐

  1. Hibernate一对多 特殊的数据类型的注解

    1.String 类型 @ElementCollection(targetClass = String.class,fetch = FetchType.EAGER) @CollectionTable( ...

  2. Ioc正解

    IoC是一种模式 IoC(Inversion of Control)中文译为控制反转,目前Java社群中流行的各种轻量级容器的实现都是以IoC模式作为基础的.控制反转意味着在系统开发过程中,设计的类将 ...

  3. RabbitMQ中 exchange、route、queue的关系

    从AMQP协议可以看出,MessageQueue.Exchange和Binding构成了AMQP协议的核心,下面我们就围绕这三个主要组件    从应用使用的角度全面的介绍如何利用Rabbit MQ构建 ...

  4. Windows下Faster-RCNN的使用

    上一篇随笔中包含了关于faster rcnn的介绍. 安装与使用 1.下载Faster R-CNN源码(https://github.com/ShaoqingRen/faster_rcnn)2.安装 ...

  5. 读文档readarx.chm

    readarx.chm <Tips and Techniques> Incremented AutoCAD Registry Number Ideally, a change of reg ...

  6. for xml path(''),root('')

    ,,'') SELECT top 10 ROW_NUMBER()OVER(ORDER BY OperationID) as 'Message/MessageId', OperationID as 'I ...

  7. SQL SERVER:使用工具观察与分析数据库中锁信息

    SQL SERVER 2005可以通过Microsoft SQL Server Management Studio的“管理–>活动监视器”–>“右键”–>“进程信息”,这里呈现连接. ...

  8. BootstrapValidator验证表单用法

    引入文件 <link rel="stylesheet" href="css/bootstrap.css"/> <link rel=" ...

  9. ServletContext总结

    今天我们学习的是ServletContext的应用. WEB容器在启动时,它会为每个WEB应用程序都创建一个对应的ServletContext对象,它代表当前web应用. ServletConfig对 ...

  10. Longest Substring Without Repeating Characters -- LeetCode

    原题链接: http://oj.leetcode.com/problems/longest-substring-without-repeating-characters/ 这道题用的方法是在LeetC ...