2020-08-05 反编译修改Jar内容
2020-08-05 本文已影响0人
兣甅
1.使用jd-gui.exe工具打开jar文件
2.将文件源码保存到本地
image.png
3.随意新建一个安卓项目,将需要翻译的类拷入,包红的其他文件按照包名随便建,保证不报错就行,确保需要反编译的文件是和jar里面的就行
4.将项目打包apk,安装到手机上,项目可能运行不正常,不要紧
5.使用MT文件管理器,提取打包好的apk,并打开找到需要反编译的文件
image.png
image.png
image.png
找到你需要反编译的文件
image.png
记住你修改后的smail语法,待会儿需要复制到jar里面去
image.png
比如,可以把getPackageName改为其他的,改好之后可以点击右上角的转为java查看是否正确(当然这一步可以直接在源码中修改,也可以在demo中直接改好查看,如果是简单的建议直接在源码修改,复杂的在demo里面修改后直接查看生成的smail,方便复制到原来的jar中)
6.前面5步说白了都是想办法拿到修改后的smail
7.将用到的正常能运行APK并且带jar的安装包,同样的打开并修改smail语法,确保APK是jar修改后的状态,当然由于dex会分包,所以可能有多个dex文件,你需要找到包含jar源码的dex进行前面的操作,确保修改成功
8.接下来是将修改后的信息移动到jar中
image.png
image.png
得到jar
image.png
将这个jar通过zip方式打开,找到你反编译后的class文件,如下图:
image.png
9.将原jar文件用压缩文件打开,将第8步得到的的class文件,覆盖原来的class文件完成修改,保存后即可得到修改后的jar文件了
最后附上我修改美狐jar获取包名的方法
修改前
修改后
使用上没有影响,只要处理好就行,但是因为美狐SDK内部so也进行了校验,所以还是没法破解使用,比较遗憾,尝试采用了xhook也没法正确解决,技术还是不过关呀,so的反编译太过复杂,需要IDA和010 Editor以及对汇编语言的了解才能走上so的反编译道路,有点力不从心了