導航:首頁 > 源碼編譯 > 反編譯系統應用安卓90

反編譯系統應用安卓90

發布時間:2024-06-29 06:10:19

A. androidkiller是什麼軟體

Android Killer

一個朋友寫的工具,挺方便好用,發到此處,留給新手同學們學習使用。詳細信息看下文介紹。

Android Killer 是一款可視化的安卓應用逆向工具,集Apk反編譯、Apk打包、Apk簽名,編碼互轉,ADB通信(應用安裝-卸載-運行-設備文件管理)等特色功能於一 身,支持logcat日誌輸出,語法高亮,基於關鍵字(支持單行代碼或多行代碼段)項目內搜索,可自定義外部工具;吸收融匯多種工具功能與特點,打造一站 式逆向工具操作體驗,大大簡化了用戶在安卓應用/游戲修改過程中的各類繁瑣工作。
主要功能:

1、可視化、全自動的反編譯、編譯、簽名;支持批量編譯APK。

2、以樹形目錄管理反編譯出的Apk源碼文件,瀏覽、打開、編輯、都可以統一在軟體中實現,不同項目間可以自由切換,方便快捷。

3、自動識別圖像資源,並提供該類資源的快捷替換功能,方便修改這類圖片資源。

4、內置代碼編輯器,支持包含(但不限於).samli、.xml、.html等各類格式文件的語法高亮顯示,根據 smali文件格式的自動匹配相應語法;同時支持使用系統編輯器來編輯代碼文件。

5、內置基於文件內容的單行或多行代碼關鍵字搜索、可顯示無窮多個搜索結果以標簽的形式分門別類;可指定搜索范圍(整個項目或在指定的文件或文件夾中搜索)、大小寫,編碼類型;從此無需再藉助其他工具,即可輕松的完成搜索任務。

6、內嵌Unicode、UTF8、ANSI編碼互轉工具,方便硬編碼文字的檢索以及相關漢化類修改。

7、內置Log等調試工具,方便應用進程、logcat輸出查看等進階操作,監測修改apk的運行狀況,以助於分析和查找錯誤

8、內置ADB功能,包括使用ADB向設備(或模擬器)安裝、卸載、運行修改後的apk,進行測試,並可管理所連接設備的存儲文件(包括系統以及用戶文件)

9、所有操作步驟、結果都會顯示在日誌窗口,方便查看。

10、默認支持記事本、計算器等小工具,開放設置介面可根據本人需要自定義外部工具,滿足個性化需求。

先放兩張界面圖:

注意:如果軟體首次運行時提示未找到java SDK,說明未安裝JAVA SDK或者未將JAVA SDK設置到WINDOWS系統環境變數中,請自己手動配置。

另外說明:xml, smali, html, jar 等相關文件格式可以直接拖到窗口界面上打開,將裝有圖片的文件夾拖拽到窗口界面上,可預覽圖片中的相關格式。

Android killer 正式版 V1.0.0.102更新

本次正式版更新不得不說是給新手一次福利:

本次更新總概覽:
1. 增加代碼描述提示功能(適合新手)
2. 代碼自動補全功能(適合新手)
3. 在項目工程中優化並顯示apk圖標。
4. 優化類以及方法圖標。
5. 編譯生成文件名稱變化,以及快速打開編譯項目所在位置。
6. 增加代碼模板插入功能
7. 優化右鍵菜單,更簡潔方便
8. 優化logcat日誌顯示,查看更方便。
9. 添加16進制/10進制轉換功能

一、 增加代碼描述提示(適合新手)

將滑鼠游標定位在代碼上,會提示當前代表所表示的含義,再也不要一次次的查表看代碼了,

二、 代碼自動補全功能(適合新手)

代碼自動補全功能,在輸入法在英文狀態下。使用shift+空格鍵即使用,只需輸入第一個或者前幾個字母即可提示代碼自動補全。

三、 在項目工程中優化並顯示apk圖標

項目中顯示ap圖標可以讓你在眾多項目中找到某個項目

