obfuscapk对apk进行代码混淆

obfuscapk的使用方法

本人使用的系统是Ubuntu 22.04,python版本是3.10

请提前安装好docker和python然后进行相关操作

一、安装

本次安装使用的是docker安装,docker安装是作者推荐的,因为这样是不用继续配置环境的,如果需要源码安装就还需要下载其他软件,并且还要配置许多环境,所以我们最好使用docker去做这些事情。

我们只需要使用命令拉去镜像即可

sudo docker pull claudiugeorgiu/obfuscapk

使用这个命令可以给这个拉取的镜像一个别名

sudo docker tag claudiugeorgiu/obfuscapk obfuscapk

然后我们可以利用docker images命令来查看当前的镜像

在这里插入图片描述

如果出现这个东西,就说明我们已经就安装好了

然后我们运行一下命令开始进行验证

sudo docker run --rm -it obfuscapk --help

在这里插入图片描述

如果出现这种情况就说明我们已经安装完成了

二、使用

我们需要将需要混淆的代码放到docker容器中的workdir文件目录中。

其中比较好用的方法是使用docker将我们创建一个文件夹给挂载上去,然后直接使用obfuscapk就可以对我们的一个安装包进行代码的混淆。

  1. 我们首先创建一个文件夹,用来存放我们的apk,这个文件夹尽量的路径简单,而且最好不要有中文路径。

  2. 然后我们打开命令行,以sudo权限运行命令

    sudo docker run --rm -it -u $(id -u):$(id -g) -v "这里是你的文件夹的绝对路径":"/workdir" obfuscapk  -o ClassRename -o MethodRename -o ResStringEncryption -o Rebuild -o NewAlignment -o NewSignature test.apk
    

    其中:绝对路径是文件夹的绝对路径,不是apk的绝对路径。其中app-release.apk是你需要混淆的apk的名字,记得进行修改,等你运行完后,打开你的文件夹绝对路径,就可以看到这种情况。

在这里插入图片描述

你会发现多出来一个文件夹,这个文件夹就是我们混淆之后的结果。

里面的apk就是我们混淆之后的apk

  1. 我们可以对这个apk进行一个逆向,查看其混淆的情况

在这里插入图片描述

嗯,要的就是这个效果,要是不说明我都不知道这是我自己开发的软件,毫无意义的变量名,毫无意义的类名,像极了我平时不加注释的代码。

三、一些注意的事项

注意事项1

首先就是混淆选项的顺序问题,我们的

-o Rebuild -o NewAlignment -o NewSignature

这三个选项必须要有而且必须放在最后,其实obfuscapk还提供了其他的一些混淆方法,比如反射等技术,其他的方法一定要放在这三个前面,当然相应的,你混淆的程度越大,那么你的软件运行的就越慢。具体的混淆方法建议直接去查github上的官方文档,文档上讲的很清楚。

注意事项2

这个主要的反编译的注意事项,如果要使用jd-gui软件进行逆向的话,请使用oracle官网的jdk,不要使用openjdk,不然会导致jd-gui无法运行。使用jd-gui之前记得先使用dex-tool对apk进行处理得到jar包,然后再使用jd-gui进行反编译。

四、结尾

欢迎访问本人博客:www.xuanworld.top

一起学习一同进步

猜你喜欢

转载自blog.csdn.net/qq_52380836/article/details/127705301