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

JAR包微调框架TweakJar

2024-7-18 13:59
2255

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中为我点赞加星哦!!!

 



[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 2
支持
分享
最新回复 (3)
雪    币: 72
活跃值: (412)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
tweakme大佬的新作,分析Java层相当好用了,感谢楼主分享
2024-7-19 03:46
0
雪    币: 10
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3
支持一下
2024-7-19 10:38
0
雪    币: 220
活跃值: (591)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
大佬TweakMe什么时候更新一下
2024-7-19 15:57
0
游客
登录 | 注册 方可回帖
返回
//