[转载] 1. JebAPI 之 jeb.api

本文转载自: 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????????¥?1?a?|a?|

中文字符串前面加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界面接口
时间: 2024-08-27 14:21:41

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

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

本文转载自: https://www.zybuluo.com/oro-oro/note/142842 1. jeb.api.dex.Dex 这个类代表正在被JEB处理的DEX文件. 要想更好的了解这个类定义的方法,可以去读一下DEX文件格式的说明. 这里的类/方法/变量格式,跟smali一样: Class: Lcom/foo/bar/Blob; Method: Lcom/foo/bar/Blob;->methodX([BILjava/lang/String;)V Field: Lcom/foo/

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

本文转载自: https://www.zybuluo.com/oro-oro/note/143651 0. 序 Jeb 本身是支持变量重命名的,所以,混淆了的变量名.类名可以修改. 实际上,它还可以做到这种效果 Decompiled Java Code Manipulation using JEB API – Part 2: Decrypting Strings. 例子中的脚本在这:ASTDecryptStrings.py. 整体的逻辑: 1. 破解解密算法. 2. 遍历类里面的所有方法 3.

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

本文转载自: https://www.zybuluo.com/oro-oro/note/145250 JebInstance可以通过getUI()方法来获得jeb.api.ui.JebUI. JebUI 下面有很多View,如AssemblyView, JavaView等等. JebUI可以通过getView(View.Type viewtype)方法获得对应的View. 具体类型在jeb.api.ui.View.Type中: 类型 说明 ASSEMBLY 反汇编界面 CLASS_HIERARC

[转载] ZooKeeper的Java客户端API

转载自 http://www.cnblogs.com/ggjucheng/p/3370359.html http://zookeeper.apache.org/doc/trunk/javaExample.html http://topmanopensource.iteye.com/blog/1880601 http://san-yun.iteye.com/blog/1977454 客户端要连接 Zookeeper 服务器可以通过创建 org.apache.zookeeper. ZooKeeper

十二. 一步步破解JEB 2.0demo版二

编写脚本批量还愿JEB 加密字符串 解密完后效果如下: 脚本源码: https://github.com/bingghost/JebPlugins 思路: 下面的该封装的基本都封装了,过程如下: 1.先遍历类定位到指定的类, 2.然后遍历该类的所有方法定位到解密函数,对其做交叉引用 得到所有引用该解密函数的地方 3. 对每一个引用函数做语法解析AST,拿到所有的语法元素信息,同时得到加密的byte数组信息 4. 调用解密函数解密得到字符串 5. 调用jebview接口,使用解密后的字符串替换by

api接口对于客户端的身份认证方式以及安全措施

转载 基于http协议的api接口对于客户端的身份认证方式以及安全措施 由于http是无状态的,所以正常情况下在浏览器浏览网页,服务器都是通过访问者的cookie(cookie中存储的jsessionid)来辨别客户端的身份的,当客户端进行登录服务器也会将登录信息存放在服务器并与客户端的cookie中的jsessionid关联起来,这样客户端再次访问我们就可以识别用户身份了. 但是对于api服务器,我们不能让访问者先登录再进行访问这样不安全,也不友好.所以一般情况我们都是需要客户端提供一个key

9. JEB 1.5插件编写一

2.0之后好像新增加了很多API,有所区别 本文采用Java+Eclipse作为开发环境 插件支持的语言  文档: jeb-1.5/doc/index.html 一.Hello World工程 1. Eclipse插件开发环境配置 新建Java工程->工程目录下新建lib目录->右键->add to build path 配置JavaDoc 这样写代码的时候 有实时的文档可以看 2. 编写代码 import jeb.api.IScript; import jeb.api.JebInsta

【D3 API 中文手册】提交记录

[D3 API 中文手册]提交记录 声明:本文仅供学习所用,未经作者允许严禁转载和演绎 <D3 API 中文手册>是D3官方API文档的中文翻译.始于2014-3-23日,基于VisualCrew小组的六次协作任务之上,目前已经大致翻译完毕,将陆续向官网提交D3 API 中文版. 本文主要内容有: 列举初版翻译/校对人员列表 记录中文翻译的官网提交情况 提供校对联系方式 提供D3 API简版翻译 翻译/校对人员列表 翻译人员列表 API项目 文档页数 单词数 翻译 校对 core.select

Odoo10 变化

官方在 https://www.odoo.com/forum/help-1/question/fyi-what-has-odoo-r-d-been-working-on-lately-106945 发布了一个 说明, 将要点 摘要如下 ?Write BY jeffery 转载请 标明出处 ? ? New API odoo8 引进的"new API" 是更容易编码的方式, 已经将odoo10官方模块迁移到 new API.Odoo8/Odoo9为了兼容性,保留了old API. ?&qu