<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 1.11 反編譯APK獲取代碼&資源 ## 本節引言 > "反編譯Apk",看上去好像好像很高端的樣子,其實不然,就是通過某些反編譯軟件,對我們的APK進行反編譯,從而獲取程序的源代碼,圖片,XML資源等文件;不知道你有沒有這樣做過,看到一個別人的一個APP界面做得很精美,或者你看上別人的圖片素材,簡單點的,我們可以下載別人的APK,然后改下后綴名,改成xxx.zip,然后解壓: 筆者隨便解壓了一個APK: ![](http://www.runoob.com/wp-content/uploads/2015/07/50927495.jpg) > 我們可以打開res目錄,獲取里面的圖片素材 ![](http://www.runoob.com/wp-content/uploads/2015/07/70379411.jpg) > 但是,這種方法,獲得的只會是一些.png,或者.jpg這樣的位圖文件資源,如果是xml類的資源,打開我們會發現是亂碼,并且假如我們想看APK程序的Java代碼,也是行不通的,因為他們都打被打包到classes.dex文件中! 但是反編譯可以解決你的需要~另外,切勿拿反編譯來做違法的事,比如把人家的APK重新打包后使用自己的簽名然后發布到相關市場...另外,我們是參考別人的代碼,而不是完全拷貝!!!切記!! ## 1.要準備的三個工具 > 1. **apktool:**獲取資源文件,提取圖片文件,布局文件,還有一些XML的資源文件 > 2. **dex2jar:**將APK反編譯成Java源碼(將classes.dex轉化為jar文件) > 3. **jd-gui:**查看2中轉換后的jar文件,即查看Java文件 為了方便各位讀者,這里將三個打包到一起放到云盤中,又需要的可以進行下載: [反編譯相關的三個工具.zip](http://pan.baidu.com/s/1c06Qrjq) ## 2.使用apktool反編譯APK獲得圖片與XML資源: > 把下載好的apktool解壓后,我們可以看到下述文件(忽略那兩個csdn,一個是反編譯的apk,一個是反編譯后文件): > > ![](http://www.runoob.com/wp-content/uploads/2015/07/45168853.jpg) 接下來,雙擊cmd.exe,來到命令行,鍵入: **apktool.bat d csdn.apk** 即可,Enter回車: > > ![](http://www.runoob.com/wp-content/uploads/2015/07/22945935.jpg) > > 然后就可以看到生成的csdn文件夾,里面就有我們想要資源 ![](http://www.runoob.com/wp-content/uploads/2015/07/61966420.jpg)![](http://www.runoob.com/wp-content/uploads/2015/07/13758702.jpg)![](http://www.runoob.com/wp-content/uploads/2015/07/12241119.jpg) 好的,就是XML資源到手了是吧!圖片素材也到手了! ## 3.使用dex2jar將classes.dex轉換成jar文件: > 把下載好的dex2jar文件夾解壓,apk解壓后中的classes.dex復制到dex2jar.bat所在的目錄下: > > ![](http://www.runoob.com/wp-content/uploads/2015/07/86604146.jpg) > > 打開cmd,來到這個目錄下:鍵入:**d2j-dex2jar.bat classes.dex** > > ![](http://www.runoob.com/wp-content/uploads/2015/07/46063652.jpg) > > 接著我們可以看到,生成了一個jar包: > > ![](http://www.runoob.com/wp-content/uploads/2015/07/45467744.jpg) 好的,轉換完成! ## 4.使用jd-gui查看jar包中的Java代碼: > 好的,打開jd-gui的文件夾 > > ![](http://www.runoob.com/wp-content/uploads/2015/07/96919556.jpg) > > 打開后,打開我們3中轉換后的jar包,我們可以看見里面的代碼: > > ![](http://www.runoob.com/wp-content/uploads/2015/07/28605151.jpg) csdn的客戶端竟然不混淆代碼...可能是本著開源的精神吧,給我們學習代碼吧!一般的話,apk發布都會 進行混淆,然后進行一些加密,或者使用第三方的加密平臺,用的比較多的"愛加密",有興趣的也自行百度查看更加詳細的介紹! ## 本節小結 > 好的,關于APK的反編譯就介紹到這里,相信你已經摩拳擦掌想要試試了,那就試試吧,最后提醒一句,別做壞事!尊重別人的勞動成果!另外,關于第一大章環境搭建相關以及一些常用開發技巧就到這里,下一節開始我們就來進行本系列教程的第二章——Android中的常用UI控件的學習了!因相關的基本控件較多,估計有幾十個,如果一直學控件可能沒什么意思,可能并行寫教程,每天學一個控件 + 一點其他的知識點這樣,筆者要構思構思,敬請期待~謝謝~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看