@oro-oro
2015-08-18T11:16:19.000000Z
字数 945
阅读 2770
JebAPI
JEB API
官方地址:https://www.pnfsoftware.com/apidoc/
本地路径:jeb/doc
这是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,选择要执行的脚本。
Hello World!
你好,JEB,我来也……
ä½ å¥½ï¼JEBï¼ææ¥ä¹â¦â¦
中文字符串前面加u,否则显示会乱码。
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界面接口 |