當前位置:首頁 » 編程軟體 » android反編譯高手

android反編譯高手

發布時間: 2022-02-17 21:01:18

A. android程序很容易被反編譯

apk其實就是zip文件,你修改後綴名是可以解壓的。裡面有.dex文件。
android代碼可以做混淆,創建android application後可以在Eclipse看到目錄下有proguard文件,在這里設置代碼混淆。

B. Android反編譯

你用的是最新的apktool嗎
bitbucket.org/iBotPeaches/apktool/downloads
另外,使用新的apktool之前,請先把c盤里舊的framework-res.apk刪掉,每次更新都要做這個動作。

C. 哪個安卓的反編譯軟體,最強大反編譯錯誤最少

一、工具:
apktool , dex2jar , jd-gui

二、使用dex2jar + jd-gui 得到apk的java源碼
1.用解壓工具從 apk包中取出 classes.dex 文件
用命令(dex2jar.bat classes.dex)得到一個 jar文件
2.用jd-gui反編譯工具將得到.jar文件反編譯成.java文件

三、使用apktool得到apk的xml文件
1.用命令(apktool d xxx.apk xxx_xml)反編譯xxx.apk包
2.從 xxx_xml 文件夾得到xml文件

D. 有沒有反編譯工具,可以把APK完全反成一個android項目的 , 這個android逆向助手只

我可以讓你看見項目的源碼,但是不知道怎麼才能將源碼放到eclipse中進行運行!~~我試了好多次,都不成功,導入工程後總是會出錯,不知道是我哪裡設置的和源碼中設置的不一樣!~~
方法是:第一步:你先把下載的包的後綴名改成.zip
第二步:到網上搜索dex2jar,下載一個,解壓到電腦磁碟中
第三步:打開你改完後綴名的.zip文件,將其中的.dex文件解壓出來,拷貝到dex2jar這個文件中,和lib文件夾放在同文件下
第四步:進入cmd命令,然後用cd 命令進入到dex2jar這個文件中,我的是這樣的cd C:\android反編譯工具\dex2jar-0.0.9.15\dex2jar-0.0.9.15,然後在執行dex2jar classes.dex這個命令,等待一會,反編譯好了後
第五步:到網上搜索jd_gui,然後下載一個解壓到磁碟,打開它然後點打開文件,找到剛剛反編譯好的那個文件夾,即dex2jar那個文件夾中找.jar文件,打開它就能看到源碼了!~~~
其它的資源文件什麼的就在剛剛你改完的那個zip文件中有。

不過你也可以將.apk文件再反編譯回來,在看資源和Androidmanifest.xml文件!~~~這個用到apktool,這個用起來挺簡單的,你可以到網上搜索一下!~~~

E. 如何反編譯android應用以及重編譯,簽名和對齊優化

工具/原料
電腦必須裝JAVA
JAVA電腦環境教程
apktool

方法/步驟
1. 配置好JAVA環境變數,下載:apktool 解壓的文件放在C盤根目錄的apktool文件夾里(apktool文件夾自己創立)
打開命令提示符,(開始-運行-輸入cmd)

2. 輸入:cd \apktool 系統指令到了apktool文件夾(這里就是為什麼要把解壓的apktool解壓的文件放到apktool文件夾的原因,當然你也可以自命名文件夾的名稱,那麼比如arc,那麼指令就變成了:cd \arc 前提是你必須把apktool解壓的文件放到這個文件夾裡面)

3. 使用RE管理器把系統裡面的framework-res.apk 與 SystemUI.apk 提取出來放在apktool文件夾裡面

4. 如果只是想反編譯framework-res.apk
輸入apktool if framework-res.apk(框架的建立)

5. 開始最重要的反編譯,輸入指令,apktool d framework-res.apk
(反編輯的APK一定要用沒換過圖片的,否則回編輯失敗)

6. 最後反編譯完成

7. 修改代碼完成後,輸入代碼:apktool d framework-res 即可完成回編譯

8. 如果反編譯的是系統文件,比如,SystemUI.apk 那麼必須進行掛載框架,反編譯時,必須敲入一下命令:(然後再重復4-7步驟)
apktool if framework-res.apk
apktool if SystemUI.apk

9. 對於三星手機(比如9100、9108/9100G),如果反編譯SystemUI.apk要敲入一下命令進行框架掛載apktool if framework-res.apk
apktool if twframework-res.apk
apktool if SystemUI.apk

10. 回編譯的命令是 apktool b XXX (沒有後面的apk後綴)反編譯的命令是 apktool d xxx (有後面的apk)

F. 在線急求高手回答、我用APKtool反編譯安卓手機裡面framework-res裡面的顏色在回編時出現這種情況、

APK文件是用專業軟體eclipse編譯生成的文件包。在網上可以找到許多軟體來對APKframework-res.apk)提取出來,然後安裝到計算機。安裝命令是: apktool if

G. 如何高效閱讀android反編譯後的源碼

一、工具准備:apktool , dex2jar , jd-gui
二、使用dex2jar + jd-gui 得到apk的java源碼
1.用解壓工具從 apk包中取出 classes.dex 文件
用命令(dex2jar.bat classes.dex)得到一個 jar文件
2.用jd-gui反編譯工具將得到.jar文件反編譯成.java文件
三、使用apktool得到apk的xml文件

  1. 用命令(apktool d xxx.apk xxx_xml)反編譯xxx.apk包2.從 xxx_xml 文件夾得到xml文件四、第二步 得到的程序源代碼 和 第三步 得到的xml文件組合下,即可得到完整的apk源碼。

五、應用: 漢化/去廣告,加 values-zh-rCN, values-zh-rTW, values-de, values-fr

1.在步驟三的文件夾xxx_xml/res/ 下, 建文件夾: values-zh-rCN,values-zh-rTW

2.1復制valuesstrings.xml 到 values-zh-rCN 並翻譯.

2.2 去廣告見;

3.重建APK,用命令(apktool b xxx) ,輸出到ABC/dist/out.apk

或命令( apktool b xxx out.apk)

詳細代碼

H. 怎麼反編譯AndroidManifest,我已經吧apk後綴改成zi.p。然後怎麼編譯其中的東西

首先還是下載工具,這次用到的是apktool
具體步驟:
將下載的兩個包解壓到同一個文件夾下,總共會有三個文件:aapt.exe,apktool.bat,apktool.jar
在命令行下定位到apktool.bat文件夾,輸入以下命令:apktool.bat d C:\*.apk C:\*文件夾
命令行解釋:apktool d [apk文件 ] -o [輸出文件夾] (註:上面圖片不加參數-o直接後面最近路徑名現在已經不可用了,如果想不想麻煩直接輸入 apk tool d test.apk 就可以了 ,會自動在當前文件夾創建test文件夾的)
反編譯的文件(AndroidManifest.xml為例)
將反編譯完的文件重新打包成apk,很簡單,輸入apktool b c:\***文件夾(你編譯出來文件夾)即可,
打包apk後的文件在目錄C:\HelloAndroid下,生成了兩個文件夾:
build
dist
其中,打包生成的HelloAndroid.apk,在上面的dist文件夾下,Ok

I. 如何進行android 反編譯

一.看android的源代碼

1)將Apkd.apk 用zip解壓後,出現了一個classes.dex文件
2014/02/19 19:42
.
2014/02/19 19:42
..
2014/02/19 15:35 1,656 AndroidManifest.xml
2014/02/19 15:35 687,024 classes.dex
2014/02/19 15:49
META-INF
2014/02/19 15:49
res
2014/02/19 15:35 2,200 resources.arsc
2)進入到dex2jar目錄中,運行情況如下:
D:\developer\tools\test_apk\dex2jar-0.0.9.15>dex2jar.bat "..\Apkd(d2j)\classes.d
ex"
this cmd is deprecated, use the d2j-dex2jar if possible
dex2jar version: translator-0.0.9.15
dex2jar ..\Apkd(d2j)\classes.dex -> ..\Apkd(d2j)\classes_dex2jar.jar
Done.
在apk所在的目錄會出現 classes_dex2jar.jar 文件。
3) 用JD-GUI對jar包進行查看,可以查看源文件

二.反編譯apk

1.在下載APKTOOL中的三個文件(aapt.exe、apktool.bat、apktool.jar)解壓縮到你的Windows安裝目錄下,以方便使用Dos命令.
2012/12/06 11:44 854,016 aapt.exe
2014/02/19 17:15 277,372 Apkd.apk//示例用apk文件
2012/12/23 23:39 92 apktool.bat
2013/02/03 02:37 2,655,843 apktool.jar
2.進入到apktool.bat所在的目錄,運行:
apktool d Apkd.apk decode_dir
反編譯後,decode_dir目錄下的內容如下:
2014/02/19 17:16 716 AndroidManifest.xml
2014/02/19 17:16 237 apktool.yml
2014/02/19 17:18
build
2014/02/19 17:16
res
2014/02/19 17:16
smali
此時我可以查看原文件AndroidManifest.xml了,也是查看smali源文件(是用smali語言寫的,可以對照java看)。

三.APKTOOL的使用

1).decode
該命令用於進行反編譯apk文件,一般用法為
apktool d

