首页
社区
课程
招聘
JAR包微调框架TweakJar
发表于: 2024-7-18 13:57 1683

JAR包微调框架TweakJar

2024-7-18 13:57
1683

JAR包微调框架TweakJar

 

TweakJar是一个轻量级的运行时Jar包修改框架,它主要面向Android正向开发者(当然,逆向开发者也同样适用)。

他的主要功能是:在运行时hook任意的java方法,动态调整其方法逻辑。

框架专为希望微调或增强jar包中某些方法的功能又没有jar包源码的场景而设计.

你可以认为他是一个微缩版本的xposed,又没有它的笨重、需要root权限等限制,主打一个极简与方便集成。

此框架从我的另一个开源逆向框架TweakMe裁剪而来,剥离出其中的java拦截部分功能。

因为TweakMe是一个相对较重的逆向框架,而java拦截部分实际上可以单独提取以让其正逆两用,极大的方便使用者在自己的项目中集成开发。

目前TweakJar框架在5.014.0android手机上测试通过。

由于篇幅问题,本文档并不介绍TweakJar的实现原理,仅仅介绍如何快速使用它,以及使用过程中的注意事项。

 

TweakJar 地址:https://github.com/liaoguobao/TweakJar

 

 

一、使用前准备

需要eclipse for android 环境

如果只有android studio 环境,则需自己将工程转化AS工程。

 

二、项目结构

TweakJar项目拉取到本地,目录结构类似如下图

 

 

 

其源代码目录结构如下图:

 

package com.android.guobao.liao.apptweak;

package com.android.guobao.liao.apptweak.util;

这两个包中的所有java文件,为框架的核心代码。

 

package com.demo.tweakjar;

这个包中的所有java文件,只是框架项目的测试代码。

 



三、框架使用

图片中的代码片段来自MainActivity.java

1hook类的构造方法

 

2、hook类的非构造方法

3、hook类的所有重载方法

4、hook类的所有构造方法

 

5、hook类的所有非构造方法

6、hook类的所有方法

7、微调方法逻辑

 

 

8、无条件替换方法逻辑

 

9、有条件替换方法逻辑

 

10、自动打印调用堆栈日志

 

11、禁止打印调用参数日志

 

12、为被混淆的方法设置别名

 

 


 

 

四、框架日志查看

DDMS日志工具中查看框架打印日志,记得添加如下过滤器。

 

 

五、框架集成

如果你想要将TweakJar框架集成到你自己的项目中,你只需要做如下两步操作

1、将下面的两个包中的所有java代码拷贝到你自己项目的java源码目录中。

package com.android.guobao.liao.apptweak.util;

package com.android.guobao.liao.apptweak;

 

2、libtweakjar.so拷贝到你自己项目native库目录中

 

 

 

 

TweakJar 地址:https://github.com/liaoguobao/TweakJar

 

如果本框架对你有帮助,记得github中为我点赞加星哦!!!

 



[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//