欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

apk更新java代碼 修改apk代碼

誰能告訴我,java和安卓的apk的關(guān)系?源代碼又是什么,安卓的應(yīng)用安裝包都是制作步驟是哪樣的?

APK是安卓應(yīng)用的后綴,是AndroidPackage的縮寫,即Android安裝包(apk)。APK是類似Symbian Sis或Sisx的文件格式。通過將APK文件直接傳到Android模擬器或Android手機(jī)中執(zhí)行即可安裝。apk文件和sis一樣,把a(bǔ)ndroid sdk編譯的工程打包成一個(gè)安裝程序文件,格式為apk。 APK文件其實(shí)是zip格式,但后綴名被修改為apk,通過UnZip解壓后,可以看到Dex文件,Dex是Dalvik VM executes的全稱,即Android Dalvik執(zhí)行程序,并非Java ME的字節(jié)碼而是Dalvik字節(jié)碼。

成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比古冶網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式古冶網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋古冶地區(qū)。費(fèi)用合理售后完善,10年實(shí)體公司更值得信賴。

Android下怎么將JAVA打包成apk

1.用aapt命令生成R.java文件

2.用aidl命令生成相應(yīng)java文件

3.用javac命令編譯java源文件生成class文件

4.用dx.bat將class文件轉(zhuǎn)換成classes.dex文件

5.用aapt命令生成資源包文件resources.ap_

6.用apkbuilder.bat打包資源和classes.dex文件,生成unsigned.apk

7.用jarsinger命令對(duì)apk認(rèn)證,生成signed.apk

為了便于理解和記憶,下面來用一張流程圖來說明以上的幾個(gè)過程:

jsapp的apk反編譯出來是java還是js

簡單來說,反編譯分析就是一種從源代碼層面上分析APP安全性的手段。我們通過審計(jì)源碼,來發(fā)現(xiàn)應(yīng)用程序可能存在的漏洞。

我們知道,APP的反編譯有兩種反編譯方式,dex2jar和apktool。

dex2jar反編譯出java源代碼, 易讀性比較高。

apktool反編譯出的是java匯編代碼,可以反編譯出來smali反匯編代碼、res資源文件、assets配置文件、lib庫文件、我們可以直接搜索smali文件和資源文件來查找鏈接等。

怎么把java源代碼轉(zhuǎn)換成安卓手機(jī)可用的apk文件????

安卓有安卓的一套開發(fā)規(guī)范,不是普通的java文件轉(zhuǎn)換成的apk文件。你可以從官網(wǎng)下載adt環(huán)境包,配置好adt以后,在adt環(huán)境下開發(fā)一個(gè)安卓的應(yīng)用。導(dǎo)出生成apk文件。安卓開發(fā),使用的java語言。但是和java不同。

如何實(shí)現(xiàn)APK的反編譯得到APK的源碼

最新的反編譯不用此方法, 有最新的一鍵自動(dòng)反編譯工具:

這段時(shí)間在學(xué)Android應(yīng)用開發(fā),在想既然是用Java開發(fā)的應(yīng)該很好反編譯從而得到源代碼吧,google了一下,確實(shí)很簡單,以下是我的實(shí)踐過程。

在此鄭重聲明,貼出來的目的不是為了去破解人家的軟件,完全是一種學(xué)習(xí)的態(tài)度,不過好像通過這種方式也可以去漢化一些外國軟件。

注:本Android反編譯教程,在Windows7-Ultimate-64bit操作系統(tǒng)上,測試通過!

下述所需的反編譯工具包 下載

一、反編譯Apk得到Java源代碼

首先要下載兩個(gè)工具:dex2jar和JD-GUI

前者dex2jar是將apk中的classes.dex轉(zhuǎn)化成Jar文件,而JD-GUI是一個(gè)反編譯工具,可以直接查看Jar包的源代碼。以下是下載地址:

dex2jar:

JD-GUI:

具體步驟:

首先將apk文件,將后綴改為zip,解壓,得到其中的classes.dex,它就是java文件編譯再通過dx工具打包而成的;

解壓下載的dex2jar,將classes.dex復(fù)制到dex2jar.bat所在目錄。在命令行下定位到dex2jar.bat所在目錄(在DOS命令下CD 目錄)

運(yùn)行

dex2jar.bat classes.dex

生成

classes.dex.dex2jar.jar

生成jar文件的截圖如下:

運(yùn)行JD-GUI(jd-gui.exe),打開上面生成的jar包,即可看到源代碼了

HelloAndroid源碼(編譯前的apk源碼對(duì)照)如下:

二、反編譯apk生成程序的源代碼和圖片、XML配置、語言資源等文件

如果是漢化軟件,這將特別有用。首先還是下載工具,這次用到的是apktool

下載地址:

下載:apktool1.4.1.tar.bz2 和 apktool-install-windows-r04-brut1.tar.bz2(兩個(gè)包都下載)

具體步驟:

將下載的兩個(gè)包解壓到同一個(gè)文件夾下,應(yīng)該會(huì)有三個(gè)文件:aapt.exe,apktool.bat,apktool.jar

在命令行下定位到apktool.bat文件夾,輸入以下命令:apktool d C:\*.apk C:\*文件夾,如下圖:

命令行解釋:apktool d [apk文件 ] [輸出文件夾]

反編譯的文件如下(AndroidManifest.xml為例):

特別注意:你要反編譯的文件一定要放在C盤的根目錄里(其實(shí)不用放在C盤根目錄也行)

