Commit 72adadc1 authored by Administrator's avatar Administrator

增加脱壳机API

parent 3a6e69a5
...@@ -109,6 +109,7 @@ public class RatelToolKit { ...@@ -109,6 +109,7 @@ public class RatelToolKit {
*/ */
public static boolean killAppIfDetectANR = false; public static boolean killAppIfDetectANR = false;
public static RatelUnpack ratelUnpack = null;
/** /**
* 当前app运行在那个引擎下 * 当前app运行在那个引擎下
......
package com.virjar.ratel.api;
import java.io.File;
import java.util.List;
/**
* 脱壳机实现,支持指令抽取和修复、支持多classLoader、支持热加载classdump、
* 不支持vmp、不支持主动调用(可以在业务层模拟主动调用)
*/
public interface RatelUnpack {
/**
* 开启脱壳机,ratel框架将会影响虚拟机代码执行流程。这可能导致框架不稳定,已经影响app执行性能<br>
* 一般情况不建议随时开启脱壳机<br>
* 请注意,脱壳机开启需要在app运行前执行,否则错过dump时间
*
* @param workDir 需要指定一个工作目录,让脱壳机dump相关加密的指令.参数可以为空,为空系统自动分配
*/
void enableUnPack(File workDir);
/**
* 根据一个className搜索dex,在存在热修复等场景下可能有多个dex,每个dex使用字节数组传递二进制内容
*
* @param className 一个特定的class
* @return 包含这个class定义的dex文件,可能有多个
*/
List<byte[]> findDumpedDex(String className);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment