国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 系統 > Android > 正文

android apk反編譯到java源碼的實現方法

2020-04-11 12:39:14
字體:
來源:轉載
供稿:網友

Android由于其代碼是放在dalvik虛擬機上的托管代碼,所以能夠很容易的將其反編譯為我們可以識別的代碼。

之前我寫過一篇文章反編譯Android的apk包到smali文件 然后再重新編譯簽名后打包實現篡改apk的功能。

最近又有一種新的方法來實現直接從Android apk包里的classes.dex文件,把dex碼反編譯到java的.class二進制碼,然后從.class二進制碼反編譯到java源碼想必就不用我來多說了吧。

首先我們需要的工具是dex2jar和jd-gui

其中第一個工具dex2jar是用來把classex.dex文件也就是dex二進制碼轉化為java的標準.class二進制碼,然后jd-gui是把標準的.class二進制碼再反編譯為java源碼。

首先從apk包里面提取出classes.dex

放到dex2jar目錄下

然后在命令行下執行

dex2jar.bat classes.dex


這時執行成功后會生成一個classes.dex.dex2jar.jar文件

這個文件再用jd-gui打開,如下圖


幾乎跟我自己寫的這個程序的源碼一樣

提供這個反編譯方法主要用于大家學習與研究,有問題可以與我郵件討論。

希望大家不要用這個方法從事惡意的活動,畢竟,別人辛辛苦苦寫程序也不容易,用這個方法可以大致的學習到別人寫的程序的邏輯,架構,希望對大家有所幫助。

Android 逆向apk程序的心得

本文主要介紹如何逆向一個Android的APK應用程序,本文提供的方法僅供研究學習之用。

本文需要用到的工具有

jdk 這個用于搭建java運行環境

AXMLPrinter2.jar  這個用于逆向.xml文件

baksmali.jar 這個用于逆向classex.dex文件

由于Android的.apk文件實際上就是一個zip文件 可以直接用winrar打開

如下圖所示:


用rar打開之后 我們可以看到該文件實際上是一個zip包 里面包含了META-INF文件夾,這個文件夾是用于保存簽名文件,確保包的完整性的

res文件夾下就是apk所要用的資源文件,都是原封不動地保存,我們可以直接提取出來,做漢化時就可以直接閱讀string文件然后進行修改

AndroidManifest.xml文件則是編譯過后的一個配置文件,用于聲明程序中所包含的activity,service以及程序所具有的能力,也就是權限。resources.arsc則是編譯過后的一個資源說明文件,而我們要關注的主要是classes.dex 。我們編寫的Android程序,在源程序里的所有.java的文件,最終都編譯到這樣1個.dex文件當中,在Android手機上的dalvik虛擬機上執行。

首先,我們介紹如何逆向一個.xml文件

由于apk包里的xml文件我們直接用記事本打開還是有一些亂碼

所以需要我們還原才能更好的看出

這里需要用到AXMLPrinter2.jar 工具

具體的則是打開命令行 我們以AndroidManifest.xml為例,輸入如下命令

java -jar AXMLPrinter2.jar AndroidManifest.xml > AndroidManifest.txt

有興趣的也可以寫成一個.bat的腳本,方便執行

我們可以看看 執行的結果

執行前的AndroidManifest.xml文件


執行之后 我們可以再看看

復制代碼 代碼如下:
<?xml version="1.0" encoding="utf-8"?>
<manifest
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:versionCode="322"
 android:versionName="ver 3.2.2"
 package="com.eoeandroid.wallpapers.christmas"
 >
 <application
  android:label="@7F040000"
  android:icon="@7F020004"
  >
  <activity
   android:label="@7F040001"
   android:name=".Main"
   >
   <intent-filter
    >
    <action
     android:name="android.intent.action.MAIN"
     >
    </action>
    <category
     android:name="android.intent.category.LAUNCHER"
     >
    </category>
   </intent-filter>
  </activity>
  <service
   android:name=".service.SyncDeviceInfosService"
   >
  </service>
  <meta-data
   android:name="com.mobclix.APPLICATION_ID"
   android:value="30c0e2bb-a878-43cb-830b-a39fcae33b0c"
   >
  </meta-data>
 </application>
 <uses-sdk
  android:minSdkVersion="3"
  >
 </uses-sdk>
 <uses-permission
  android:name="android.permission.INTERNET"
  >
 </uses-permission>
 <uses-permission
  android:name="android.permission.SET_WALLPAPER"
  >
 </uses-permission>
 <uses-permission
  android:name="android.permission.WRITE_EXTERNAL_STORAGE"
  >
 </uses-permission>
 <uses-permission
  android:name="android.permission.ACCESS_NETWORK_STATE"
  >
 </uses-permission>
 <uses-permission
  android:name="android.permission.READ_PHONE_STATE"
  >
 </uses-permission>
 <uses-permission
  android:name="android.permission.ACCESS_NETWORK_STATE"
  >
 </uses-permission>
</manifest>

基本能還原的跟源程序大致相同

這里我是拿的eoe出的一個墻紙程序為例

接下來,大家肯定更加關心classes.dex的逆向

這個其實跟之前那個也很相似

采用baksmali.jar這個工具,國外一個對Android研究的很深入的大牛做的

執行代碼

java -jar baksmali.jar -o classout/ classes.dex

講classes.dex能逆向成一個文件夾

這里我可以截個圖給大家看看


點開其中一個文件 我們繼續來看


