Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
R
ratel-doc
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ratel
ratel-doc
Commits
a7ffcb44
Commit
a7ffcb44
authored
Jun 19, 2019
by
Administrator
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update README.md
parent
3ab4b5f8
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
130 additions
and
0 deletions
+130
-0
README.md
README.md
+130
-0
No files found.
README.md
View file @
a7ffcb44
...
@@ -22,5 +22,135 @@ RatelManager的作用类似XposedInstaller,实现对Ratel模块的管理,不
...
@@ -22,5 +22,135 @@ RatelManager的作用类似XposedInstaller,实现对Ratel模块的管理,不
![
img
](
img/ratelManager1.jpg
)![
img
](
img/ratelManager2.jpg
)
![
img
](
img/ratelManager1.jpg
)![
img
](
img/ratelManager2.jpg
)
# 开发文档
如果只是使用标准的xposed功能,那么引入标准xposed依赖即可
```
dependencies {
compileOnly 'de.robv.android.xposed:api:82'
}
```
如果希望使用ratel提供的扩展api,那么可以选择依赖ratelAPI
```
repositories {
maven {
name "contralSnapshot"
url "https://oss.sonatype.org/content/repositories/snapshots/"
}
}
dependencies {
compileOnly 'com.virjar:ratel-api:1.0.0-SNAPSHOT'
}
```
请注意,ratel的依赖发布到mavenCentral的。生产环境依赖可以选择
```
repositories {
mavenCentral()
}
```
或者使用阿里云镜像提速
```
repositories {
maven {
name "aliyunmaven"
url "https://maven.aliyun.com/repository/public"
}
maven {
name "aliyunGoogle"
url "https://maven.aliyun.com/repository/google"
}
}
```
## ratel定制API总线
接口一览
```
package com.virjar.ratel.api;
import android.annotation.SuppressLint;
import android.content.Context;
public class RatelToolKit {
/**
* 1。 以下对象,是暴露给调用方的额外API,可以通过他们操作ratel提供的额外功能(除开xposed本身功能之外)
*/
//全局的一个context,context是调用Android系统功能的重要对象。有这个对象之后,无需手动通过拦截attach的方式获取context
@SuppressLint("StaticFieldLeak")
public static Context sContext = null;
/**
* ratel框架的配置信息,代表了ratel编码、打包、运行过程产生的一些特定flag
*/
public static RatelConfig ratelConfig = null;
/**
* ratel支持对文件进行重定向
*/
public static IORelocator ioRelocator = null;
/**
* 当前进程名称
*/
public static String processName = null;
/**
* 当成packageName
*/
public static String packageName = null;
/**
* 虚拟化环境功能支持
*/
public static VirtualEnv virtualEnv = null;
/**
* 虚拟化环境下,sdcard将会被隔离,导致无法往sdcard写入数据。但是如果ratel模块期望通过sdcard和其他app交换数据,那么需要通过一个sdcard白名单进行放行
*/
public static String whiteSdcardDirPath = null;
/**
* @hidden
*/
public static RatalStartUpCallback ratalStartUpCallback = null;
public static void setOnRatelStartUpCallback(RatalStartUpCallback ratelStartUpCallback) {
RatelToolKit.ratalStartUpCallback = ratelStartUpCallback;
}
/**
* 2。 以下以下对象,是用户层不需要关心的。我也不会做解释
*/
public static HookProvider usedHookProvider;
public static String TAG = null;
}
```
# 和ratel类似的产品
竞争使得我们更加优秀,即时竟品还不认为我们是他竞品。
1.
本方案始祖,太极: https://taichi.cool/README_CN.html
2.
Xpatch,没有开源,但是可能是最容易反编译出来的一个产品: https://github.com/WindySha/Xpatch
3.
傀儡管理器,作者很搞笑: http://qssq666.cn/2019/04/19/puppet_publish/
4.
应用转生,目前还在作者自己的技术群里演示界面,实际上方案效果不明,暂无法评判。
# 如何使用
1.
使用ratel在线平台感染app:
http://ratel.virjar.com/#/login?redirect=%2F
在这里上传apk,等待系统处理完成,下载apk即可
2.
下载并安装ratelManager
https://virjar-comon.oss-cn-beijing.aliyuncs.com/RatelManager_1.0.0.apk
3.
编写Xposed模块插件(也可以叫做Ratel模块插件),安装到手机,并在RatelManager中配置即可
# 关于内测
ratel目前处于内测阶段,仅对小部分用户开放。如想获得内测资格,联系qq:1076208143 weixin:odengweijia
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment