此文续Android apk 文件反编译, 当时说要写个脚本做个自动化的方法来解压.apk文件.
此脚本早己写好,只是一直未发出来.现在发出现来,供参考或使用.里面有注释,看不懂的就没办法了.
把下面脚本拷出来保存为XXX.bat文件,运行前先把apk文件拷贝到与此脚本同一路径.然后运行XXX.bat yours.apk.
REM this script is used to decompress the .apk file
@echo off
REM 此脚本传入的要解压的文件名
set EXT_FILE=%1
REM apktool 和 dex2jar 两个工具的解压路径
set DECOAPK_HOME="E:\zy_share\tools\Android"
REM 解压后的文件所在路径
set TMP_DIR=temp
REM dex2jar工具的路径
set DEX2JAR_HOME="%DECOAPK_HOME%\dex2jar-0.0.7.3-SNAPSHOT"
@echo on
REM 复制一个 apk 文件,后缀名为 .zip
copy "%EXT_FILE%" "%EXT_FILE%.zip"
REM 解压此 .zip 文件到 当前的 temp 目录下.
unzip %EXT_FILE% -d %TMP_DIR%
REM 用 apktool 解压 .apk 文件到 temp 目录中
cd temp
java -jar %DECOAPK_HOME%\apktool\apktool.jar decode ../%EXT_FILE%
REM 解压 classes.dex 文件
set CLASSPATH=
FOR %%i IN ("%DEX2JAR_HOME%\lib\*.jar") DO CALL "setclasspath.bat" %%i
echo %CLASSPATH%
java -cp "%CLASSPATH%" pxb.android.dex2jar.v3.Main classes.dex
REM 解压 classes.dex.dex2jar.jar 文件
mkdir classes
cd classes
jar -xf ../classes.dex.dex2jar.jar
cd ..
jad -o -r -f -ff -s java -d src classes/**/*.class
cd ..
|
别高兴得太早,转出换过程中可能会有jad.exe转不了的文件,那就把那就手动做最后一点转换吧.可以把出错的.class文件删除,再转.转完可能也通不过编译.但代码的大致结构和类都出来了.有第三类库的,你就直接去下载回来替换掉就行了.
以上提供的方法请大家自律地使用于合法用途.
阅读(2428) | 评论(0) | 转发(0) |