大家是不是覺得這個代碼很親切,對從這個代碼我們基本能大致推斷出源程序的一些結構流程從中借鑒,本文僅供研究學習之用,歡迎與我討論交流

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
最近中文字幕mv免费高清视频8| 免费在线播放av| 亚洲精品少妇久久久久久| 国产亚洲依依| 中文字幕国产视频| 国产麻豆免费| 国产视频二区三区| 99热国产在线| 国产中文在线视频| 国产情侣高潮对白| 中文av字幕| 日本h视频在线观看| 成视频年人免费看黄网站| 中文字幕不卡免费视频| 狂野欧美性猛交xxxx乱大交| 青青草视频免费在线观看| 高清av在线| 伊人222成人综合网| 欧美日韩**字幕一区| 国产男女无套在线播放| 在线免费观看黄色片| 欧美卡一卡二| 精品视频麻豆入口| 最近久乱中文字幕| 毛片网站在线观看| 在线观看的网站你懂的| 中文字幕不卡免费视频| 欧美国产中文| 在线观看免费高清完整| 国产三级在线播放| 黄色国产网站在线播放| av在线1区2区| 在线中文字幕视频观看| 国产视频xxxx| 国产亚洲精品久久久久久移动网络| 羞羞视频在线免费看| 国产精品伦一区二区三区视频| 国产高清视频在线播放| 综合激情亚洲| 黄色毛片在线看| 在线观看的网站你懂的| 国产精品剧情一区二区在线观看| 国产尤物视频在线| 免费黄网站在线观看| 999国产在线视频| 导航福利在线| 国产中文在线| 国产在线精品一区二区不卡| 国产在线观看a| 免费的黄网站在线观看| 狠狠操视频网站| 日本中文字幕在线观看| 中文字幕av中文字幕| 国产三级在线播放| 91涩漫在线观看c| 在线国产三级| 国产美女av在线| 国产成人久久精品77777| 激情亚洲综合网| 国产精品一区二三区| a视频在线观看| www.国产精| 超碰免费在线| 最近免费中文字幕大全免费第三页| 久久99精品久久久久久野外| 久久亚洲天堂| 国产精美视频| 操人视频91| 国产精品9区| 欧美精品小视频| 国产午夜电影| 先锋av资源网| 丁香婷婷在线观看| 国产95在线|亚洲| 久艹在线视频| 在线视频观看国产| 国产美女福利在线观看| 99综合精品久久| 国产精品一区二区三区四区色| 国产黄在线播放| 国产资源在线看| 一本大道久久精品| 国产精品日日爱| wwwww在线观看免费视频| 午夜av电影| 青青草视频在线观看| 国产精品国产国产aⅴ| 欧美视频免费一区二区三区| 国产精品久久久久久久牛牛| 久热国产视频| 在线免费看黄| 最近中文字幕mv免费高清在线| 亚洲综合在线网| 国产经典av| 国产亚洲精品拍拍拍拍拍| 开心激情五月婷婷| 夜夜爽视频导航| 中文在线视频| 69日小视频在线观看| 国产一区电影| 国产精品一区二区资源| 久久er视频| 免费在线超碰| 黄色av免费看| 国产美女高潮| 高清欧美精品xxxxx在线看| 人人九九精品| 快射av在线播放一区| а√天堂www在线а√天堂视频| 国产福利在线播放| 国产一区二区影视| 国产一级黄色电影| 国产人成网在线播放va免费| 国产无遮挡又黄又爽免费网站| 国产偷激情在线| 国产第一页在线视频| 96久久久久久| a视频在线观看免费| 国产在线看片| 国产九九九九| 91免费日韩| 国产黄a三级三级三级av在线看 | av网址在线看| 俺来俺也去www色在线观看| 欧美色第一页| 国产视频xxx| 亚洲欧美日韩成人网| 狠狠狠综合7777久夜色撩人| 国产精品入口麻豆免费| 日本调教视频在线观看| 五月天天在线| 四虎网站在线观看| 最近中文字幕mv2018在线高清| 精品国产美女福利到在线不卡| av高清在线| 天堂在线中文资源| 四虎网站在线观看| 国产欧美在线观看视频| 亚洲综合色视频在线观看 | 91桃色在线| 黄色毛片在线| 亚洲成人福利| 国产成a人亚洲精v品| 免费看av大片| 精品欧美不卡一区二区在线观看| 超碰免费在线观看| 中文字幕在线第一页| 欧美日韩在线精品成人综合网| 2021天堂中文幕一二区在线观| 国内a∨免费播放| av在线不卡播放| 伊人影院在线观看| 国产经典av| 国产一级片在线| 国产麻豆免费| 成人免费一区二区三区牛牛| 欧美性猛交xxxxbbbb| 午夜在线视频播放| 亚洲欧美精品日韩欧美| 精品176二区| 国产成a人亚洲精v品| 国产黄色在线观看| 国产视频福利在线| 国产精品爱久久久久久久小说| 最新亚洲精品国自产在线观看| 青青久在线视频免费观看| 在线中文资源天堂| 在线国产福利网站| 亚洲videos| www.操操| 国产在线观看18| √天堂中文在线| 国产黄色小视频| 9999在线视频| av在线不卡免费| 蜜桃av在线免费观看| 九九热在线观看视频| 最近久乱中文字幕| 2019中文字幕在线电影免费| 999福利在线视频| 一级二级三级在线观看| 日本电影在线观看| 日本中文字幕在线看| √天堂资源中文www| 日本天堂影院在线视频| 国产美女在线播放| 精品无人乱码| 国产字幕在线看| 国产黄在线观看| jizz亚洲大全| 午夜av在线播放| 国产porny蝌蚪视频| 日本亚洲欧美| 国产色在线观看| 日本不卡1区2区3区| 国产视频二区在线观看| 不卡av免费观看| 91激情在线| √天堂资源地址在线官网| 亚洲成人av高清|