只针对于简单的包破解,以及可以自行找到包名校验逻辑、时间授权逻辑模块代码。
前提:要修改的类是com.android.test路径下的testA.class文件
创建一个新项目,包名要与想要修改的包名保持一致,项目路径就是com.android.test,把需要破解的包引入到项目里,保证正常依赖
创建testA同名java文件,kotlin代码也创建java文件,编译后还是class
用AS查看class源码,不要用jd-gui,部分方法会出现找不到的情况,kotlin类的话也可以查看java代码
![](https://img-blog.csdnimg.cn/img_convert/ca0c8f967830b6a7f69ece3a834fb6d2.png)
将代码复制到自己创建的同名testA代码里,大概率会出现部分编译报错,如ArrayList的初始化会显示成new ArrayList.<init>(),改成new ArrayList()就行了,编译错误大多不一样,自行处理此问题
小锤子编译一下项目,编译通过后会生成对呀的testA.class文件,默认路径:build->intermediates->javac->包名(com.android.test.testA)->class文件
在文件夹打开此目录,将此文件复制到对应jar包里,如果是aar,再将jar包复制回aar里,搞定!
注意事项:
jar包不要解压!
jar包不要解压!!
jar包不要解压!!!
如果是aar可以把jar包解压出来,但是jar包千万不要解压替换再压缩成jar包;
解压后破坏了签名,无法正常使用,我用的是某圆压缩,右键某圆压缩打开,直接找到目录,将class文件复制到压缩包里,如果是aar再用相同的方式把jar包复制到aar压缩里,这样能正常使用了
![](https://img-blog.csdnimg.cn/img_convert/8c41cb179757d9bd7b4254559501f3d1.png)
![](https://img-blog.csdnimg.cn/img_convert/6d6813eacd56ab77549e1cc5130e0bc6.png)