欢迎光临

木子屋

标题: apk反编译

作者: dnawo

日期: 2013-04-19 00:02 AM

分类: 网络破解

内容: 本文说的apk反编译是对apk中的classes.dex文件进行反编译，比较常见的方法有两种，下边分别进行说明。
1.dex2jar + JD-GUI
①.使用WinRAR从apk中解压出classes.dex，放到dex2jar文件夹；
②.在命令行窗口执行命令"dex2jar.bat classes.dex"，生成classes_dex2jar.jar；
③.使用JD-GUI打开classes_dex2jar.jar，可查看反编译的源代码，也可以选择"File→Save All Sources"保存文件；
说明：有时部分代码JD-GUI不能成功反编译，此时可以尝试从jar中单独解压出class文件，然后使用jad进行反编译，可能会成功。下边的批处理实现将jar中所有class文件反编译为java文件：
复制内容到剪贴板 程序代码@echo off
rem 使用说明：拖动apk到批处理，反编译文件保存于classes文件夹
rd /s /q classes
7za.exe e %1 classes.dex
call dex2jar.bat classes.dex
7za.exe x -otemp classes_dex2jar.jar
for /f %%i in ('dir /b /s temp\*.class') do (
call :todo %%i
)
del /q classes.dex
del /q classes_dex2jar.jar
rd /s /q temp
start explorer.exe %cd%\classes
goto :eof
:todo
(
set dir=%~dp1
md %dir:temp=classes%
jad -o -d %dir:temp=classes% -s java %1
)
2.baksmali + smali
①.使用WinRAR从apk中解压出classes.dex；
②.在命令行窗口执行命令"baksmali.jar classes.dex"开始反编译，生成到out文件夹；
③.修改smali文件；
④.在命令行窗口执行命令"smali.jar out"进行编译，重新生成dex文件；
说明：这个方法比第一个方法的优点是反编译后可以再编译，缺点是smali代码不容易阅读修改。
3.资源链接
[1].dex2jar：https://code.google.com/p/dex2jar/
[2].JD-GUI：http://java.decompiler.free.fr/?q=jdgui
[3].JAD：http://www.varaneckas.com/jad/
[4].smali：https://code.google.com/p/smali/
[5].7-Zip：http://www.7-zip.org/

+ 查看当前日志评论 (0)

登录

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.531 ms

返回

标题: apk反编译

你没有权限发表评论

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.531 ms

返回

暂无评论

返回

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.563 ms

返回