代表了要反編譯的apk文件的路徑,最好寫絕對路徑,比如C:\MusicPlayer.apk
代表了反編譯後的文件的存儲位置,比如C:\MusicPlayer
如果你給定的已經存在,那麼輸入完該命令後會提示你,並且無法執行,需要你重新修改命令加入-f指令
apktool d –f

這樣就會強行覆蓋已經存在的文件
2).build
該命令用於編譯修改好的文件,一般用法為
apktool b

這里的
就是剛才你反編譯時輸入的
(如C:\MusicPlayer),輸入這行命令後,如果一切正常,你會發現C:\MusicPlayer內多了2個文件夾build和dist,其中分別存儲著編譯過程中逐個編譯的文件以及最終打包的apk文件。
3).install-framework
該命令用於為APKTool安裝特定的framework-res.apk文件,以方便進行反編譯一些與ROM相互依賴的APK文件。具體情況請看常見問題

四.smali與java源碼對照,並做出相應的修改

java源代碼:

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.*;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView a = (TextView)this.findViewById(R.id.test) ;
a.setText("raoliang");
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

}

對應的smali源代碼:
.class public Lali/text/apkd/MainActivity;
.super Landroid/app/Activity;
.source "MainActivity.java"

# direct methods
.method public constructor ()V
.locals 0

.prologue
.line 8
invoke-direct {p0}, Landroid/app/Activity;->()V

return-void
.end method

# virtual methods
.method protected onCreate(Landroid/os/Bundle;)V
.locals 2
.parameter "savedInstanceState"

.prologue
.line 12
invoke-super {p0, p1}, Landroid/app/Activity;->onCreate(Landroid/os/Bundle;)V

.line 13
const/high16 v1, 0x7f03

invoke-virtual {p0, v1}, Lali/text/apkd/MainActivity;->setContentView(I)V

.line 14
const/high16 v1, 0x7f08

invoke-virtual {p0, v1}, Lali/text/apkd/MainActivity;->findViewById(I)Landroid/view/View;

move-result-object v0

check-cast v0, Landroid/widget/TextView;

.line 15
.local v0, a:Landroid/widget/TextView;
const-string v1, "raoliang"

invoke-virtual {v0, v1}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V

.line 16
return-void
.end method

.method public onCreateOptionsMenu(Landroid/view/Menu;)Z
.locals 2
.parameter "menu"

.prologue
.line 21
invoke-virtual {p0}, Lali/text/apkd/MainActivity;->getMenuInflater()Landroid/view/MenuInflater;

move-result-object v0

const/high16 v1, 0x7f07

invoke-virtual {v0, v1, p1}, Landroid/view/MenuInflater;->inflate(ILandroid/view/Menu;)V

.line 22
const/4 v0, 0x1

return v0
.end method

J. android反編譯之後怎麼更快的看懂代碼

你可以試試反編譯後在eclipse中看代碼非常方便,因此將反編譯後的android代碼添加到 eclipse是很有必要的。
步驟:
1、使用dex2jar工具,將apk反編譯成.jar後綴的文件(該文件是所有.class文件的壓縮包);
2、使用jd-gui.exe工具,打開上一步驟生成的.jar後綴的文件;使用File->Save all sources菜單,將.jar文件包中的所有文件以java源碼文件形式導出。
3、eclipse中創建android工程:File->new->Project->android->Android Project from Existing code;在Root Directory:中填寫AndroidManifest.xml所在的文件夾路徑。
4、將第2步驟中生成的所有文件和文件夾一起到第3步驟生成的工程中的src文件夾中(你也可以在工程目錄下隨便創建一個目錄,然後將java源碼文件扔進出,然後在工程目錄下面的.classpath文件中添加該文件夾的目錄路徑)。

熱點內容
sql語句的或者 發布:2025-01-15 21:51:20 瀏覽:869
安卓版的車工計算是哪裡出版的 發布:2025-01-15 21:47:29 瀏覽:405
我的世界電腦版進pe伺服器 發布:2025-01-15 21:33:57 瀏覽:294
網頁游戲吃什麼配置 發布:2025-01-15 21:27:58 瀏覽:65
安卓怎麼轉移數據華為 發布:2025-01-15 21:03:02 瀏覽:141
軟體列印反饋單腳本錯誤 發布:2025-01-15 21:01:24 瀏覽:178
如何進cs里的練槍伺服器 發布:2025-01-15 21:00:07 瀏覽:979
蘋果手機存儲晶元 發布:2025-01-15 20:52:02 瀏覽:163
盲人讀屏軟體安卓哪個好 發布:2025-01-15 20:47:13 瀏覽:729
炸圖腳本 發布:2025-01-15 19:56:07 瀏覽:429