使用BakSmali对app进行反编译

  前言
      BakSmali同Android Killer工具一样,是一款对Android反编译的一个工具。在上一个文章“使用Android killer工具进行反编译安卓游戏实现内购”中我遇到了“APP编译失败,无法进行下一步签名”的问题,这里问题起初让我百思不得其解,认为是Android killer工具中的apktool版本太新(我使用的是最新版本),但切换成老版本依然不行,干脆就直接使用另外一款反编译程序将直接篡改的clessas.dex文件进行编译。
   
   下载
    下载地址:https://bitbucket.org/JesusFreke/smali/downloads/<br />     分别BakSmali.jar和Smali.jar两个文件,BakSmali.jar是将Clessas.dex反编译的,而Smali.jar则是将反编译后的Clessas.dex编译回去的。
   使用

  •         win+R打开运行,进入CMD,并使用cd命令进入BakSmali所在的文件夹

TIM截图20190817221643.png

  • 反编译命令:java -jar baksmali-2.3.jar d classes.dex 

image.png

           当完成的时候BakSmali会输出一条空行,这个时候在看BakSmali的文件夹中会生成一个out的文件夹,这里面便是从classes.dex中反编译出来的smali代码,我们可以通过这个进行破解了。

  • 编译命令:java -jar smali-2.3.jar a out