xstudio-vs
这是一个基于xstudio的VSCode插件, 因为我一直使用Mac开发, xstudio只有win版, 因此开发了这个插件.
软件安装
安装XP框架并激活, 方法自行搜索.
安装XSTUDIO并激活
在VSCode上安装xstudio-vs插件
根据自己的操作系统下载Redis
配置说明
打开设置界面, 对Redis的Host和Port进行设置, 填写包名.
根据自己的需要进行配置, 为了测试方便, 我没有设置密码, 不建议这样做.
界面说明
使用说明
为了测试这个插件, 我简单写了一个APP, 以下所有的操作都是基于这个APP的.
[注] 由于APP需要连接Redis, 因此申请了网络权限, 如果需要使用注入功能, 需要给APP读写文件的权限.
主要代码如下:
public class Util {
public static void showToast(Context context, String content) {
Toast.makeText(context, content, Toast.LENGTH_LONG).show();
}
public static String getText() {
return "You Got It.";
}
}
反编译方法请自行百度, 在测试APP中, 在这里路径是com.lq.demoapp.Util
搜索结果会缓存下来, 方便以后使用.
点击方法或属性, 可以快速得到代码.
复制如下代码到JS文件, 点击执行按钮, 在控制台便可以看到结果.
// public static java.lang.String com.lq.demoapp.Util.getText()
//call
var ref = org.joor.Reflect
var main = function(lpparm, ctx, param) {
var result = ref.on('com.lq.demoapp.Util', ctx.getClassLoader()).call('getText').get();
console.log(result);
return result;
}
//hook
var find = function(lpparm, ctx, param) {
var methods = org.joor.Reflect.on('com.lq.demoapp.Util', ctx.getClassLoader()).type().getDeclaredMethods();
var func = 'showToast(android.content.Context,java.lang.String)';
for (var i = 0; i < methods.length; i++) {
if (methods[i].toString().contains(func)){
return methods[i];
}
}
return null;
}
var before_func = function(param) {
console.log('before ->' + param.args[1]);
param.args[1] = "UPDATED";
}
var after_func = function(param) {
console.log('after ->' + param.args[1]);
}
注入需要选择文件, 在js
文件上右键将此文件添加到待注入文件列表
然后选中需要注入的文件, 点击注入, 然后运行APP就可以看到结果了
使用的库和参考代码
- xstudio [XSTUDIO] 吾爱破解
- vscode Visual Studio Code
- XposedInstaller github
- fastjson github
- jOOR github
- rhino github
- jedis github
- okhttp github
- vscode-mysql github
图标来源 Iconfont-阿里巴巴矢量图标库
在这里感谢所有的作者.