a级 久久,99里面有精品,亚洲av一级免费在线观看,成人免费中文字幕

Android APK反編譯圖文教程

APK反編譯圖文教程作用:將apk反編譯成java源碼(.反編譯流程:一、apk反編譯得到程序的源代碼、圖片、XML配置、語言資源等文件如果你想將反編譯完的文件重新打包成apk,那你可以:輸入.二、Apk反編譯得到Java源代碼圖形化反編譯apk(本人未使用過)首先,下載上述反編譯工具包,打開目錄,雙擊反編譯工具.exe,就可以瀏覽打開要反編譯的apk...

APK反編譯圖文教程

更新時(shí)間:2016-04-15 11:21:57 作者:vipra

學(xué)會(huì)反編譯比較關(guān)鍵,也是我們美化必須掌握的技術(shù)。學(xué)習(xí)反編譯也是制作ROM的開始。ROM 主機(jī)必須是反編譯器。全能,給你基礎(chǔ)和靈感,最重要的是我們可以獨(dú)立創(chuàng)新和思考

在學(xué)習(xí)開發(fā)的過程中,你會(huì)經(jīng)常學(xué)習(xí)別人的應(yīng)用是如何開發(fā)的。那些精美的動(dòng)畫和精致的布局可能會(huì)讓你愛上它們。作為一個(gè)開發(fā)者,你可能很想知道這些效果接口是怎樣的。要實(shí)現(xiàn),此時(shí)可以反編譯查看修改后應(yīng)用的APK。以下是我參考一些文章后的簡(jiǎn)單教程詳細(xì)解釋。

(注:反編譯并不是為開發(fā)者破解和重裝應(yīng)用程序,主要目的是促進(jìn)開發(fā)者學(xué)習(xí),向好的代碼學(xué)習(xí),提高自身開發(fā)水平。)

測(cè)試環(huán)境:

贏 7

使用工具:

腳本之家下載地址:

(資源文件獲?。┫螺d

(源碼文件獲取)下載

ubuntu卸載編譯安裝的軟件_編譯軟件下載_c語言編譯軟件win7

jd-gui(源代碼視圖)下載

最新正式版下載地址:

(代碼)

(代碼)

最新版本的jd-gui(代碼)請(qǐng)看官方

工具介紹:

功能:資源文件獲取,可以提取圖像文件和布局文件供使用和查看

功能:將apk反編譯成java源碼(.dex成jar文件)

jd-gui

功能:查看APK中.dex轉(zhuǎn)換后的jar文件,即源文件

反編譯過程:

一、apk反編譯得到程序的源代碼、圖片、XML配置、語言資源等文件

下載在上面的工具中,解壓得到3個(gè)文件:aapt.exe、.bat、.jar,把需要反編譯的APK文件放到這個(gè)目錄下,

打開命令行界面(運(yùn)行 -CMD),導(dǎo)航到文件夾,然后輸入以下命令:.bat d -f test.apk test

(命令中的test.apk是指要反編譯的APK文件全名,test是存放反編譯資源文件的目錄名,即:.bat d -f [apk file] [輸出文件夾])

表示采集成功。后來發(fā)現(xiàn)文件夾里有一個(gè)測(cè)試文件。點(diǎn)擊查看應(yīng)用的所有資源文件。

如果要將反編譯后的文件重新打包成apk,那么可以:輸入.bat b test(你編譯的文件夾),效果如下:

之后,可以在之前的測(cè)試文件下再找到兩個(gè)文件夾:

建造

dist(存儲(chǔ)打包的 APK 文件)

二、Apk反編譯得到Java源碼

上述工具中的下載和jd-gui,解壓

將要反編譯的APK后綴名改為.rar或.zip,解壓得到.dex文件(就是編譯好的java文件,然后用dx工具打包),把得到的.dex放到之前解壓的工具——0.0.9.15文件夾,

在命令行導(dǎo)航到.bat所在目錄,輸入..dex,效果如下:

改目錄下會(huì)生成一個(gè).jar文件,然后打開工具jd-gui文件夾下的jd-gui.exe,然后用工具打開之前生成的.jar文件,就可以看到源碼了編譯軟件下載,效果如下:

混淆效果圖(類文件名和其中的方法名會(huì)以a、b、c....等命名):

三、 圖形反編譯apk(我沒用過)

以上步驟一、2描述了apk的命令行反編譯,現(xiàn)提供圖形化反編譯工具:

一、下載上面的反編譯工具包,打開目錄,雙擊反編譯工具.exe,可以瀏覽打開要反編譯的apk

通過反編譯,您可以了解應(yīng)用程序使用了哪些第三方庫文件、其代碼是如何編寫的等等。

但是如果apk被混淆了,你看到的class文件名和里面的方法名會(huì)以a,b,c....風(fēng)格命名,所以你可以找到你想知道的接口代碼可能會(huì)很費(fèi)力,而且查找代碼可能看起來很費(fèi)力,但會(huì)獲得一個(gè)大致的概念。有了這個(gè)想法,你可以自己嘗試一下。

曾經(jīng)想寫一個(gè)類似的名人界面布局編譯軟件下載,但是剛接觸的時(shí)候不知道怎么寫,所以反編譯了。即使他的代碼被混淆了,我可以看到他通過 TYPE 設(shè)置不同的 ITEM 布局是實(shí)現(xiàn)的。很多參考資料可能會(huì)用重寫VIEW來達(dá)到效果,你可以大致了解他的開發(fā)對(duì)你的開發(fā)是無害的。

還有一個(gè)開發(fā)者辛辛苦苦開發(fā)自己的應(yīng)用,被別人反編譯,變成了自己的東西,所以需要混淆。

作為一個(gè)應(yīng)用開發(fā)者,你不得不面對(duì)一個(gè)尷尬的局面,那就是你辛辛苦苦開發(fā)的應(yīng)用,很容易被別人反編譯。

好像也發(fā)現(xiàn)了這個(gè)問題。從SDK2.3開始??,我們可以看到-sdk-\tools\下多了一個(gè)文件夾

它是一個(gè)java代碼混淆工具。即使別人反編譯你的apk包,也只會(huì)看到一些難以理解的代碼,從而保護(hù)代碼。

下面說說如何讓SDK2.3下的.cfg文件生效。我們先看一下-sdk-\tools\lib\.cfg的內(nèi)容:

-optimizationpasses 5 
-dontusemixedcaseclassnames 
-dontskipnonpubliclibraryclasses 
-dontpreverify 
-verbose 
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/* 
 
-keep public class * extends android.app.Activity 
-keep public class * extends android.app.Application 
-keep public class * extends android.app.Service 
-keep public class * extends android.content.BroadcastReceiver 
-keep public class * extends android.content.ContentProvider 
-keep public class * extends android.app.backup.BackupAgentHelper 
-keep public class * extends android.preference.Preference 
-keep public class com.android.vending.licensing.ILicensingService 
 
-keepclasseswithmembernames class * { 
  native ; 
} 
 
-keepclasseswithmembernames class * { 
  public (android.content.Context, android.util.AttributeSet); 
} 
 
-keepclasseswithmembernames class * { 
  public (android.content.Context, android.util.AttributeSet, int); 
} 
 
-keepclassmembers enum * { 
  public static **[] values(); 
  public static ** valueOf(java.lang.String); 
} 
 
-keep class * implements android.os.Parcelable { 
 public static final android.os.Parcelable$Creator *; 
} 

從腳本中可以看出,繼承自 , , , , 和 com.... 的基本組件都保留在混淆中。

并且保留了所有的變量名和類名,所有的類都是具有固定參數(shù)格式、枚舉等的構(gòu)造函數(shù)的一部分。(詳情請(qǐng)參考

/ 中的示例和注釋。)

使.cfg 工作的方法很簡(jiǎn)單,只需在自動(dòng)生成的.file 中添加一句“.=.cfg”。

完整的 .file 應(yīng)如下所示:

# This file is automatically generated by Android Tools. 
# Do not modify this file -- YOUR CHANGES WILL BE ERASED! 
# 
# This file must be checked in Version Control Systems. 
# 
# To customize properties used by the Ant build system use, 
# "build.properties", and override values to adapt the script to your 
# project structure. 
 
# Project target. 
target=android-9 
proguard.config=proguard.cfg 

大功告成,正常的編譯簽名可以防止代碼被反編譯。

發(fā)表評(píng)論

熟妇一区二区| 日本精品αv中文字幕久久| 女同精品久久国产字幕| 每日更新国产AV网址| 亚洲AV无码专区播放| 青青国产区| 伦人伦XXX国产对白| 丰满人妻av一区二区三区| 91成人免费视频| а天堂中文最新一区二区三区| 日韩精品视频在线| 久久综合欧美一区| A∨在线观看| 国产网友自拍| 超碰桃色| 亚洲七区一区三| 一本久久A精品一区二区 | 国产美女热逼| 双飞两女视频一区二区| 亚洲 欧美 日韩综合| 亚洲一区二区三区app| Av真人在线无码| 久久天天躁狠狠躁夜夜2020一| 新激情婷婷五月天| 成人高清AV一区| 高清国产午夜精品久久久久久| 精品国产91久久久久久老师| 欧美国产亚洲日韩在线| 狠狠操一区二区三区| 97超碰中文字幕久久精品| 又黄又爽又无遮挡的激情视频欧美| 蜜桃视频.cc| 亚洲无日韩码精品第一页| 亚洲自慰在线观看| 成在人钱av无码免费高潮喷水| 激情免费无码| 爱欲av人人爽人人做| 免费无码影视| A国产三级| 婷婷丁香5月| 性爱麻豆|