對於首次反編譯APK未及時更新工程選項卡圖標的原因,是因為正常APK在反編譯後才會得到其中的資源,所以在首次反編譯時,使用工具默認的安卓小圖標代替,反編譯成功後,可在「開始」列表中右鍵刷新列表,更新下工程圖標緩存即可。

四、 優化類以及方法圖標

圖標採用eclispe中圖標顯示

五、 編譯生成文件名稱變化,以及快速打開編譯項目所在位置

快速找到編譯後的文件

方法一:
點選 "工程管理器" 中 Android 小圖標按鈕或點擊下面路徑進行查看

方法二:直接點擊下面的藍色字體即可

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

首先,了解一下我們為什麼需要反編譯apk
大部分情況下,是由於想本地化一款優秀的應用,才需要做這事兒;又或者進行少量的smali修改以達到想要的效果(如添加歸屬地,使3G版Nexus 7支持Wi-Fi熱點)。

下面我們先准備運行環境和工具
建立工作目錄,如.\workspace\apktoolbox (下面同樣以此路徑為例)
必不可少的JDK:Oracle Java下載,安裝完成後把<jdk-inst-path>\bin添加到$PATH環境變數中
反編譯和重編譯工具apktool:Google Code下載,按平台下載(一個apktool-install-<platform>-<ver>-tar.bz2,一個apktool<ver>.tar.bz2,下載完成後解壓至.\workspace\apktoolbox\bin
密鑰文件,共4組。test/shared/media/platform,從android source中獲取,分別對應不同共享用戶ID時簽名所需(查看應用AndroidManifest.xml第二行android:sharedUserId項 ),放到.\workspace\apktoolbox\bin下
test - 無android:sharedUserId項
shared - android:sharedUserId=android.uid.shared
media - android:sharedUserId=android.uid.media
platform - android:sharedUserId=android.uid.system
簽名工具signapk.jar,放到.\workspace\apktoolbox\bin下
對齊優化工具zipalign(從android sdk中獲取,在tools目錄下),放到.\workspace\apktoolbox\bin下
准備工作完成

接下來我們就要開始工作了(以本地化工作為例)
把待反編譯的apk放到.\workspace\apktoolbox\apks下
命令行模式下進入.\workspace\apktoolbox\bin目錄,輸入以下命令進行解包(反編譯)
apktool d ..\apks\<apkfile>.apk ..\apks\<outdir>
.\workspace\apktoolbox\apks\<outdir>\res下的values目錄(英文原版)和values-r<locale>目錄(本地化)就是我們需要的對象。
本地化工作完成後,在命令行中輸入以下命令進行重新打包(重新編譯)
apktool b ..\apks\<outdir>

.\workspace\apktoolbox\apks\<outdir>\dist目錄下會生成重新打包後的apk(未簽名,未對齊優化)
重新打包完成後,在命令行中輸入以下命令進行簽名(根據實際情況選用密鑰,這里以test密鑰為例)
java -jar signapk.jar testkey.x509.pem testkey.pk8 ..\apks\<outdir>\dist\<apkfile>.apk ..\apks\<apkfile>_signed.apk

簽名完成後,在命令行中輸入以下命令進行對齊優化
zipalign -f -v 4 ..\apks\<apkfile>_signed.apk ..\apks\<apkfile>_zipaligned.apk

<apkfile>_zipaligned.apk就是我們最終需要的apk了。
完成
部分apk需要系統框架資源,沒有的話在重新打包時會報錯,這種情況下我們只需要先安裝一下對應系統框架即可(從你目標ROM中把/system/framework/framework-res.apk提取出,放到.\workspace\apktoolbox\apks下)。在命令行中輸入以下命令進行安裝
apktool if ..\apks\framework-res.apk

C. anzhuo應用程序怎麼反編譯

讓我們先來認識下APK文件. Android的應用程序包為擴展名為.apk文件, 無論你是從手機市場里下載, 還是電腦中下載. 都是這類APK文件. APK是AndroidPackage的縮寫,即Android安裝包(apk)。APK是類似Symbian Sis或Sisx的文件格式。通過將APK文件直接傳到Android模擬器或Android手機中執行即可安裝。apk文件和sis一樣,把android sdk編譯的工程打包成一個安裝程序文件,格式為apk。 APK文件其實是zip格式,但後綴名被修改為apk,通過UnZip解壓後,可以看到Dex文件,Dex是Dalvik VM executes的全稱,即Android Dalvik執行程序,並非Java ME的位元組碼而是Dalvik位元組碼。Android在運行一個程序時首先需要UnZip,然後類似Symbian那樣直接,和Windows Mobile中的PE文件有區別.


android


一個APK文件解壓開通常有這樣的文件夾:


META-INF 目錄:

MANIFEST.MF: manifest文件

CERT.RSA: 應用程序證書

CERT.SF: SHA-1資源簽名列表. 例如:

Signature-Version: 1.0

Created-By: 1.0 (Android)

SHA1-Digest-Manifest: wxqnEAI0UA5nO5QJ8CGMwjkGGWE=

...

Name: res/layout/exchange_component_back_bottom.xml

SHA1-Digest: eACjMjESj7Zkf0cBFTZ0nqWrt7w=

...

Name: res/drawable-hdpi/icon.png

SHA1-Digest: DGEqylP8W0n0iV/ZzBx3MW0WGCA=


lib: 這個目錄包含某些特定編譯代碼, 這個文件夾分成下面這些

armeabi: 只基於所有ARM處理器的編譯代碼.

armeabi-v7a: 所有ARMv7處理器的編譯代碼

x86: 僅針對x86處理器的編譯代碼

mips: 為MIPS處理器的編譯代碼

res: 包含資源的目錄不編譯到資源文件,看下面:

assets: 包含應用程序的資產,可以通過AssetManager進行檢索.

AndroidManifest.xml: 包含應用程序的元數據文件,描述名稱、版本、訪問許可權、引用應用程序的庫文件。此文件在Android二進制格式, 可被工具轉化為可讀的純文本XML工具,如 AXMLPrinter2,apktool,或Androguard。設置,可以通過AssetManager進行檢索

classes.dex: Dalvik位元組碼

resources.arsc : 一個包含預編譯資源文件,如二進制的XML.

有兩種方法反編譯APK, 如果是為了漢化程序, 可以使用apktool:


安裝過程

1.下載apktool1.5.2.tar.bz2和apktool-install-windows-r05-brut1.tar.bz2

2.把兩個文件都解壓放在同一個目錄,共三個文件

aapt.exe

apktool.bat

apktool.jar用於解包,apktool.jar和aapt.exe聯合用於打包。


在命令行執行:


apktool d d:xxx.apk d:xxx


xxx 為你的輸出目錄, 然後你就可以看一些xml的資源文件, 以及Smali文件. 如下圖某APK文件反編譯輸出目錄:

由此可見,Android應用程序反編譯並不難, 加密與解密的斗爭一直會持續.

D. 瀹夊崜apk鍙嶇紪璇戝伐鍏峰畨鍗揳pk鍙嶇紪璇

apktool5.0奼夊寲鐗堬紵

Apktool5.0奼夊寲鐗堟槸涓嬈懼畨鍗撶Щ鍔ㄥ鉤鍙頒笂鐨勫弽緙栬瘧宸ュ叿杞浠訛紝!Apktool鐜板凡瀹岀編鍏煎笰ndroid5.0L錛屼嬌鐢ㄥ畠鍙浠ヤ慨鏀硅蔣浠跺簲鐢ㄥ悕縐幫紝緇欒蔣浠跺簲鐢ㄥ幓騫垮憡銆佺牬瑙c佺懼悕銆乑IP浼樺寲絳夛紝鏀鎸乯ava緙栬瘧鍣錛屽彲鍦ㄦ墜鏈轟笂瀹屾垚綆鍗曠殑.java鏂囦歡緙栬瘧鍙婅繍琛岋紝鎵嬫満鍏氬java鐨勫埄鍣!浣滆呬粠鍙戝竷浠ユ潵涓鐩村緢浣庤皟錛岄潪甯稿己鎮嶇殑鎵嬫満絝鍙嶇紪璇戝伐鍏楓

鍙嶇紪璇慳pk鎶io寮傚父鏄鎬庝箞鍥炰簨錛

榪欎釜apktool鏈韜灝變笉鏀鎸佷竴浜沘pk鐨勫弽緙栬瘧錛屽洜涓哄弽緙栬瘧涓嶅彧鏄鏇挎崲瀛楃﹂偅涔堢畝鍗曠殑錛屽畠閲岄潰寰堝氬湴鏂逛細鐢ㄥ埌鎹曟崏閿欒錛屽洜涓哄紑鍙戣呯殑綺懼姏鏈夐檺錛屽緢澶氶敊璇閮芥槸琚涓鍒鍒囷紝瑙嗕負鏃犳硶榪愯岃ユラわ紝鐒跺悗鎶婇棶棰樹涪緇欑敤鎴楓

鐭ラ亾apk鐨勫悕縐板備綍鍘誨繪壘錛

1.杈撳叆鍛戒護錛歛dbshellammonitor銆

鐒跺悗鍚鍔ㄩ渶瑕佽幏鍙栧寘鍚嶇殑搴旂敤銆

2.鏌ョ湅鑷宸卞畨瑁呯殑app鍖呭悕銆

3.瀹夊崜緋葷粺涓錛氳劇疆鈥斺斿簲鐢ㄢ斺旀e湪榪愯屾煡鐪嬨

4.瀹夊崜緋葷粺涓錛氭枃浠剁$悊鍣ㄨ塊棶鐩褰/data/data涓嬶紝鏂囦歡澶瑰嵆涓哄寘鍚嶃

5.灝哸pk鍖呭弽緙栬瘧鍚庯紝鎵撳紑AndroidManifest.xml錛屾悳緔package鑾峰彇鍖呭悕銆

apk鏂囦歡鎬庝箞鍐欙紵

APK鏄疉ndroidPackage鐨勭緝鍐欙紝鍗矨ndroidapplicationpackage鏂囦歡鎴朅ndroid瀹夎呭寘銆傚彲浠ョ敤apktool錛宎pkmanager絳塧pk鍙嶇紪璇戝埄鍣ㄨ繘琛岀紪鍐

E. 如何反編譯Android 的apk/dex/odex,獲得源碼

關於APK,DEX的介紹

當我們編譯一個安卓項目的時候,整個項目會被打包成一個 .apk文件。這個文件其實是一個標準的zip文件,因此可以用解壓縮工具打開。這個apk文件一般都包含程序的代碼(在classes.dex文件中), 資源文件, 證書, manifest 文件等。 其中對我們最重要的是classes.dex文件,因為編譯後的位元組碼(bytecode)都是放在這個文件中。我們後面講的反編譯就是針對這個dex文件來的。

反編譯普通的APK文件:

對於普通的APK/DEX文件的反編譯,其實工具有很多, 包括:

閱讀全文

與反編譯系統應用安卓90相關的資料

熱點內容
電腦一鍵解壓縮的軟體 瀏覽:169
怎麼關閉手機通訊錄對外app 瀏覽:370
我的世界如何強行進入一個滿人的伺服器 瀏覽:653
什麼app可以查詢會考成績 瀏覽:389
程序員能創造的價值 瀏覽:259
伺服器上的redis是什麼意思 瀏覽:379
軟體產品經理與程序員 瀏覽:922
高中生程序員 瀏覽:892
ps處理pdf 瀏覽:723
伺服器c1什麼意思 瀏覽:222
哈爾濱手機什麼app拍違章有獎勵 瀏覽:478
盜賊用什麼app最好 瀏覽:902
51單片機如何測量電導率 瀏覽:500
移動花卡怎麼使用app流量 瀏覽:555
個稅演算法2021表格公式解讀 瀏覽:174
怎麼進入電腦板2b2t伺服器 瀏覽:284
idea編譯進度條 瀏覽:134
文件夾工具箱軟體 瀏覽:688
最近為什麼手機連不上索尼伺服器 瀏覽:877
海康錄像機怎麼關視頻加密 瀏覽:788