1. 軟體格式為APK的
android手機軟體
APK是Android
Package的縮寫,即Android安裝包(anapk)。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位元組碼。一個APK文件結構為:
META-INF\
Jar文件中常可以看到
res\
存放資源文件的目錄
AndroidManifest.xml
程序全局配置文件
classes.dex
Dalvik位元組碼
resources.arsc
編譯後的二進制資源文件總結下我們發現Android在運行一個程序時首先需要UnZip,然後類似Symbian那樣直接,和Windows
Mobile中的PE文件有區別,這樣做對於程序的保密性和可靠性不是很高,通過dexmp命令可以反編譯,但這樣做符合發展規律,微軟的
Windows
Gadgets或者說WPF也採用了這種構架方式。在Android平台中dalvik
vm的執行文件被打包為apk格式,最終運行時載入器會解壓然後獲取編譯後的androidmanifest.xml文件中的permission分支相關的安全訪問,但仍然存在很多安全限制,如果你將apk文件傳到/system/app文件夾下會發現執行是不受限制的。最終我們平時安裝的文件可能不是這個文件夾,而在android
rom中系統的apk文件默認會放入這個文件夾,它們擁有著root許可權。
2. WPF,反編譯工具能看到XAML嗎
1. 首先,手動創建一個WPF工程(WpfApplicationReflectorDemo)
2. 把生成的WpfApplicationReflectorDemo.exe 拖到ILSpy里
3. 點擊 File -> Save Code...: 相應的代碼會生成到指定地方。
4. 打開應用程序,並且編譯它,此時程序會報如下錯誤。主要原因是缺少相應的WPF所必備的DLL--WindowsBase和PresentationCore。添加這兩個dll之後程序會編譯通過。
5. 這時我們還需要把相應的.XAML添加到應用程序中,我們在WpfApplicationReflectorDemo這個目錄下添加與MainWindow.cs相關的MainWindow.xaml並且修改MainWindow.cs -->MainWindow.xaml.cs.與WPF的風格保持一致。這個時候我們需要把第二步看到的mainwindow.baml.中的內容添加到剛剛加入的MainWindow.xaml
6. 這時我們需要到MainWindow.xaml.cs去刪除一些多餘反編譯出來的屬性,欄位和方法。並且在public class MainWindow加訪問修飾符 partial
[GeneratedCode("PresentationBuildTasks", "4.0.0.0")]
internal TextBlock textBlock1;
private bool _contentLoaded;
public void InitializeComponent()
void IComponentConnector.Connect
7.添加App.xaml.去刪除一些多餘反編譯出來的屬性和方法.並且在public class App加訪問修飾符 partial
[GeneratedCode("PresentationBuildTasks", "4.0.0.0")]
public void InitializeComponent()
7. 最後刪掉mainwindow.baml
3. ubant中怎麼把.pack轉換為 jar
ubant中怎麼把.pack轉換為 jar
一個APK文件結構為:
res/ 存放資源文件的目錄
META-INF/ Jar文件中常可以看到
resources.arsc 編譯後的二進制資源文件,主要是程序中使用字元串!
AndroidManifest.xml 程序全局配置文件
classes.dex Dalvik位元組碼文件,我們寫的JAVA文件被編譯成DEX格式的位元組碼了
總結下我們發現Android在運行一個程序時首先需要UnZip,然後類似Symbian那樣直接,和Windows Mobile中的PE文件有區別,這樣做對於程序的保密性和可靠性不是很高,通過dexmp命令可以反編譯,但這樣做符合發展規律,微軟的 Windows Gadgets或者說WPF也採用了這種構架方式。
4. Android的APK包里的文件類型都是什麼
一個APK文件結構為: res/ 存放資源文件的目錄 META-INF/ Jar文件中常可以看到 resources.arsc 編譯後的二進制資源文件,主要是程序中使用字元串! AndroidManifest.xml 程序全局配置文件 classes.dex Dalvik位元組碼文件,我們寫的JAVA文件被編譯成DEX格式的位元組碼了 總結下我們發現Android在運行一個程序時首先需要UnZip,然後類似Symbian那樣直接,和Windows Mobile中的PE文件有區別,這樣做對於程序的保密性和可靠性不是很高,通過dexmp命令可以反編譯,但這樣做符合發展規律,微軟的 Windows Gadgets或者說WPF也採用了這種構架方式。 1. Java文件-----應用程序源文件 我想這是大家聽到android時就聽到的文件,android本身相當一部分都是用java編寫而成(基本上架構圖里頭藍色的部份都是用Java開發的),android的應用必須使用java來開發。 2. Class文件------Java編譯後的目標文件 不像通常我們使用的J2se,java編譯成class就可以直接運行,android平台上class文件不能直接在android上運行。由於Google使用了自己Dalvik來運行應用,所以這里的class也肯定不能在sun的java環境中運行,我個人感覺android的class文件實際上只是編譯過程中的中間目標文件,需要鏈接成dex文件後才能在dalvik上運行。 3. Dex文件-----Android平台上的可執行文件 Android虛擬機Dalvik支持的位元組碼文件格式Google在新發布的Android平台上使用了自己的Dalvik虛擬機來定義,這種虛擬機執行的並非Java位元組碼,而是另一種位元組碼:dex格式的位元組碼。在編譯Java代碼之後,通過Android平台上的工具可以將Java位元組碼轉換成Dex位元組碼。雖然Google稱Dalvik是為了移動設備定做的,但是業界很多人認為這是為了規避向sun申請Java license。由於沒有太多的細節公開,現在還找不到Dalvik的具體實現,只能根據SDK做一些簡單的分析工作。 這個Dalvik VM針對手機程式/CPU做過最佳化,可以同時執行許多VM而不會佔用太多Resource,Dalvik VM的source目前還沒有開放讓人下載(未來整個系統都會開放),目前Google的角度是希望能讓大家用這套SDK開始開發AP,底層的東西會慢慢發布。 4. Apk文件-------Android上的安裝文件 Apk是Android安裝包的擴展名,一個Android安裝包包含了與某個Android應用程序相關的所有文件。 apk文件將AndroidManifest.xml文件、應用程序代碼(.dex文件)、資源文件和其他文件打成一個壓縮包。
5. WPF應用程序會被反編譯嗎
------解決方案--------------------
WPF程序當然能被反編譯,但是xaml部分會變成bmal,不過內容和原先的xmal出入很大
------解決方案--------------------
沒做混淆的都能反編譯。問題是很難再改了。除非代碼量很少的。
6. WPF反編譯之後的xaml如何恢復
先點上邊的顯示所有文件,排除的文件就會顯示出來了,在文件上右擊,選 「包括在項目中"
7. 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位元組碼。一個APK文件結構為: META-INF Jar文件中常可以看到 res 存放資源文件的目錄 AndroidManifest.xml 程序全局配置文件 classes.dex Dalvik位元組碼 resources.arsc 編譯後的二進制資源文件總結下我們發現Android在運行一個程序時首先需要UnZip,然後類似Symbian那樣直接,和Windows Mobile中的PE文件有區別,這樣做對於程序的保密性和可靠性不是很高,通過dexmp命令可以反編譯,但這樣做符合發展規律,微軟的 Windows Gadgets或者說WPF也採用了這種構架方式。在Android平台中dalvik vm的執行文件被打包為apk格式,最終運行時載入器會解壓然後獲取編譯後的androidmanifest.xml文件中的permission分支相關的安全訪問,但仍然存在很多安全限制,如果你將apk文件傳到/system/app文件夾下會發現執行是不受限制的。
8. APP和軟體有什麼區別
APP是Application的簡稱,也就是應用程序,一般指的是安裝在移動設備(手機、平板)上的應用程序。
軟體的話
軟體=程序+文檔
一個軟體中,程序是為了完成特定需求而編寫的命令集合,這也是軟體必不可少的因素,但是除了程序,軟體中還應該有編寫程序時需要的圖片、文檔等文件
我們以一個軟體為例:
在軟體安裝目錄中隨便進入一個文件夾內,我們可以看到有應用程序以及各種文件
9. wpf System.Windows.Documents.TextEditor 介面 c#
那說明微軟沒公開嘛,只是內部用的,所以就沒必要寫到msdn裡面。
10. WPF中xmlns:d什麼意思反編譯後找不到它映射的命名空間
這是ide的程序集,沒在你編譯出來的結果裡面(去vs安裝目錄找有可能找得到)