自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Android反編譯:反編譯工具和方法

移動開發(fā) Android
開發(fā)過程中有些時候會遇到一些功能,自己不知道該怎么做,然而別的軟件里面已經(jīng)有了,這個時候可以采用反編譯的方式,解開其他的程序,來了解一些它 的做法,同時啊,還可以借鑒別人的軟件結(jié)構(gòu),資源文件,等等,哈哈。那我就來講解一些關(guān)于反編譯相關(guān)的知識,主要分三篇,第一篇介紹反編譯的工具和方法, 第二篇,介紹smali的語法,第三篇介紹如何防止反編譯,主要通過這幾篇文章,了解如何去做反編譯和代碼加固。

[[126320]]

前言

開發(fā)過程中有些時候會遇到一些功能,自己不知道該怎么做,然而別的軟件里面已經(jīng)有了,這個時候可以采用反編譯的方式,解開其他的程序,來了解一些它 的做法,同時啊,還可以借鑒別人的軟件結(jié)構(gòu),資源文件,等等,哈哈。那我就來講解一些關(guān)于反編譯相關(guān)的知識,主要分三篇,第一篇介紹反編譯的工具和方法, 第二篇,介紹smali的語法,第三篇介紹如何防止反編譯,主要通過這幾篇文章,了解如何去做反編譯和代碼加固。

工具

apktools-目前最強大的反編譯工具

輕松反編譯apk,解析出資源文件,xml文件,生成smali文件,還可以把修改后的文件你想生成apk。

支持windows,linux,mac。

下載地址:https://code.google.com/p/android-apktool/downloads/list 請自備梯子

dex2jar

將apk中的dex文件轉(zhuǎn)換成為jar文件,很多人不會看smali文件,還是看java類文件比較舒服,這個時候可以借助這個工具來轉(zhuǎn)成java,也是支持windows,linux,mac。

下載地址:http://code.google.com/p/dex2jar/downloads/list

jd-gui

查看jar文件,基本可以看到java class文件了,也是支持mac,windows,linux。

下載地址:http://jd.benow.ca/

apktool的命令行綜合工具推薦 apktool plus

其實是別人寫的一個工具,集合了apktool的功能,另外還支持給apk簽名。最新版本是v9update6,只支持windows系統(tǒng)。

下載地址:http://dl.dbank.com/c0jndlkbu4#

進行反編譯

使用apktools

在apktools目錄下執(zhí)行以下命令

  1. ./apktool d pathtoapk outdir #mac linux 
  2. apktool.bat d pathtoapk outdir #window  

這樣就可以反編譯成功了,可以查看其中的資源文件,smali文件,當然有的app進行了特殊處理,不是全部可以反編譯的。

同時apktool還可以對反編譯后的文件逆向成apk文件,格式如下。

  1. ./apktool b apppath outpath 

逆向后的文件要是無簽名的需要先簽名才可以安裝。

使用dex2jar

apk文件本身其實就是一個zip壓縮包,先講apk改成一個.zip文件解壓后得到一個classes.dex。到dex2jar的目錄,執(zhí)行以下命令.

  1. ./d2j-dex2jar.sh pathtoclasses.dex #mac linux 
  2. d2j-dex2jar.bat pathtoclasses.dex #wind 

之后會生成一個jar文件,用jd-gui打開就可以看到其中的java代碼了。

其他

其實我們使用的反編譯也就這些足夠了,通常很多時候無法獲取很多的代碼,畢竟人家也有措施應對的。

原文地址:http://blog.isming.me/2015/01/11/android-decompile-tools/

責任編輯:閆佳明 來源: blog.isming.me
相關(guān)推薦

2011-05-31 14:52:13

Android 反編譯 方法

2011-05-31 14:18:17

2015-01-15 10:15:16

Android反編譯-smail語法

2021-03-07 16:31:35

Java編譯反編譯

2011-05-31 14:38:04

Android 反編譯

2014-09-25 10:28:02

反編譯工具Java

2009-06-11 13:49:30

2015-07-13 15:52:18

反編譯Android APK

2017-02-20 13:54:14

Java代碼編譯

2017-11-27 15:43:49

Androidjadx反編譯

2020-03-17 16:15:01

Python編譯代碼

2024-09-09 00:00:07

2011-04-20 10:32:44

java反編譯

2009-06-11 14:11:33

代碼混淆Java反編譯

2021-05-18 10:18:15

Java

2021-12-10 10:05:27

Java反編譯jar

2012-11-06 10:02:04

JavaJadEclipse

2017-07-13 13:13:49

AndroidAPK反編譯

2015-08-07 11:11:15

反編譯源代碼Mac

2024-09-13 08:57:25

SpringJar項目
點贊
收藏

51CTO技術(shù)棧公眾號