Android破解与防破解

Android 破解(仅用于学习参考,而不是恶意去破解别人的东西)

过程:

    1.用apktool对apk进行解压
    2.修改smali文件(注1)
    3.用apktoo打包成apk文件
    4.用签名工具signapk.jar对apk进行重新签名打包安装
需要工具:
     1.gd_gui(用于查看java代码)

     2.dex2jar(把dex文件转jar,供gd_gui打开)

     3.apktool(对apk进行解压和压缩)

     4.baksmali-2.0.3.jar和smali-2.0.3.jar(用于dex和smali之间的相互转换)

     5.jarsignapk.jar(用于对apk进行签名)

     6.dx.bat(用于class转dex此工具在androidSdk里有可以配置环境变量使用)
工具下载:
     点击:工具地址
工具安装:
     将所有jar的路径配置到环境变量里就可以在cmd下执行操作
工具命令行:
     1.利用apktool将apk解压,首先cd到apk的存放目录(apktool.bat d -f a.apk -o test
     2.利用dex2jar将dex转成.jar文件,供gd_gui查看源码 首先cd到dex的存放目录(dex2jar.bat classes.dex

备注(2019年3月29日--狗日的之前好使突然间不好用了,cd到目录下注意一定要先cd到dex2jat.bat的目录,把dex扔进去 再把bat拖到cmd下 然后执行xxx.dex 随后会在当前目录生成xxx_dex2jar.jar的文件,此文件就可以查看源码了,日后研究明白了,在更新这里)
     3.利用dx.bat将class转成dex,class位置需要注意包名的层级目录(dx --dex --output=[ 存放dex目录\class.dex ]  [ class目录]

     4.利用baksmali-2.0.3将dex转成smali,首先cd到dex的存放目录,如果出现找不到文件的错误需要确认dex文件的合法性,用dex2jar编译查看(java -jar baksmali-2.0.3.jar -x classes.dex

     5.利用apktool对文件压缩,转成apk文件,首先cd到test目录,test目录里存放apktool压缩出来的文件,压缩完成后apk会在新生成文件夹dist下(apktool.bat b test
     6.利用jarsignapk对apk进行签名,将apk存放至jarsignapk根目录下(java -jar signapk.jar testkey.x509.pem testkey.pk8 test.apk test-signed.apk



 

 

Android 防破解
  方法一:代码混淆
  方法二:加固处理,例如360加固

 

 

注1:如何将java修改成smali?
         把apk压缩,用压缩工具,直接修改后缀名,拿到其中的classes.dex,然后转成jar,然后用gd_gui查看代码,修改逻辑,编译成class
,然后class转dex,dex转smalil。
 

你可能感兴趣的:(代码片段)