Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1942269
  • 博文数量: 219
  • 博客积分: 8963
  • 博客等级: 中将
  • 技术积分: 2125
  • 用 户 组: 普通用户
  • 注册时间: 2005-10-19 12:48
个人简介

文章分类

全部博文(219)

文章存档

2021年(1)

2020年(3)

2015年(4)

2014年(5)

2012年(7)

2011年(37)

2010年(40)

2009年(22)

2008年(17)

2007年(48)

2006年(31)

2005年(4)

分类: Android平台

2011-01-07 16:39:53

此文续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) |
给主人留下些什么吧!~~