例如:在D盤目錄D:\apktool1.4.1

cd /d D:\apktool1.4.1 //切換到D盤目錄,包含HelloAndroid.apk以及aapt.exe,apktool.bat,apktool.jar三個(gè)文件

apktool.bat d -f HelloAndroid.apk HelloAndroid // apktool反編譯命令,注意 d和

-f 的寫法

將反編譯完的文件重新打包成apk,很簡單,輸入apktool b c:\***文件夾(你編譯出來文件夾)即可,命令如下:這個(gè)主意你文件所在盤

打包apk后的文件在目錄C:\HelloAndroid下,生成了兩個(gè)文件夾:

build

dist

其中,打包生成的HelloAndroid.apk,在上面的dist文件夾下,Ok

最后,再介紹一款剛出來的反編譯工具 Androidfby ,它是一款對(duì)上述步驟進(jìn)行了封裝的圖形界面工具,下載地址

但是,針對(duì)部分簽名的apk,無法實(shí)現(xiàn)反編譯,但本博客方法則仍然可以反編譯成功!僅供參考使用

另外,作為應(yīng)用開發(fā)者,肯定不希望自己的代碼被反編譯的,下一遍博客將講述如何通過混淆代碼防止被別人反編譯

Android如何防止apk程序被反編譯

作為Android應(yīng)用開發(fā)者,不得不面對(duì)一個(gè)尷尬的局面,就是自己辛辛苦苦開發(fā)的應(yīng)用可以被別人很輕易的就反編譯出來。

Google似乎也發(fā)現(xiàn)了這個(gè)問題,從SDK2.3開始我們可以看到在android-sdk-windows\tools\下面多了一個(gè)proguard文件夾

proguard是一個(gè)java代碼混淆的工具,通過proguard,別人即使反編譯你的apk包,也只會(huì)看到一些讓人很難看懂的代碼,從而達(dá)到保護(hù)代碼的作用。

下面具體說一說怎么樣讓SDK2.3下的proguard.cfg文件起作用,先來看看android-sdk-windows\tools\lib\proguard.cfg的內(nèi)容:

[html] view

plaincopyprint?

1. -optimizationpasses 5

2. -dontusemixedcaseclassnames

3. -dontskipnonpubliclibraryclasses

4. -dontpreverify

5. -verbose

6. -optimizations !code/simplification/arithmetic,!field/*,!class/merging/*

7.

8. -keep public class * extends android.app.Activity

9. -keep public class * extends android.app.Application

10. -keep public class * extends android.app.Service

11. -keep public class * extends android.content.BroadcastReceiver

12. -keep public class * extends android.content.ContentProvider

13. -keep public class * extends android.app.backup.BackupAgentHelper

14. -keep public class * extends android.preference.Preference

15. -keep public class com.android.vending.licensing.ILicensingService

16.

17. -keepclasseswithmembernames class * {

18. native methods;

19. }

20.

21. -keepclasseswithmembernames class * {

22. public init(android.content.Context, android.util.AttributeSet);

23. }

24.

25. -keepclasseswithmembernames class * {

26. public init(android.content.Context, android.util.AttributeSet, int);

27. }

28.

29. -keepclassmembers enum * {

30. public static **[] values();

31. public static ** valueOf(java.lang.String);

32. }

33.

34. -keep class * implements android.os.Parcelable {

35. public static final android.os.Parcelable$Creator *;

36. }

從腳本中可以看到,混淆中保留了繼承自Activity、Service、

Application、BroadcastReceiver、ContentProvider等基本組件以及

com.android.vending.licensing.ILicensingService,

并保留了所有的Native變量名及類名,所有類中部分以設(shè)定了固定參數(shù)格式的構(gòu)造函數(shù),枚舉等等。(詳細(xì)信息請(qǐng)參考proguard_path/examples中的例子及注釋。)

讓proguard.cfg起作用的做法很簡單,就是在eclipse自動(dòng)生成的default.properties文件中加上一句“proguard.config=proguard.cfg”就可以了

完整的default.properties文件應(yīng)該如下:

[html] view

plaincopyprint?

1. # This file is automatically generated by Android Tools.

2. # Do not modify this file -- YOUR CHANGES WILL BE ERASED!

3. #

4. # This file must be checked in Version Control Systems.

5. #

6. # To customize properties used by the Ant build system use,

7. # "build.properties", and override values to adapt the script to your

8. # project structure.

9.

10. # Project target.

11. target=android-9

12. proguard.config=proguard.cfg

大功告成,正常的編譯簽名后就可以防止代碼被反編譯了。反編譯經(jīng)過代碼混淆的apk得到的代碼應(yīng)該類似于下面的效果,是很難看懂的:

如果您使用的是2.3之前的SDK版本也沒關(guān)系,把上面的proguard.cfg文件復(fù)制一份放到項(xiàng)目中,然后進(jìn)行相同的操作即可

我反編譯了apk,java代碼不怎么懂,能幫我下么

你想問什么,這段代碼實(shí)現(xiàn)了什么功能是嗎?看著像是轉(zhuǎn)換字符串?dāng)?shù)據(jù)的。

當(dāng)前標(biāo)題:apk更新java代碼 修改apk代碼
轉(zhuǎn)載來于:http://chinadenli.net/article0/dodehoo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版面包屑導(dǎo)航、網(wǎng)頁設(shè)計(jì)公司、靜態(tài)網(wǎng)站、品牌網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)