近日使用某在线听歌软件,有不少儿童故事不错,但在线听经常出现时断时续情形,而软件要求积分大于1500才可整页下载。要满足积分条件需要手动安装其推荐的数十个应用,简直是坑爹。故决定破解之。
假定要破解apk的名字为mytest.apk,则破解步骤如下:
步骤 1:得到resource及smali文件
1)得到apktool工具
在http://code.google.com/p/android-apktool/或https://github.com/brutall/brut.apktool下载获得,apktool-1.0.0.tar.bz2和apktool-install-windows-2.1_r01-1.zip两个包都要下。解压缩下载的两个文件包,apktool-install-windows-2.1_r01-1.zip解压缩后得到的包里有aapt.exe和apktool.bat.(注意要把apktool-1.0.0.tar.bz2解压后的一个.jar 文件copy进来)
2)DOS命令窗口下进入到apktool.bat所在的文件夹里
1.
D:\android\tool\apktool\apktool d C:\mytest.apk C:\out
命令行解释:apktool d 要反编译的文件 输出文件夹
特别注意:你要反编译的文件一定要放在C盘的根目录里,
3)打开 C:\out文件夹 就可以得到各种资源了
步骤2:得到java文件
方法a:
- 把apk文件改名为.zip,然后解压缩出其中的class.dex文件
- 安装把dex文件反编译为jar文件的工具dex2jar。http://code.google.com/p/dex2jar/downloads/list
- 把class.dex拷贝到dex2jar.bat所在目录。
- 生成jar文件classes.dex.dex2jar.jar
[java]dex2jar.bat classes.dex
- 安装把jar反编译为java的工具。(JD-GUI)http://java.decompiler.free.fr/?q=jdgui
- 运行JD-GUI工具,打开上面的jar文件
- File -> Save All Sources将生成Java源代码文件到
c:\out
方法b(TBV)
- 从out目录下取得dexdump。
adb shell dexdump -d -f -h /data/dalvik-cache/data@app@mytest.apk@classes.dex > twitpic.text
步骤3:破解源代码
1)查找位置
由于此软件要求积分大于1500才可下载,故打开java文件,查找1500发现有三个文件有定义,PlayActivity$12.java,Cfg.java,ScoreDialog$5.java。
PlayActivity$12.java