android开发apk捆绑,[原创]ApkAssist(Apk一键捆绑工具)

功能:

*AndroidManifest.xml反编译、编译、合并,指定so DT_NEEDED注入我们的so。

*Apk一键捆绑,两种姿势:

1.so DT_NEEDED注入。

2.dex smali注入。

使用说明:

1.*确定系统是64位Windows,确定已安装64位版jdk 8并添加bin目录到Path环境变量。

2.命令行:

java -jar ApkAssist.jar assit [-d -b -m -n]

-d AndroidManifest_.xml AndroidManifest.xml 反编译AndroidManifest.xml到AndroidManifest_.xml

-b AndroidManifest.xml AndroidManifest_.xml 编译AndroidManifest_.xml到AndroidManifest.xml

-m AndroidManifest.xml AndroidManifest_.xml 合并AndroidManifest_.xml(反编译过的)到AndroidManifest.xml(未反编译过的)。

-n libjiagu.so libassist.so 注入libassist.so到libjiagu.so。

java -jar ApkAssist.jar [-n -l]

-n libjiagu.so,libjiagu_x86.so libassist.so test.apk 注入libassist.so到libjiagu.so,libjiagu_x86.so,并捆绑。(so DT_NEEDED注入)

-l assist test.apk 在主dex的主类插入静态构造函数,插入加载libassist.so代码,并捆绑。(dex smali注入)

主类:App Entry类,没有则为Main Activity类。

主dex:主类所在的dex。

编写捆绑so:

在你的so代码里插入编译器构造函数,函数里加载我的libassist.so。

例:

void __attribute__ ((constructor)) load() {

dlopen(“libassist.so”, RTLD_NOW);

// 你的hook代码

}

生成Apk之后,复制lib目录到本工具inject目录。

目录说明:

inject/assets 将复制到Apk的assets目录。

inject/dex    将目录下所有dex合并为assist,并复制到Apk的assets目录。

inject/lib    将目录下与Apk的lib目录下同名的文件夹复制过去。

皮一下:

发现BUG?一定是你姿势不对!打死我也不会改的!给源码自己折腾去!

源码在哪?回帖过100就有了!

最后于 2018-7-19 03:31

被cdarksky编辑

,原因:

上传的附件:

ApkAssist.7z

(4.44MB,554次下载)

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值